windows群集概述(轉(zhuǎn)載) 2008-08-02 10:43 網(wǎng)絡(luò)負載平衡增強了 Internet 服務(wù)器程序(如 Web 服務(wù)器、FTP 服務(wù)器和其它關(guān)鍵任務(wù)服務(wù)器上使用的程序)的可用性和可擴展性。運行 Windows 2003的單臺計算機只能提供有限的服務(wù)器可靠性和可擴展性能。而通過將兩臺或更多的運行 Windows 2003 Advanced Server 的主機計算機的資源并入一個群集,網(wǎng)絡(luò)負載平衡就可以提供關(guān)鍵任務(wù)服務(wù)器所需要的可用性和性能。
每臺主機都運行需要的服務(wù)器程序(如 Web、FTP、Telnet 或電子郵件服務(wù)器程序)的一個獨立副本。對有些服務(wù)(如 Web 服務(wù)器上使用的服務(wù)),程序的副本在群集內(nèi)的所有主機上運行,網(wǎng)絡(luò)負載平衡在這些服務(wù)器之間分配工作量。對于其它服務(wù)(如電子郵件),只有一臺主機處理工作量。對于這些服務(wù),網(wǎng)絡(luò)負載平衡讓網(wǎng)絡(luò)通信流向一臺主機,只有在服務(wù)器發(fā)生故障時才將通信移到另一臺主機上。 網(wǎng)絡(luò)負載平衡配置概述 網(wǎng)絡(luò)負載平衡作為 Windows 2003 網(wǎng)絡(luò)驅(qū)動程序運行。它的運行對 TCP/IP 網(wǎng)絡(luò)堆棧是透明的。 為確保最佳網(wǎng)絡(luò)性能,網(wǎng)絡(luò)負載平衡通常使用一個網(wǎng)卡處理客戶到群集的通信,其它到服務(wù)器的網(wǎng)絡(luò)通信通過一個單獨的網(wǎng)卡。但第二個網(wǎng)卡不是必需的。 從負載平衡服務(wù)器應(yīng)用程序訪問數(shù)據(jù)庫 有些關(guān)鍵任務(wù)程序可能要求使用高可用性的數(shù)據(jù)庫引擎來確保服務(wù)的完全容錯。人們越來越多地部署支持群集的數(shù)據(jù)庫軟件以確保在整個群集方案中實現(xiàn)高可用性和可擴展性的數(shù)據(jù)庫訪問。Microsoft SQL Server 就是這樣一個例子,它可以部署在有群集服務(wù)的兩個節(jié)點配置中。群集服務(wù)能確保即使一個節(jié)點發(fā)生故障,剩余節(jié)點會承擔起發(fā)生故障的計算機的職責,這樣為 Microsoft SQL Server 客戶提供幾乎是連續(xù)的服務(wù)。它能夠做到這一點是由于兩臺計算機共享一個公用磁盤子系統(tǒng)。 備注 區(qū)別所討論的兩個群集解決方案很重要。第一個方案,網(wǎng)絡(luò)負載平衡主要用來分布傳入的傳輸控制協(xié)議/Internet 協(xié)議 (TCP/IP) 通信。這種解決方案中的計算機形成一種群集類型。第二個方案,群集服務(wù)主要用來提供從一臺計算機到另一臺計算機的故障轉(zhuǎn)移服務(wù)。這種解決方案中的計算機形成另一種不同的群集類型。網(wǎng)絡(luò)負載平衡群集通常運行 Web 服務(wù)器程序。群集服務(wù)通常運行數(shù)據(jù)庫程序(與網(wǎng)絡(luò)負載平衡聯(lián)合起來使用時)。若將兩個群集結(jié)合起來互為補充,用戶就可以創(chuàng)建一個全面的群集方案。 網(wǎng)絡(luò)負載平衡如何工作 通過使用由兩臺或多臺計算機一起組成的群集,網(wǎng)絡(luò)負載平衡使得 Web 服務(wù)器的可用性提高,可擴展性改善。Internet 客戶使用單一 IP 地址(或多宿主主機采用一套地址)訪問群集。客戶不能將群集和單個服務(wù)器區(qū)分開。服務(wù)器程序不能讓人知道它們是在群集中運行。但網(wǎng)絡(luò)負載平衡群集與運行單一服務(wù)器程序的單一主機有明顯區(qū)別,因為即使有群集主機發(fā)生故障,它也能提供不間斷的服務(wù)。群集還可以比單一主機更迅速地響應(yīng)客戶請求(對于負載平衡的端口)。 網(wǎng)絡(luò)負載平衡能提供高可用性,當有一臺主機發(fā)生故障或脫機時,網(wǎng)絡(luò)負載平衡可將傳入的網(wǎng)絡(luò)通信重新定向到工作正常的群集主機。即使與脫機的主機的連接斷開,也能提供 Internet 服務(wù)。在大多數(shù)情況下(例如,Web 服務(wù)器),客戶軟件在連接失敗時自動重試,客戶在接收響應(yīng)時只感到有幾秒鐘的延遲。 網(wǎng)絡(luò)負載平衡可提供擴展性能,將傳入的網(wǎng)絡(luò)通信在分配給群集的一個或多個虛擬 IP 地址之間分布。群集中的多臺主機隨后同時響應(yīng)不同的客戶請求,甚至響應(yīng)來自同一客戶的多個請求。例如 Web 瀏覽器可以從群集中的不同主機獲取一個 Web 頁面中的幾個圖像。這樣就會加快處理速度,縮短對客戶的響應(yīng)時間。 網(wǎng)絡(luò)負載平衡能使一個子網(wǎng)上的所有的群集主機同時檢測傳送到群集的主 IP 地址(及多宿主主機的其它 IP 地址)的網(wǎng)絡(luò)通信。在每臺群集主機上,網(wǎng)絡(luò)負載平衡驅(qū)動程序作為群集適配器驅(qū)動程序和 TCP/IP 堆棧之間的篩選器,允許主機分幾部分接收傳入的網(wǎng)絡(luò)通信。 網(wǎng)絡(luò)負載平衡使用完全分布式的算法,根據(jù)群集主機的 IP 地址、端口和其它信息將傳入的客戶按照統(tǒng)計規(guī)律與各群集主機相對應(yīng)。在檢查到達的數(shù)據(jù)包時,所有的主機都同時執(zhí)行這種對應(yīng)來迅速確定哪臺主機應(yīng)該處理該數(shù)據(jù)包。除非群集主機的數(shù)量發(fā)生變化,否則這種對應(yīng)關(guān)系就會保持不變。網(wǎng)絡(luò)負載平衡篩選算法在數(shù)據(jù)包處理中比集中負載平衡程序效率高得多,因為后者必須修改并重新傳輸數(shù)據(jù)包。這樣網(wǎng)絡(luò)負載平衡就能夠提供更高的集合帶寬。通過直接在群集主機上運行,網(wǎng)絡(luò)負載平衡的性能不會受到某一代的處理器或網(wǎng)絡(luò)技術(shù)的限制。 群集通信的分布 網(wǎng)絡(luò)負載平衡能控制從 Internet 客戶到群集內(nèi)選定主機的 TCP 和用戶數(shù)據(jù)報協(xié)議 (UDP) 通信的分布,請看:網(wǎng)絡(luò)負載平衡配置后,群集內(nèi)的所有主機都收到傳入到群集 IP 地址的客戶請求。網(wǎng)絡(luò)負載平衡首先篩選傳入到特定 TCP 和 UDP 端口的數(shù)據(jù)報,然后這些數(shù)據(jù)報到達 TCP/IP 協(xié)議軟件。網(wǎng)絡(luò)負載平衡只管理 TCP/IP 內(nèi)的 TCP 和 UDP 協(xié)議,控制它們在每個端口的操作。 網(wǎng)絡(luò)負載平衡不控制流向特定端口的 TCP 和 UDP 通信之外的任何傳入 IP 通信。它不篩選 Internet 控制消息協(xié)議 (ICMP)、Internet 組成員身份協(xié)議 (IGMP) 和地址解析協(xié)議 (ARP) 或其它 IP 協(xié)議。所有的這類通信都被原封不動地傳送到群集內(nèi)所有主機上的 TCP/IP 協(xié)議軟件。由于 TCP/IP 的可靠性和處理重復(fù)的數(shù)據(jù)報的能力,其它協(xié)議能夠在群集環(huán)境中正常運轉(zhuǎn)。但使用群集 IP 地址時您還是應(yīng)該有心理準備會看到某些點對點 TCP/IP 程序(例如 ping)的重復(fù)作出響應(yīng)。這些程序可以使用給每臺主機分配的專用 IP 地址避免出現(xiàn)這種情況。 匯聚 為協(xié)調(diào)操作,網(wǎng)絡(luò)負載平衡主機周期性地在群集內(nèi)交換多播或廣播消息。這使得它們可以監(jiān)視群集的狀態(tài)。當群集狀態(tài)改變時(如主機發(fā)生故障、離開或加入群集時),網(wǎng)絡(luò)負載平衡就調(diào)用名為匯聚的進程,在這個進程中各主機交換各自的消息來確定新的、一致的群集狀態(tài)并選擇有最高主機優(yōu)先權(quán)的主機作為新的默認主機。當所有的群集主機就群集的正確的新狀態(tài)達成共識時,它們在 Windows 2000 事件日志中記錄匯聚的完成。 在匯聚過程中,除了到發(fā)生故障的主機的通信不能得到服務(wù)外,主機繼續(xù)照常處理傳入的網(wǎng)絡(luò)通信。客戶對工作正常的主機的請求不會受到影響。匯聚完成時,到故障主機的通信被重新分配到其它主機。負載平衡的通信在剩余主機之間分布,以在某些 TCP 或 UDP 端口之間達到盡可能新的負載平衡。如果在群集中添加主機,匯聚使得這臺主機取代正在處理的端口(該主機比這些端口更具有優(yōu)先權(quán))并接收它的經(jīng)過負載平衡的通信份額。群集的擴展不影響正在進行的群集操作,擴展的實現(xiàn)對 Internet 客戶和服務(wù)器程序都是透明的。但這樣做可能會影響跨多個 TCP 連接的客戶會話(此時客戶與主機之間的對應(yīng)關(guān)系已經(jīng)確定),因為客戶可能在許多連接之間被重新與不同的群集主機對應(yīng)。 只要主機參與群集主機之間的正常的消息交換,網(wǎng)絡(luò)負載平衡就認為該主機運行正常。如果其它主機在幾次消息交換中沒有收到某一成員的響應(yīng),它們就啟動匯聚,目的是重新分配先前由發(fā)生故障的主機處理的負載。您可以控制消息交換周期和足以啟動匯聚的丟失消息的數(shù)量。默認值分別設(shè)置成 1,000 毫秒(1 秒)和 5 個丟失的消息交換周期。由于這些參數(shù)不常修改,它們不能通過“網(wǎng)絡(luò)負載平衡屬性”對話框配置。如有必要,可以在注冊表中手動調(diào)整。 為網(wǎng)絡(luò)負載平衡設(shè)置 TCP/IP 對單個或多個適配器必須使用不同的過程。 在單個網(wǎng)絡(luò)適配器上為網(wǎng)絡(luò)負載平衡設(shè)置 TCP/IP 1. 單擊網(wǎng)絡(luò)和撥號連接。 2. 右擊安裝了“網(wǎng)絡(luò)負載平衡”的本地連接,然后單擊屬性。 3. 在局域連接屬性對話框中,單擊“Internet 協(xié)議 (TCP/IP)”,然后單擊屬性。 4. 在 IP 地址中,輸入您已在主機參數(shù)下的“網(wǎng)絡(luò)負載平衡屬性”對話框中輸入的作為“專用 IP 地址”的地址。如果已存在正確的地址,請不要更改該地址。 5. 在子網(wǎng)掩碼中,輸入 TCP/IP 網(wǎng)絡(luò)的子網(wǎng)掩碼和默認網(wǎng)關(guān)信息。單擊高級,然后單擊添加。 6. 在為 IP 地址所留的位置中輸入群集 IP 地址,然后輸入相應(yīng)的子網(wǎng)掩碼,如有必要,輸入默認網(wǎng)關(guān)。此 IP 地址與您在群集參數(shù)下的網(wǎng)絡(luò)負載平衡屬性對話框中輸入的群集“主 IP 地址”對應(yīng)。 7. 如果需要為群集配置其他的虛擬 IP 地址(例如正在運行一個多主 Web 服務(wù)器),可以在高級 TCP/IP 設(shè)置對話框中的這個位置進行操作。 在多個網(wǎng)絡(luò)適配器上為網(wǎng)絡(luò)負載平衡設(shè)置 TCP/IP 1. 單擊網(wǎng)絡(luò)和撥號連接。 2. 右擊安裝了“網(wǎng)絡(luò)負載平衡”的本地連接,然后單擊屬性。 3. 在“局域連接屬性”對話框中,單擊“Internet 協(xié)議 (TCP/IP)”,然后單擊屬性。 4. 在 IP 地址中,輸入您已在群集參數(shù)下的“網(wǎng)絡(luò)負載平衡屬性”對話框中輸入的作為“主 IP 地址”的地址。如果已存在正確的地址,請不要更改該地址。 注意:也可以在此位置中輸入專用 IP 地址(此地址與您在主機參數(shù)下的“網(wǎng)絡(luò)負載平衡屬性”對話框中輸入的“專用 IP 地址”對應(yīng)),然后在“高級 TCP/IP 設(shè)置”對話框中輸入群集的主 IP 地址。 5. 在子網(wǎng)掩碼中,輸入 TCP/IP 網(wǎng)絡(luò)的子網(wǎng)掩碼和默認網(wǎng)關(guān)信息。 6. 如果需要為群集配置其他的虛擬 IP 地址(例如正在運行一個多主 Web 服務(wù)器),單擊高級,然后單擊添加。然后,就可以為這個網(wǎng)絡(luò)適配器指定其他虛擬 IP 地址并提供必要的其他信息。 疑難解答 TCP/IP 是唯一必須在群集適配器上使用的網(wǎng)絡(luò)協(xié)議。絕對不能向此適配器上添加任何其他協(xié)議(如網(wǎng)間數(shù)據(jù)包交換 [IPX])。 您必須先在“Internet 協(xié)議 (TCP/IP) 屬性”對話框(而不是“高級 TCP/IP 設(shè)置”對話框)中輸入專用 IP 地址,以便所 |
|