共用方式為


什麼是適用於 SDN 的軟體負載平衡器 (SLB)?

適用於:Azure Local 2311.2 和更新版本;Windows Server 2022、Windows Server 2019、Windows Server 2016

部署軟體定義網路 (SDN) 的雲端服務提供者 (CSP) 和企業 可以使用軟體負載平衡器 (SLB) 在虛擬網路資源之間平均分散租使用者和租使用者客戶網路流量。 SLB 可讓多個伺服器主控相同的工作負載,以提供高可用性和可擴縮性。

Software Load Balancer can provide a multitenant, unified edge by integrating with SDN technologies such as RAS Gateway, Datacenter Firewall, and Route Reflector.

Note

Multitenancy for VLANs is not supported by Network Controller. 不過,您可以將 VLAN 與 SLB 搭配使用,以用於服務提供者受控工作負載,例如數據中心基礎結構和高密度網頁伺服器。

使用軟體負載平衡器,您可以在與其他 VM 工作負載相同的 Hyper-V 計算伺服器上,使用 SLB 虛擬機(VM)來擴展負載平衡功能。 因此,軟體負載平衡器支援快速建立和刪除 CSP 作業所需的負載平衡端點。 此外,軟體負載平衡器支援每個系統達數十 GB,提供簡單的配置模型,並且便於擴展和縮減。

若要瞭解如何使用 Windows Admin Center 管理軟體負載平衡器原則,請參閱 管理 SDN 的軟體負載平衡器。

軟體負載平衡器包含哪些內容?

軟體 Load Balancer 包含下列功能:

  • 第 4 層 (L4) 負載平衡服務,適用於南北和東/西 TCP/UDP 流量。

  • 公用網路和內部網路流量負載平衡。

  • 虛擬局域網(VLAN)以及使用 Hyper-V 網路虛擬化所建立的虛擬網路上支援動態 IP 位址(DIP)。

  • Health probe support.

  • Ready for cloud scale, including scale-out capability and scale-up capability for multiplexers and host agents.

如需詳細資訊,請參閱 本文中的軟體Load Balancer功能

軟體負載平衡器的運作方式

軟體 Load Balancer 的運作方式是將虛擬 IP 位址 (VIP) 對應至屬於資料中心內雲端服務集資源的 DIP。

VIP 是單一IP位址,可提供負載平衡 VM 集區的公用存取權。 例如,VIP 是因特網上公開的IP位址,讓租使用者和租用戶客戶可以連線到雲端數據中心內的租用戶資源。

DIP 是VIP後方負載平衡集區成員 VM 的IP位址。 雲端架構內會將 DIP 指派給租戶資源。

VIPs are located in the SLB Multiplexer (MUX). MUX 是由一或多個 VM 所組成。 網路控制站會為每個 MUX 提供每個 VIP,而每個 MUX 接著會使用邊界閘道通訊協定 (BGP) 將每個 VIP 公告給實體網路上的路由器作為 /32 路由。 BGP 允許實體網路路由器:

  • Learn that a VIP is available on each MUX, even if the MUXes are on different subnets in a Layer 3 network.

  • 使用等價多重路徑 (ECMP) 路由,將每個 VIP 的負載分散到所有可用的 MUX。

  • Automatically detect a MUX failure or removal and stop sending traffic to the failed MUX.

  • Spread the load from the failed or removed MUX across the healthy MUXes.

When public traffic arrives from the internet, the SLB MUX examines the traffic, which contains the VIP as a destination, and maps and rewrites the traffic so that it arrives at an individual DIP. For inbound network traffic, this transaction is performed in a two-step process that is split between the MUX VMs and the Hyper-V host where the destination DIP is located:

  1. 負載平衡 - MUX 會使用VIP來選取 DIP、封裝封包,並將流量轉送至 DIP 所在的 Hyper-V 主機。

  2. 網路位址轉換 (NAT) - Hyper-V 主機會從封包中移除封裝、將 VIP 轉譯為 DIP、重新對應埠,並將封包轉送至 DIP VM。

The MUX knows how to map VIPs to the correct DIPs because of load balancing policies that you define by using Network Controller. 這些規則包括協定、前端埠、後端埠以及分配算法(5、3 或 2 個屬性組)。

當租使用者 VM 回應並將輸出網路流量傳回因特網或遠端租使用者位置時,因為 NAT 是由 Hyper-V 主機執行,流量會略過 MUX,並直接從 Hyper-V 主機移至邊緣路由器。 This MUX bypass process is called Direct Server Return (DSR).

And after the initial network traffic flow is established, the inbound network traffic bypasses the SLB MUX completely.

在下圖中,用戶端計算機會針對公司 SharePoint 網站的 IP 位址執行 DNS 查詢,在此案例中為名為 Contoso 的虛構公司。 發生以下過程:

  1. DNS 伺服器會將VIP 107.105.47.60傳回給用戶端。

  2. 用戶端會將 HTTP 要求傳送至 VIP。

  3. The physical network has multiple paths available to reach the VIP located on any MUX. 一路上的每個路由器都會使用 ECMP 來挑選路徑的下一個區段,直到要求到達 MUX 為止。

  4. 接收到要求的 MUX 會檢查已設定的原則,並發現虛擬網路上有兩個可用的 DIP(10.10.10.5 和 10.10.20.5),可以處理發送至 VIP 107.105.47.60 的要求。

  5. MUX 會選取 DIP 10.10.10.5,並使用 VXLAN 封裝封包,以便使用主機的實體網路位址將它傳送至包含 DIP 的主機。

  6. 主機接收到封裝的封包,並檢查它。 它會移除封裝並重寫封包,讓目的地現在是 DIP 10.10.10.5,而不是 VIP,然後將流量傳送至 DIP VM。

  7. The request reaches the Contoso SharePoint site in Server Farm 2. 伺服器會產生回應,並使用自己的IP位址作為來源,將它傳送至用戶端。

  8. The host intercepts the outgoing packet in the virtual switch, which remembers that the client, now the destination, made the original request to the VIP. 主機會將封包的來源重寫為VIP,讓用戶端看不到 DIP 位址。

  9. 主機會將封包直接轉送給默認閘道,默認閘道使用其標準路由表將封包轉送到客戶端,最終客戶端會收到回應。

軟體負載平衡程式。

負載平衡內部數據中心流量

When load balancing network traffic internal to the datacenter, such as between tenant resources that are running on different servers and are members of the same virtual network, the Hyper-V virtual switch to which the VMs are connected performs NAT.

使用內部流量負載平衡時,第一個要求會被傳送到 MUX 並由其進行處理,MUX 會選擇適當的 DIP,然後將流量路由至該 DIP。 From that point forward, the established traffic flow bypasses the MUX and goes directly from VM to VM.

健康檢測

軟體 Load Balancer 包含健康情況探查,以驗證網路基礎結構的健康情況,包括下列各項:

  • TCP probe to port

  • HTTP probe to port and URL

不同於傳統負載平衡設備的方式,該設備的探測會從設備發出,經過網絡傳輸至 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 命令。

  • Calculates policy for distribution to Azure Local hosts and SLB MUXes.

  • 提供軟體Load Balancer基礎結構的健全狀態。

您可以使用 Windows Admin Center 或 Windows PowerShell 來安裝和設定網路控制站和其他 SLB 基礎結構。

SLB MUX

The SLB MUX processes inbound network traffic and maps VIPs to DIPs, then forwards the traffic to the correct DIP. 每個 MUX 也會使用 BGP 將 VIP 路由發布至邊緣路由器。 當某個 MUX 發生故障時,「BGP 保持活躍」會通知其他 MUX,使它們能在發生故障時重新分配負載。 這基本上會為負載平衡器提供負載平衡。

SLB Host Agent

當您部署軟體負載平衡器時,必須使用 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-VMSystemSwitchExtensionEnable-VMSwitchExtension

已啟用 SDN 的 Hyper-V 虛擬交換器會針對 SLB 執行下列動作:

  • Processes the data path for SLB.

  • Receives inbound network traffic from the MUX.

  • Bypasses the MUX for outbound network traffic, sending it to the router using DSR.

BGP 路由器

BGP 路由器會針對軟體負載平衡器執行下列動作:

  • 使用 ECMP 將入向流量路由至 MUX。

  • 針對輸出網路流量,請使用主機所提供的路由。

  • Listens for route updates for VIPs from SLB MUX.

  • Removes SLB MUXes from the SLB rotation if Keep Alive fails.

軟體負載平衡器功能

下列各節說明軟體負載平衡器的一些特性和功能。

核心功能

  • SLB 提供第 4 層負載平衡服務,適用於南北向和東西向的 TCP/UDP 流量。

  • 您可以在 Hyper-V 網路虛擬化型網路上使用 SLB。

  • 您可以使用 SLB 搭配 VLAN 型網路,讓 DIP VM 連線到已啟用 SDN 的 Hyper-V 虛擬交換器。

  • 一個 SLB 實例可以處理多個租戶。

  • SLB 和 DIP 支援可調整且低延遲的傳回路徑,如 DSR 所實作。

  • SLB functions when you're also using Switch Embedded Teaming (SET) or Single Root Input/Output Virtualization (SR-IOV).

  • SLB 包含因特網通訊協定第 6 版 (IPv6) 和第 4 版 (IPv4) 支援。

  • 針對站對站網關案例,SLB 提供 NAT 功能,讓所有站對站連線都能夠使用單一公用 IP。

規模與效能

  • Ready for cloud scale, including scale-out and scale-up capability for MUXes and Host Agents.

  • 一個作用中的 SLB 管理員網路控制站模組可以支援八個 MUX 實例。

高可用性

  • 您可以將 SLB 部署到使用中/主動組態中的兩個以上的節點。

  • MUXes can be added and removed from the MUX pool without impacting the SLB service. This maintains SLB availability when individual MUXes are being patched.

  • 個別 MUX 實例的運行時間為 99%。

  • 管理實體可以使用健康情況監視數據。

下一步

如需相關資訊,另請參閱: