網路負載平衡

適用於:Windows Server 2022、Windows Server 2019、Windows Server 2016

在本主題中,我們向您概述 Windows Server 2016 中的 Network Load Balancing (NLB) 功能。 您可以使用 NLB 將兩台或多台伺服器作為單一虛擬資料林集進行管理。 NLB 增強了 Internet 伺服器應用程式的可用性和可擴充性,例如 Web、FTP、防火牆、代理程式、虛擬私人網路 (VPN) 和其他關鍵任務伺服器上使用的應用程式。

注意

Windows Server 2016 包含一個受 Azure-inspired Software Load Balancer (SLB),作為 Software Defined Networking (SDN) 基礎架構的元件。 如果您使用 SDN、使用非 Windows 工作負載、需要外部網路位址轉換 (NAT) 或需要第 3 層 (L3) 或基於非 TCP 的負載平衡,請使用 SLB 而非 NLB。 您可以繼續將 NLB 與 Windows Server 2016 結合使用以進行非 SDN 部署。 有關 SLB 的更多資訊,請參閱SDN 的軟體負載平衡 (SLB)

網路負載平衡 (NLB) 功能會使用 TCP/IP 網路通訊協定來分散多部伺服器之間的流量。 透過將兩部或更多部執行應用程式的電腦結合成單一虛擬叢集,NLB 可以提供網頁伺服器和其他關鍵伺服器所需的可靠性和效能。

NLB 叢集中的伺服器稱為「主機」,而且每部主機都會執行不同複本的伺服器應用程式。 NLB 將連入的用戶端要求分配給叢集中的各個主機。 您可以設定每部主機要處理的負載。 您也可以將主機動態新增至叢集,以處理增加的負載。 此外,NLB 可以將所有流量導向指定的單一主機,該主機稱為「預設主機」

NLB 允許利用同一組 IP 位址將叢集中的所有電腦定址,而且它會針對每部主機維護一組唯一的固定 IP 位址。 對於負載平衡應用程式,當主機失效或離線時,叢集功能會自動將負載重新分配到仍在運作中的電腦。 準備好時,離線電腦可以通透方式重新加入叢集,並重新取得它的工作量共用,這能讓叢集中的其他電腦處理較少的流量。

實際應用

NLB 特別適合用於確保以最短的停機時間提供無狀態應用程式 (例如,執行網際網路資訊服務 (IIS) 的網頁伺服器),而且它們是可擴充的 (在負載增加時新增額外的伺服器)。 下列各節說明 NLB 如何支援執行這些應用程式的叢集伺服器之高可用性、延展性和管理性。

高可用性

高可用性的系統能可靠地以最短的停機時間提供可接受的服務等級。 NLB 包含的內建功能可自動進行下列動作來提供高可用性:

  • 偵測失敗或離線的叢集主機,然後復原。

  • 新增或移除主機時平衡網路負載。

  • 10 秒內復原並重新分散工作負載。

延展性

延展性是測量電腦、服務或應用程式可以擴充至何種程度以符合漸增之效能需求的一種方式。 對於 NLB 叢集而言,延展性是指叢集的整體負載超過其功能時,可持續為現有叢集新增一或多個系統的能力。 若要支援延展性,您可以使用 NLB 來執行下列動作:

  • 跨個別 TCP/IP 服務的 NLB 叢集平衡負載要求。

  • 在單一叢集中最多支援 32 部電腦。

  • 跨叢集中多部主機平衡多個伺服器負載要求 (來自同一個用戶端或來自數個用戶端)。

  • 當負載增加時將主機新增至 NLB 叢集,而不會造成叢集失敗。

  • 當負載降低時,從叢集移除主機。

  • 透過完整管線實作啟用高效能與低負載。 管線可將要求傳送到 NLB 叢集,而不必等候前一個要求的回應。

管理能力

您可以使用 NLB 來執行下列動作以支援管理性:

  • 使用 NLB 管理器或 Windows PowerShell 中的網路負載平衡 (NLB) Cmdlet 從電腦管理和設置多個 NLB 資料林集和資料林集主機。

  • 使用連接埠管理規則來指定單一 IP 連接埠或連接埠群組的負載平衡行為。

  • 為每個網站定義不同的連接埠規則。 若您對多個應用程式或網站使用同一組負載平衡伺服器,連接埠規則是根據目的地的虛擬 IP 位址 (使用虛擬叢集)。

  • 使用選擇性的單一主機規則,將所有用戶端要求導向到單一主機。 NLB 會將用戶端要求路由傳送到執行特定應用程式的特定主機。

  • 封鎖特定 IP 連接埠不需要的網路存取權。

  • 在多點傳送模式下操作時,啟用在叢集主機上對於群組管理通訊協定 (IGMP) 的支援,以控制交換器連接埠流量 (即連入網路封包傳送到交換器上的所有連接埠)。

  • 使用 Windows PowerShell 命令或指令碼,遠端啟動、停止和控制 NLB 動作。

  • 檢視 Windows 事件記錄檔來檢查 NLB 事件。 NLB 會在事件記錄檔中記錄所有動作與叢集變更。

