Windows Server 2008 R2 中的網路負載平衡 (NLB) 功能可增強網際網路伺服器應用程式 (如 Web、FTP、防火牆、Proxy、虛擬私人網路 (VPN) 以及其他關鍵伺服器上所用之應用程式) 的可用性與延展性。執行 Windows Server 2008 R2 的單一電腦提供的伺服器可靠性與可延展效能的程度有限。不過,將兩部或更多執行其中一種 Windows Server 2008 R2 產品的電腦資源結合成單一虛擬叢集,NLB 可以傳遞網頁伺服器和其他關鍵伺服器所需的可靠性和效能。

含四個主機的網路負載平衡叢集

上圖描述兩個連線的網路負載平衡叢集。第一個叢集包含兩部主機,而第二個叢集包含四部主機。這是 NLB 的一個使用範例。

每部主機個別執行想要的伺服器應用程式 (例如,適用於 Web、FTP 及 Telnet 伺服器的應用程式)。NLB 將內送的用戶端要求分配給叢集中的各個主機。您可以視需要設定每部主機處理的負載權數。您也可以將主機動態新增至叢集,以處理增加的負載。此外,NLB 可以將所有流量導向指定的單一主機,該主機稱為預設主機。

NLB 允許利用同一組叢集 IP 位址來處理叢集中的所有電腦,而且它會針對每部主機維護一組唯一的固定 IP 位址。對於負載平衡應用程式,當主機失效或離線時,叢集功能會自動將負載重新分派到仍在運作中的電腦。當電腦意外失效或離線時,與失效或離線伺服器的作用中連線會中斷。不過,如果您有意將主機關機,則可在電腦離線之前,先使用 drainstop 命令,來維持所有作用中連線。在任何情況中,當離線電腦準備就緒時,可以在背景重新加入叢集並重新分擔負載量,讓叢集中的其他電腦處理較少的流量。

NLB 叢集中的主機會交換活動訊號訊息以維護一致的叢集成員資格相關資料。根據預設,當主機無法在 5 秒內傳送活動訊號訊息,即已失敗。當一部主機失敗時,叢集中其餘主機會匯合並執行下列動作:

  • 確定哪些主機是仍在作用中的叢集成員。

  • 選擇優先順序最高的主機做為新預設主機。

  • 確定所有新用戶端要求可由仍正常運作的主機處理。

在匯合期間,仍正常運作的主機會尋找一致的活動訊號。若無法傳送活動訊號的主機開始一致地提供活動訊號,就會在匯合過程中重新加入叢集。當新主機嘗試加入叢集時,會傳送活動訊號訊息,這些訊息也會觸發匯合。當所有叢集主機對目前叢集成員資格取得一致之後,用戶端負載會重新分散到其餘主機並完成匯合。

匯合通常只花幾秒的時間,因此叢集對用戶端服務的中斷極短。匯合期間,仍在作用中的主機會繼續處理用戶端要求而不影響現有連線。當所有主機在幾個活動訊號期間內報告一致的叢集成員資格與分散對應檢視,匯合即結束。

NLB 的新功能為何?

Windows Server 2008 R2 的 NLB 包含下列增強功能:

  • 擴充親和性。在 NLB 叢集的組態變更時,[擴充] 選項可以保留用戶端親和性。即使用戶端和主機之間沒有使用中的現有連線,這個選項也允許用戶端和叢集主機保持親和性。

  • NLB 叢集 Windows PowerShell。Windows PowerShell 是全新的命令列殼層及指令碼語言。Windows PowerShell 可以加速系統管理工作的自動化。您可以使用 Windows PowerShell 來管理 NLB 叢集。如需使用 NLB 叢集 Windows PowerShell 的相關資訊,請參閱 https://go.microsoft.com/fwlink/?LinkId=140180 (可能為英文網頁)

  • 支援輪流升級。NLB 支援從 Windows Server 2003 至 Windows Server 2008 R2 以及從 Windows Server 2008 至 Windows Server 2008 R2 的輪流升級。如需 NLB 的部署資訊,包括輪流升級的資訊,請參閱 https://go.microsoft.com/fwlink/?LinkId=87253 (可能為英文網頁)

NLB 設定

NLB 會以 Windows 網路驅動程式的方式執行。其操作對 TCP/IP 網路堆疊而言是透明的。

NLB 與其他元件之間的關係

上圖顯示在 NLB 主機的一般設定中,NLB 與其他軟體元件間的關係。

網路負載平衡的功能

NLB 包含下列功能:

延展性

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

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

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

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

  • 支援隨著負載增加而將主機新增到 NLB 叢集但不讓叢集停機的能力。

  • 支援當負載減少時從叢集移除主機的能力。

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

高可用性

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

  • 偵測失敗或離線的叢集主機並加以復原。

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

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

可管理性

NLB 提供下列可管理性功能:

  • 您可以使用 NLB 管理員,從單一電腦管理和設定多個 NLB 叢集與叢集主機。

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

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

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

  • 如果您不想要對某些 IP 連接埠的網路存取,可加以封鎖。

  • 您可啟用叢集主機上的網際網路群組管理通訊協定 (IGMP) 支援來控制切換氾濫 (以多點傳送模式運作時)。

  • 您可從執行 Windows 的任何網路電腦,使用殼層命令或指令碼遠端啟動、停止和控制 NLB 動作。

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

使用簡便

NLB 提供許多功能,使其變得方便使用:

  • NLB 安裝為標準的 Windows 網路驅動程式元件。

  • 您不需要變更硬體就能啟用和執行 NLB。

  • NLB 管理員可讓您建立新的 NLB 叢集。

  • NLB 管理員可讓您自單一遠端或本機電腦設定和管理多個叢集與所有叢集主機。

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

    附註

    如果是虛擬叢集,伺服器不一定要是具有多個虛擬 IP 位址的多重主目錄伺服器。

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

  • 您不需要修改伺服器應用程式即可在 NLB 叢集中執行。

  • 如果叢集主機失敗後再連線,NLB 可設定為自動將該主機加入叢集。加入的主機接著即可開始處理來自用戶端的新伺服器要求。

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

其他參考資料