NLB
NLB
網路負載平衡(Network Load Balancing,即NLB)服務增強了Web、FTP、防火牆、代理和其他關鍵任務伺服器之類的Internet伺服器應用程序的可用性和可伸縮性。運行Windows的單個計算機可提供有限的伺服器可靠性和可伸縮的性能。但是,通過將兩個或多個運行一種Windows Server 2003家族產品的計算機資源組合為單個群集,網路負載平衡可以提供Web伺服器和其他關鍵任務伺服器所需的性能和可靠性。下圖表示兩個連接的網路負載平衡群集。第一個群集由兩個主機構成,第二個群集由四個主機構成。
每個主機運行所需伺服器應用程序(例如Web、FTP和Telnet伺服器)的獨立副本。網路負載平衡將傳入客戶端請求分發到群集中的所有主機。每台主機處理的負荷量可在必要時配置。也可動態地向群集中添加主機來處理增加的負載。另外,網路負載平衡可以將所有通信發到指定的單個主機上,這個主機稱為默認主機。
NLB
對於經過負載平衡的程序,當某個主機出現故障或離線時,將在繼續運行的計算機間自動重新分配負載。單個伺服器中的程序將其通信重定向到特定的主機。當計算機出乎預料地出現故障或離線時,連到失敗或離線伺服器的活動連接將會丟失。但是,如果有意讓主機停機,則可以在讓計算機離線之前,用 drainstop命令為所有活動連接提供服務。在這兩種情況下,離線計算機都可以透明地重新加入群集,並重新獲得自己那份工作負荷。
注意如果打算在64位環境中使用網路負載平衡,必須使用64位網路負載平衡版本。如果不這樣做,群集將無法建立。
網路負載平衡作為Windows聯網驅動程序運行。其操作對TCP/IP聯網協議棧是透明的。下圖表明了在網路負載平衡主機的典型配置中其他軟體組件與網路負載平衡軟體之間的關係。
來自經過負載平衡伺服器應用程序的資料庫訪問
某些伺服器應用程序訪問由客戶端請求更新的資料庫。當這些應用程序在群集中進行負載平衡時,這些更新任務需要正確同步。每個主機都可使用本地的獨立資料庫副本,必要時可離線合併。作為一種選擇方案,群集主機可共享對單獨的聯網資料庫伺服器的訪問。也可使用這些方法的組合。例如,靜態的Web頁可在所有的群集伺服器之間複製以確保快速訪問和完成容錯。但是,資料庫請求將被轉發給處理多個Web伺服器更新工作的公用資料庫伺服器。
一些關鍵任務應用程序可能需要使用高可用性的資料庫引擎來保證服務的完全容錯。建議部署可以識別群集的資料庫軟體,以便在一套總體群集方案內,提供高可用和高伸縮的資料庫訪問。Microsoft SQL Server便是這樣的一個例子,它可使用伺服器群集中的群集服務進行部署。群集服務確保了一旦某個節點出現故障,則其餘的節點將接管發生故障的計算機的職責,因此對Microsoft SQL Server的客戶端提供幾乎不間斷的服務。因為伺服器群集中的計算機利用了群集存儲設備,所以它能執行此任務。有關群集服務以及它如何配合網路負載平衡工作的詳細信息,請參閱更新的技術信息。
將目前討論的兩種群集解決方案區分開非常重要。首先,網路負載平衡主要用來對傳入的TCP/IP通信進行負載平衡。參與這一解決方案的計算機形成了一種類型的群集。第二,群集服務主要用來提供從一台計算機到另一台計算機的故障轉移服務。參與這一解決方案的計算機形成了一個不同類型的群集。此外,網路負載平衡群集通常運行 Web伺服器應用程序。相反,群集服務通常運行資料庫應用程序(在與“網路負載平衡”一起使用時)。在同一計算機上不能同時激活網路負載平衡和群集服務,但是通過兩種群集解決方案以互補方式運作,可以創建總體群集方案。