重要功能

NLB 以標準 Windows Server 網路驅動程式元件安裝。 其操作對 TCP/IP 網路堆疊而言是透明的。 下圖顯示了典型設置中 NLB 與其他軟體元件之間的關係。

Network Load Balancing and other software components

以下是 NLB 的主要功能。

  • 不需要硬體變更就可以執行。

  • 提供網路負載平衡工具可讓您自單一遠端或本機電腦設定和管理多個叢集與所有主機。

  • 可讓用戶端使用單一邏輯網際網路名稱,以及稱為叢集 IP 位址 (它會保留每部電腦的個別名稱) 的虛擬 IP 位址來存取叢集。 NLB 允許多重主目錄伺服器使用多個虛擬 IP 位址。

注意

當您將 VM 部署為虛擬資料林集時,NLB 不需要伺服器是多宿主的以擁有多個虛擬 IP 位址。

  • NLB 可繫結到多個網路介面卡,讓您在每部主機上設定多個獨立叢集。 支援多個網路介面卡與虛擬叢集的不同之處,在於虛擬叢集可讓您在單一網路介面卡上設定多個叢集。

  • 不需要對伺服器應用程式進行修改,它們就可以在 NLB 叢集中執行。

  • 如果叢集主機失效並且之後恢復上線,可以設定成將主機自動新增到叢集。 新增的主機可以開始處理來自用戶端的新伺服器要求。

  • 可讓您使電腦離線以進行預防性維護,而不干擾其他主機上的叢集操作。

硬體需求

以下是執行 NLB 群集的硬體需求。

  • 在叢集中的所有主機都必須在相同的子網路上。

  • 在每部主機上的網路介面卡數目並沒有限制,且不同主機的介面卡數目可以不同。

  • 每個叢集內的所有網路介面卡必須都是多點傳送或或都是單點傳播。 NLB 不支援單一叢集內混合使用多點傳送與單點傳播的環境。

  • 如果您使用單點傳播模式,則用於處理用戶端對用戶端流量的網路介面卡必須支援變更其媒體存取控制 (MAC) 位址。

軟體需求

以下是執行 NLB 資料林集的軟體需求。

  • 只有 TCP/IP 可以用在每部主機上已啟用 NLB 的介面卡。 請勿將任何其他通訊協定 (例如 IPX) 新增至此介面卡。

  • 叢集中伺服器的 IP 位址必須是靜態的。

注意

NLB 不支援動態主機設定通訊協定 (DHCP)。 NLB 會停用它所設定的每個介面上的 DHCP。

安裝資訊

您可以使用伺服器管理員或 NLB 的 Windows PowerShell 命令來安裝 NLB。

您也可以選擇性地安裝網路負載平衡工具來管理本機或遠端 NLB 叢集。 這些工具包括網路負載平衡管理器和 NLB Windows PowerShell 命令。

使用伺服器管理員安裝

在伺服器管理員中,您可以使用新增角色和功能精靈來新增網路負載平衡功能。 完成精靈後,NLB 已安裝,並且無需重新啟動電腦。

使用 Windows PowerShell 安裝

若要使用 Windows PowerShell 安裝 NLB,請在要安裝 NLB 的電腦上在提升的 Windows PowerShell 提示字元處執行下列命令。

Install-WindowsFeature NLB -IncludeManagementTools

安裝完成後,無需重新啟動電腦。

更多詳細資訊,請參閱安裝 WindowsFeature

網路負載平衡管理器

若要在伺服器管理員開啟網路負載平衡管理員,請按一下 [工具],然後按一下 [網路負載平衡管理員]

其他資源

下表提供了有關 NLB 功能的其他資訊的連結。

內容類型 參考資料
部署 網路負載平衡部署指南 | 使用終端服務設置網路負載平衡
Operations 管理網路負載平衡資料林集 | 設置網路負載平衡參數 | 控制網路負載平衡資料林集上的主機
疑難排解 網路負載平衡群集故障排除 | NLB 群集事件和錯誤
工具及設定 網路負載平衡 Windows PowerShell Cmdlet
社群資源 高可用性 (叢集) 論壇