什麼是適用於 SDN 的軟體負載平衡器 (SLB)?
適用於:Azure Local 2311.2 和更新版本;Windows Server 2022、Windows Server 2019、Windows Server 2016
部署軟體定義網路 (SDN) 的雲端服務提供者 (CSP) 和企業 可以使用軟體負載平衡器 (SLB) 在虛擬網路資源之間平均分散租使用者和租使用者客戶網路流量。 SLB 可讓多個伺服器主控相同的工作負載,以提供高可用性和可擴縮性。
軟體負載平衡器可以與 SDN 技術整合,如 RAS 閘道、資料中心防火牆和路由反映器,以提供多租戶的統一邊緣。
注意
Network Controller不支援VLAN 的多重租戶。 不過,您可以將 VLAN 與 SLB 搭配使用,以用於服務提供者受控工作負載,例如數據中心基礎結構和高密度網頁伺服器。
使用軟體負載平衡器,您可以在與其他 VM 工作負載相同的 Hyper-V 計算伺服器上,使用 SLB 虛擬機(VM)來擴展負載平衡功能。 因此,軟體負載平衡器支援快速建立和刪除 CSP 作業所需的負載平衡端點。 此外,軟體負載平衡器支援每個系統達數十 GB,提供簡單的配置模型,並且便於擴展和縮減。
若要瞭解如何使用 Windows Admin Center 管理軟體負載平衡器原則,請參閱 管理 SDN 的軟體負載平衡器。
軟體負載平衡器包含哪些內容?
軟體 Load Balancer 包含下列功能:
第 4 層 (L4) 負載平衡服務,適用於南北和東/西 TCP/UDP 流量。
公用網路和內部網路流量負載平衡。
虛擬局域網(VLAN)以及使用 Hyper-V 網路虛擬化所建立的虛擬網路上支援動態 IP 位址(DIP)。
健康檢測支援。
準備好支援雲端擴展,包括多工器和主機代理的向外擴充能力和向上擴充能力。
如需詳細資訊,請參閱 本文中的軟體Load Balancer功能 。
軟體負載平衡器的運作方式
軟體 Load Balancer 的運作方式是將虛擬 IP 位址 (VIP) 對應至屬於資料中心內雲端服務集資源的 DIP。
VIP 是單一IP位址,可提供負載平衡 VM 集區的公用存取權。 例如,VIP 是因特網上公開的IP位址,讓租使用者和租用戶客戶可以連線到雲端數據中心內的租用戶資源。
DIP 是VIP後方負載平衡集區成員 VM 的IP位址。 雲端架構內會將 DIP 指派給租戶資源。
VIP 位於 SLB 多任務器 (MUX) 中。 MUX 是由一或多個 VM 所組成。 網路控制站會為每個 MUX 提供每個 VIP,而每個 MUX 接著會使用邊界閘道通訊協定 (BGP) 將每個 VIP 公告給實體網路上的路由器作為 /32 路由。 BGP 允許實體網路路由器:
瞭解每個 MUX 都有可用的 VIP,即使這些 MUX 位於第 3 層網路的不同子網中。
使用等價多重路徑 (ECMP) 路由,將每個 VIP 的負載分散到所有可用的 MUX。
自動偵測 MUX 失敗或移除,並停止將流量傳送至失敗的 MUX。
將負載從失效或已移除的 MUX 分散至運行正常的 MUX 裡。
當公用流量從因特網抵達時,SLB MUX 會檢查流量,其中包含VIP作為目的地,並對應並重寫流量,使其到達個別 DIP。 針對入站網路流量,此交易會在 MUX VM 和目的地 DIP 所在的 Hyper-V 主機之間進行分步處理的雙步驟過程中執行:
負載平衡 - MUX 會使用VIP來選取 DIP、封裝封包,並將流量轉送至 DIP 所在的 Hyper-V 主機。
網路位址轉換 (NAT) - Hyper-V 主機會從封包中移除封裝、將 VIP 轉譯為 DIP、重新對應埠,並將封包轉送至 DIP VM。
MUX 知道如何將 VIP 對應至正確的 DIP,因為您使用 Network Controller 所定義的負載平衡原則。 這些規則包括協定、前端埠、後端埠以及分配算法(5、3 或 2 個屬性組)。
當租使用者 VM 回應並將輸出網路流量傳回因特網或遠端租使用者位置時,因為 NAT 是由 Hyper-V 主機執行,流量會略過 MUX,並直接從 Hyper-V 主機移至邊緣路由器。 這個 MUX 略過流程稱為「直接伺服器返回」(DSR)。
建立初始網路流量之後,入站網路流量會完全繞過 SLB MUX。
在下圖中,用戶端計算機會針對公司 SharePoint 網站的 IP 位址執行 DNS 查詢,在此案例中為名為 Contoso 的虛構公司。 發生以下過程:
DNS 伺服器會將VIP 107.105.47.60傳回給用戶端。
用戶端會將 HTTP 要求傳送至 VIP。
實體網路中有多條路徑可以連接到位於任何 MUX 上的 VIP。 一路上的每個路由器都會使用 ECMP 來挑選路徑的下一個區段,直到要求到達 MUX 為止。
接收到要求的 MUX 會檢查已設定的原則,並發現虛擬網路上有兩個可用的 DIP(10.10.10.5 和 10.10.20.5),可以處理發送至 VIP 107.105.47.60 的要求。
MUX 會選取 DIP 10.10.10.5,並使用 VXLAN 封裝封包,以便使用主機的實體網路位址將它傳送至包含 DIP 的主機。
主機接收到封裝的封包,並檢查它。 它會移除封裝並重寫封包,讓目的地現在是 DIP 10.10.10.5,而不是 VIP,然後將流量傳送至 DIP VM。
請求會到達伺服器陣列 2 的 Contoso SharePoint 網站。 伺服器會產生回應,並使用自己的IP位址作為來源,將它傳送至用戶端。
主機會在虛擬交換器中攔截已經送出的封包,該交換器記得客戶端現已成為目的地,此客戶端曾向VIP提出原始要求。 主機會將封包的來源重寫為VIP,讓用戶端看不到 DIP 位址。
主機會將封包直接轉送給默認閘道,默認閘道使用其標準路由表將封包轉送到客戶端,最終客戶端會收到回應。
負載平衡內部數據中心流量
當數據中心內部的網路流量負載平衡時,例如在不同伺服器上執行的租用戶資源與相同虛擬網路的成員之間,VM 所連接的 Hyper-V 虛擬交換器會執行 NAT。
使用內部流量負載平衡時,第一個要求會被傳送到 MUX 並由其進行處理,MUX 會選擇適當的 DIP,然後將流量路由至該 DIP。 從那時起,建立的流量會繞過 MUX,直接在 VM 之間傳輸。
健康檢測
軟體 Load Balancer 包含健康情況探查,以驗證網路基礎結構的健康情況,包括下列各項:
TCP 探測至端口
埠和 URL 的 HTTP 探查
不同於傳統負載平衡設備的方式,該設備的探測會從設備發出,經過網絡傳輸至 DIP,SLB 的探測則是從 DIP 所在的主機發出,並直接由 SLB 主機代理程式傳送至 DIP,進一步將工作分散到各主機。
軟體負載平衡器基礎結構
您必須先部署網路控制站和一或多個 SLB MUX VM,才能設定軟體負載平衡器。
此外,您必須使用已啟用 SDN 的 Hyper-V 虛擬交換器來設定 Azure 本機主機,並確定 SLB 主機代理程式正在執行。 提供主機的路由器必須支援 ECMP 路由和邊界閘道通訊協定 (BGP),而且必須設定它們接受來自 SLB MUX 的 BGP 對等互連要求。
下圖提供 SLB 基礎結構的概觀。
下列各節提供軟體Load Balancer基礎結構這些元素的詳細資訊。
網路控制卡
網路控制站會裝載 SLB 管理員,並為軟體負載平衡器執行下列動作:
處理透過 Windows Admin Center、System Center、Windows PowerShell 或其他網路管理應用程式透過 Northbound API 傳入的 SLB 命令。
計算分配到 Azure 本地主機和 SLB MUX 的政策。
提供軟體Load Balancer基礎結構的健全狀態。
您可以使用 Windows Admin Center 或 Windows PowerShell 來安裝和設定網路控制站和其他 SLB 基礎結構。
SLB MUX
SLB MUX 會處理輸入的網路流量,並將 VIP 對應至 DIP,然後將流量轉送至正確的 DIP。 每個 MUX 也會使用 BGP 將 VIP 路由發布至邊緣路由器。 當某個 MUX 發生故障時,「BGP 保持活躍」會通知其他 MUX,使它們能在發生故障時重新分配負載。 這基本上會為負載平衡器提供負載平衡。
SLB 主機代理程式
當您部署軟體負載平衡器時,必須使用 Windows Admin Center、System Center、Windows PowerShell 或其他管理應用程式,在每個主機伺服器上部署 SLB 主機代理程式。
SLB 主機代理程式會接收來自網路控制器的 SLB 原則更新。 此外,主機代理程式會將 SLB 的規則寫入本機電腦上配置的支援 SDN 的 Hyper-V 虛擬交換器。
已啟用 SDN 的 Hyper-V 虛擬交換器
若要讓虛擬交換器與 SLB 相容,虛擬篩選平臺 (VFP) 擴充功能必須在虛擬交換器上啟用。 這會自動由 SDN 部署 PowerShell 腳本、Windows Admin Center 部署精靈和 System Center Virtual Machine Manager (SCVMM) 部署來完成。
如需在虛擬交換器上啟用 VFP 的資訊,請參閱 Windows PowerShell 命令 Get-VMSystemSwitchExtension 和 Enable-VMSwitchExtension。
已啟用 SDN 的 Hyper-V 虛擬交換器會針對 SLB 執行下列動作:
處理 SLB 的資料路徑。
從 MUX 接收輸入網路流量。
略過 MUX 進行輸出網路流量,並使用 DSR 將其傳送至路由器。
BGP 路由器
BGP 路由器會針對軟體負載平衡器執行下列動作:
使用 ECMP 將入向流量路由至 MUX。
針對輸出網路流量,請使用主機所提供的路由。
監聽來自 SLB MUX 的 VIP 路由更新。
當 Keep Alive 失敗時,將 SLB MUX 從 SLB 旋轉中移除。
軟體負載平衡器功能
下列各節說明軟體負載平衡器的一些特性和功能。
核心功能
SLB 提供第 4 層負載平衡服務,適用於南北向和東西向的 TCP/UDP 流量。
您可以在 Hyper-V 網路虛擬化型網路上使用 SLB。
您可以使用 SLB 搭配 VLAN 型網路,讓 DIP VM 連線到已啟用 SDN 的 Hyper-V 虛擬交換器。
一個 SLB 實例可以處理多個租戶。
SLB 和 DIP 支援可調整且低延遲的傳回路徑,如 DSR 所實作。
當您同時使用 Switch Embedded Teaming(SET)或單一根輸入/輸出虛擬化(SR-IOV)時,SLB 會運作。
SLB 包含因特網通訊協定第 6 版 (IPv6) 和第 4 版 (IPv4) 支援。
針對站對站網關案例,SLB 提供 NAT 功能,讓所有站對站連線都能夠使用單一公用 IP。
規模與效能
準備好達到雲端規模,包括 MUX 和主機代理程式的橫向擴展和縱向擴展功能。
一個作用中的 SLB 管理員網路控制站模組可以支援八個 MUX 實例。
高可用性
您可以將 SLB 部署到使用中/主動組態中的兩個以上的節點。
MUX 可以新增到 MUX 集區中或從中移除,不會影響 SLB 服務。 這會在修補個別 MUX 時維護 SLB 可用性。
個別 MUX 實例的運行時間為 99%。
管理實體可以使用健康情況監視數據。
下一步
如需相關資訊,另請參閱: