共用方式為


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

適用於:Azure 本機版本 23H2 和 22H2;Windows Server 2022、Windows Server 2019、Windows Server 2016

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

軟體Load Balancer可以整合 RAS 閘道資料中心防火牆路由反映器等 SDN 技術,以提供多租用戶統一邊緣。

注意

網路控制站不支援 VLAN 的多租使用者。 不過,您可以將 VLAN 與 SLB 搭配使用,以用於服務提供者受控工作負載,例如數據中心基礎結構和高密度網頁伺服器。

使用軟體負載平衡器,您可以在用於其他 VM 工作負載的相同 Hyper-V 計算伺服器上,使用 SLB 虛擬機(VM)相應放大負載平衡功能。 因此,軟體負載平衡器支援快速建立和刪除 CSP 作業所需的負載平衡端點。 此外,軟體 Load Balancer 支援每個系統數十 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 主機之間分割的雙步驟程式中執行:

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

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

MUX 知道如何將VIP對應至正確的 DIP,因為您使用網路控制站所定義的負載平衡原則。 這些規則包括通訊協定、前埠、後埠和散發演算法(5、3 或 2 個 Tuple)。

當租使用者 VM 回應並將輸出網路流量傳回因特網或遠端租使用者位置時,因為 NAT 是由 Hyper-V 主機執行,流量會略過 MUX,並直接從 Hyper-V 主機移至邊緣路由器。 這個 MUX 略過程式稱為「直接伺服器傳回」(DSR)。

建立初始網路流量之後,輸入網路流量會完全略過 SLB MUX。

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

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

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

  3. 實體網路有多個路徑可供連線到任何 MUX 上的 VIP。 一路上的每個路由器都會使用 ECMP 來挑選路徑的下一個區段,直到要求到達 MUX 為止。

  4. 接收要求檢查已設定原則的 MUX,並看到虛擬網路上有兩個可用的 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. 要求會到達伺服器陣列 2 中的 Contoso SharePoint 網站。 伺服器會產生回應,並使用自己的IP位址作為來源,將它傳送至用戶端。

  8. 主機會攔截虛擬交換器中的傳出封包,這記得客戶端現在是目的地,已向VIP提出原始要求。 主機會將封包的來源重寫為VIP,讓用戶端看不到 DIP 位址。

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

軟體負載平衡程式。

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

當數據中心內部的網路流量負載平衡時,例如在不同伺服器上執行的租用戶資源與相同虛擬網路的成員之間,VM 所連接的 Hyper-V 虛擬交換器會執行 NAT。

使用內部流量負載平衡時,MUX 會將第一個要求傳送至 MUX 並進行處理,該要求會選取適當的 DIP,然後將流量路由傳送至 DIP。 從該點開始,建立的流量流程會略過 MUX,並直接從 VM 到 VM。

健康情況探查

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

  • TCP 探查至埠

  • 埠和 URL 的 HTTP 探查

不同於探查源自設備的傳統負載平衡器設備,並透過網路傳輸至 DIP,SLB 探查源自 DIP 所在的主機,並直接從 SLB 主機代理程式移至 DIP,進一步將工作分散到主機。

軟體Load Balancer基礎結構

您必須先部署網路控制站和一或多個 SLB MUX VM,才能設定軟體負載平衡器。

此外,您必須使用已啟用 SDN 的 Hyper-V 虛擬交換器來設定 Azure 本機主機,並確定 SLB 主機代理程式正在執行。 提供主機的路由器必須支援 ECMP 路由和邊界閘道通訊協定 (BGP),而且必須設定它們接受來自 SLB MUX 的 BGP 對等互連要求。

下圖提供 SLB 基礎結構的概觀。

軟體Load Balancer基礎結構。

下列各節提供軟體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,這可讓作用中的 MUX 在 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-VMSystemSwitchExtensionEnable-VMSwitchExtension

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

  • 處理 SLB 的資料路徑。

  • 從 MUX 接收輸入網路流量。

  • 略過 MUX 進行輸出網路流量,並使用 DSR 將其傳送至路由器。

BGP 路由器

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

  • 使用 ECMP 將輸入流量路由傳送至 MUX。

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

  • 接聽 SLB MUX 中 VIP 的路由更新。

  • 如果 Keep Alive 失敗,請從 SLB 旋轉中移除 SLB MUX。

軟體 Load Balancer 功能

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

核心功能

  • 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%。

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

下一步

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