Windows的負載平衡主要是依靠組建網(wǎng)絡(luò )負載平衡群集來(lái)實(shí)現的,支持WEB、FTP、Proxy、VPN、Windows Media、Telnet等服務(wù)器的負載平衡。
負載平衡的原理
NLB其實(shí)就是提供相同服務(wù)的一系列服務(wù)器同時(shí)監聽(tīng)服務(wù)請求,并允許在同一時(shí)間運行多個(gè)應用程序實(shí)例。NLB的核心是位于網(wǎng)絡(luò )適配器驅動(dòng)和網(wǎng)絡(luò )層之間的WLBS.SYS的篩選器驅動(dòng)。NLB把每個(gè)IP數據包分發(fā)到所有群集節點(diǎn),并根據數據包的源地址、目標地址、傳輸層協(xié)議、端口、群集的配置參數以及算法做出由某個(gè)節點(diǎn)處理而其他節點(diǎn)丟棄此數據包的統一決定。
負載平衡的概念
配置負載平衡之前,需要理解幾個(gè)重點(diǎn)概念。
群集IP 地址和子網(wǎng)掩碼:群集的虛擬IP地址,是表現在客戶(hù)面前的“外部”地址。
專(zhuān)用IP 配置和子網(wǎng)掩碼:群集各節點(diǎn)的本地IP地址,唯一標識群集的各節點(diǎn)。
完整Internet名:能夠訪(fǎng)問(wèn)此群集的DNS名稱(chēng),比如cluster.it.com.cn。
群集操作模式:在方案的選擇中詳細講述。
端口規則:windows2003中新加的功能,細化了控制微粒,可以阻止某節點(diǎn)特定應用程序的流量,而在windows2000中這是不能實(shí)現的。
優(yōu)先級(單一主機標識符):范圍在1-32之間(32是一個(gè)群集的最大節點(diǎn)數)。此值決定如何處理沒(méi)有包含在任何為群集定義的端口規則中的傳入網(wǎng)絡(luò )通訊。具有最高優(yōu)先級的主機(優(yōu)先值最小)將處理所有這種通訊。
Windows2003負載平衡的設計要求
操作系統的要求 在Windows2003的所有版本系統中,NLB都是可用的。群集可以兼容以前的windows服務(wù)器操作系統(比如2000,NT4.0)。
網(wǎng)絡(luò )結構的要求
NLB可以在連接到FDDI(光纖分布式數據接口),以太網(wǎng),吉比特以太網(wǎng)的服務(wù)器上運行,但不能在Token Ring(令牌環(huán))網(wǎng)絡(luò )上運行。
網(wǎng)卡的要求
所有的網(wǎng)絡(luò )適配器必須在Windows2003的硬件兼容列表中。一般情況下,服務(wù)器的網(wǎng)卡都會(huì )符合要求。
交換機和路由器的要求
當計劃使用VLAN來(lái)防止交換數據洪水時(shí),必須確保交換機支持VLAN設置;當使用多播時(shí),部分路由器不支持把單播IP地址映射為一個(gè)多播MAC地址,需要手工設置。
通訊協(xié)議的要求
綁定到群集的網(wǎng)絡(luò )適配器只能安裝TCP/IP協(xié)議,可以必須靜態(tài)分配,不支持DHCP。
應用程序的要求
首先必須是TCP或UDP通訊,而且確定當前應用程序或服務(wù)必須支持NLB。
負載平衡的設計
由于網(wǎng)絡(luò )負載平衡不能根據CPU和內存利用率來(lái)分配流量,而且性能并不是隨著(zhù)節點(diǎn)數量的增加而線(xiàn)性變化的(因為隨著(zhù)規模的增大,由此產(chǎn)生的網(wǎng)絡(luò )開(kāi)銷(xiāo),CPU開(kāi)銷(xiāo)也隨著(zhù)增大),,所以正確的設計和規劃負載平衡是至關(guān)重要的。
群集的實(shí)現需要群集內部的通訊(比如心跳信息和聚合通訊)以及管理和內容復制的數據傳輸。這部分通訊占用了網(wǎng)絡(luò )的可用帶寬。為了克服單網(wǎng)卡的局限性,可以使用雙網(wǎng)卡,一個(gè)用于負載客戶(hù)端的通訊,另一個(gè)用于傳輸內部通訊,管理和內容的數據。
群集操作模式的選擇是設計的重要一步。單播模式是指各節點(diǎn)的網(wǎng)絡(luò )適配器被重新指定了一個(gè)虛擬MAC(由02-bf和群集IP地址組成確保此MAC的唯一性)。由于所有綁定群集的網(wǎng)絡(luò )適配器的MAC都相同,所以在單網(wǎng)卡的情況下,各節點(diǎn)之間是不能通訊的,這也是推薦雙網(wǎng)卡配置的原因之一。為了避免交換機的數據洪水,應該結合VLAN使用。
多播模式下,網(wǎng)絡(luò )適配器在保留原有的MAC地址不變的同時(shí),還分配了一個(gè)各節點(diǎn)共享的多播MAC地址。所以,即使單網(wǎng)卡的節點(diǎn)之間也可以正常通訊。但單網(wǎng)卡的帶寬占用、競爭網(wǎng)絡(luò )適配器等缺點(diǎn)仍然存在。
此外,部分路由器(特別是Cisco產(chǎn)品)還不支持單播IP地址和多播MAC的ARP映射的自動(dòng)創(chuàng )建,需要手工配置。IGMP多播(只有在選中多播時(shí),才可以選擇此項),在繼承多播的優(yōu)點(diǎn)之外,NLB每隔60秒發(fā)送一次IGMP信息,使多播數據包只能發(fā)送到這個(gè)正確的交換機端口,避免了交換機數據洪水的產(chǎn)生。
端口規則是windows2003的新特性。NLB提供3種篩選模式,可以針對端口規則采取禁止、多主機負載平衡和單主機的特殊處理。其中,多主機篩選模式提供了真正意義上的負載平衡,并且可以根據節點(diǎn)的實(shí)際處理能力進(jìn)行負載量的分配。
單個(gè)群集的最大節點(diǎn)數為32,如果還不能滿(mǎn)足需要,可以使用Round-Robin Domain Name Service把請求映射到多個(gè)群集上(但也因此引入了單點(diǎn)故障DNS,除非DNS冗余)。
負載平衡的安裝與配置 負載平衡的安全考慮 總結
Windows2003引入了網(wǎng)絡(luò )負載平衡管理器(控制面板->管理工具),使負載平衡的安裝和配置更加簡(jiǎn)單。管理器可以容易的實(shí)現群集的建立、刪除,節點(diǎn)的添加、 刪除、修改以及故障的檢測。
運行網(wǎng)絡(luò )負載平衡管理器,選擇 群集 -> 新建 ,彈出“群集參數”對話(huà)框,按需要配置。
下一步,系統會(huì )提示添加附加群集IP,如果不需要可直接按“下一步”進(jìn)行端口配置。以web群集配置為例,其典型端口配置如下圖所示:如果會(huì )話(huà)狀態(tài)不保存在該群集上,則相似性選擇無(wú),否則選擇單一或者類(lèi)C。
之后,指定一臺主機連接,并選擇一個(gè)可用的網(wǎng)絡(luò )接口,進(jìn)行主機參數的設置:
點(diǎn)擊“完成”,管理器會(huì )自動(dòng)連接到主機上進(jìn)行相關(guān)配置來(lái)創(chuàng )建一個(gè)新的群集??梢噪p擊日志項目,了解NLB管理器都進(jìn)行了什么配置。
雖然,使用NLB管理器是一個(gè)微軟推薦的方法,但使用NLB.EXE命令行仍然有它獨特的優(yōu)點(diǎn):反應快,便于批處理。因此,掌握NLB命令也是快速部署的需要。
群集的遠程管理特性允許管理員在遠程計算機上使用NLB.EXE管理群集。但啟用此功能后,會(huì )帶來(lái)安全風(fēng)險,比如密碼泄露和DOS (拒絕服務(wù)攻擊)。如果啟用,請確保密碼足夠復雜,并且根據需要在防火墻上進(jìn)行訪(fǎng)問(wèn)策略的配置(比如封鎖UDP端口1717和2504)。
負載平衡負載平衡是一項綜合的技術(shù),在實(shí)施過(guò)程中往往伴隨著(zhù)其他技術(shù)的應用。比如網(wǎng)絡(luò )負載平衡群集和服務(wù)器群集的結合,甚至與存儲區域網(wǎng)絡(luò )或網(wǎng)絡(luò )附加存儲相關(guān)聯(lián)都是一個(gè)不錯的主意。
聯(lián)系客服