W i n d o w s Server 2016中將網(wǎng)絡(luò)負(fù)載平衡作為網(wǎng)絡(luò)策略和訪問服務(wù)中的一個組件。服務(wù)器管理->添加角色和功能->網(wǎng)絡(luò)策略和訪問服務(wù)->網(wǎng)絡(luò)負(fù)載平衡,按要求添加必須的其他組件后,將開始安裝,如圖1所示。
1.若需要使用“域”服務(wù),在安裝“網(wǎng)絡(luò)負(fù)載平衡”管理器前,先添加“Active Directory 域服務(wù)”角色,并進(jìn)行林、域相關(guān)配置。
2.若服務(wù)器需要使用IIS或者ASP.NET,那么在安裝網(wǎng)絡(luò)負(fù)載平衡前建議先添加Web服務(wù)器(IIS)服務(wù)器角色和.NET Framework 3.5功能。
圖1 安裝負(fù)載平衡服務(wù)
3.要建立“網(wǎng)絡(luò)負(fù)載平衡群集”,需要先在“高級共享設(shè)置”中打開“啟用網(wǎng)絡(luò)發(fā)現(xiàn)”功能。
4.若 使 用VMware、Hyper-V等虛擬化工具,在網(wǎng)絡(luò)中實現(xiàn)信息共享時無法查找到其他虛擬主機,可嘗試檢查虛擬機設(shè)置時“網(wǎng)絡(luò)適配器”是否使用同一種“網(wǎng)絡(luò)連接方式”,且已打開“網(wǎng)絡(luò)共享服務(wù)”功能。
5.若使用虛擬化工具克隆主機,在群集連接主機時顯示“指定主機沒有可用于安裝新的群集的任何接口”,這可能是在克隆主機時多臺主機使用同一個MAC造成的,此時可以嘗試卸載網(wǎng)絡(luò)適配器的驅(qū)動程序,然后再進(jìn)行驅(qū)動軟件更新。
6.在“網(wǎng)絡(luò)負(fù)載平衡管理器”中建立群集,群集連接主機時顯示“RPC連接服務(wù)器不可用”等錯誤信息,可嘗試檢查主機有否打開“Remote Procedure Call(RPC)” 和“Remote Procedure Call(RPC)Locator”服務(wù),并查檢“Remote Procedure Call(RPC)的屬性——依存關(guān)系——依賴服務(wù)”的“狀態(tài)”是否已經(jīng)全部設(shè)置為“已經(jīng)啟動”或“啟動類型”設(shè)置為“自動”。
7.若在群集連接主機時顯示出現(xiàn)錯誤提示“在主機‘MyPC上的NLB管理器'不能繼續(xù),因為沒有安裝Microsoft群集服務(wù)”??梢詸z查服務(wù)器上是否已經(jīng)成功安裝 “網(wǎng)絡(luò)負(fù)載平衡”服務(wù),然后打開“本地連接-屬性”,選擇“網(wǎng)絡(luò)負(fù)載平衡”,查看其狀態(tài)。
本次實驗的網(wǎng)絡(luò)拓?fù)淙鐖D2所示。
192.168.1.254是 外部IP地址(用戶訪問的IIS服務(wù)地址),實際上訪問192.168.1.254的請求會轉(zhuǎn)發(fā)給后面的兩臺Web服務(wù)器。
圖2 網(wǎng)絡(luò)拓?fù)鋱D
分別在上面2臺Web服務(wù)器上安裝網(wǎng)絡(luò)負(fù)載平衡之后,我們就可以在其中任意一臺上來新建群集,然后將另外一臺加入到這個群集中即可,本實驗在Web-01(192.168.1.130)上來新建這個群集。在建立群集之前,我們要確保這2臺Web服務(wù)器使用靜態(tài)IP地址,否則無法將他們加入到群集中。
1.在Web-01(192.168.1.130)上從Windows管理工具中打開網(wǎng)絡(luò)負(fù)載平衡管理器右擊“網(wǎng)絡(luò)負(fù)載平衡群集”,選擇“新建群集”。
2.在“新 群 集:連接”窗口中將IP地址192.168.1.130添加為主機,點擊下一步。
3.進(jìn)入“新群集:主機參數(shù)”,直接下一步。
4.進(jìn) 入“新群集:群集IP地址”,添 加 窗 口中 的“添 加”將192.168.1.254添加到窗口中然后點擊下一步。
5.進(jìn)入“新群集:群集參數(shù)”,選擇“多播”然后點擊下一步。
單播模式:所有節(jié)點服務(wù)器的MAC都會被改成集群MAC(虛擬MAC地址),發(fā)送數(shù)據(jù)的時候源MAC將變成集群MAC。缺點:交換機的MAC表無法綁定該MAC歸屬那個端口,所有數(shù)據(jù)包都進(jìn)行廣播,造流量負(fù)擔(dān);所有集群節(jié)點服務(wù)器具有相同IP地址和MAC地址,無法相互間通訊。
多播模式:不會修改節(jié)點服務(wù)器的MAC地址,各主機節(jié)點都保留原有的MAC地址,此外再外加專用于網(wǎng)絡(luò)負(fù)載平衡通訊的集群MAC地址,使各節(jié)點之間可以通過專用IP地址進(jìn)行相互通信。但并非所有的路由器或交換機都支持多播模式,使用時需要謹(jǐn)慎處理。
IGMP多播模式:建立在多播模式功能之上,在默認(rèn)情況下每隔60秒發(fā)送一次IGMP信息。它可以確保發(fā)送給網(wǎng)絡(luò)負(fù)載平衡群集的通訊只通過服務(wù)于群集主機的端口,而不是所有交換機端口。
6.進(jìn)入“新群集:端口規(guī)則”,選中全部,再點擊編輯。
7.將端口范圍改成從80到 80,協(xié)議選“TCP”,相關(guān)性選“無”。
多主機:該參數(shù)指定了群集中多個主機處理與端口規(guī)則相關(guān)的網(wǎng)絡(luò)通訊,該篩選模式提供了可縮放性能以及容錯。所有數(shù)據(jù)由多臺服務(wù)器處理,可以指定在主機之間均衡分布負(fù)載,或每個主機處理指定的負(fù)荷量。在多主機相似性選項中,存在三種相關(guān)性選擇:
(1)“無”選項:指定來自同一客戶端IP地址的多條連接可由不同的主機(無客戶端的相似性)進(jìn)行處理,由負(fù)載均衡器根據(jù)算法進(jìn)行處理,基本上請求平均分配。第一次請求可能指向主機A,第二次請求可能指向主機B,為了實現(xiàn)在多臺主機之間共享session,系統(tǒng)應(yīng)該預(yù)先把session作出持久化處理。
(2)“單一”選項:指定網(wǎng)絡(luò)負(fù)載平衡應(yīng)該將來自同一客戶端IP地址的多個請求導(dǎo)向同一臺群集主機,即同一個客戶端的請求歸屬原來處理的服務(wù)器。
(3)“網(wǎng)絡(luò)”選項:根據(jù)IP的C類地址范圍來決定分配,指定網(wǎng)絡(luò)負(fù)載平衡將來自同一個TCP/IP的C類IP地址范圍的多個請求定向到同一臺群集主機,也就是同一網(wǎng)段的請求,會分配到某一服務(wù)器上。
單一主機:該參數(shù)指定群集中的單個主機根據(jù)指定的處理優(yōu)先級來處理相關(guān)端口規(guī)則的網(wǎng)絡(luò)通訊。該篩選模式為處理網(wǎng)絡(luò)通訊提供了端口專用的容錯性能。所有數(shù)據(jù)由一臺服務(wù)器處理,根據(jù)優(yōu)先級選出服務(wù)器。
禁用該端口范圍:該參數(shù)指定阻止相關(guān)端口規(guī)則的所有網(wǎng)絡(luò)通訊。在這種情況下,網(wǎng)絡(luò)負(fù)載平衡驅(qū)動程序?qū)⒑Y選所有相應(yīng)的網(wǎng)絡(luò)數(shù)據(jù)包或數(shù)據(jù)報。該篩選模式可讓您阻止傳送到特定范圍的端口的網(wǎng)絡(luò)通訊。
8.單 擊“確 定”按 鈕回到主窗口,然后單擊“完成”按鈕,此時完成了集群的創(chuàng)建并且已經(jīng)將Web-01(192.168.1.130)加入到集群中。
9.此時我們還需要手動將 Web-02(192.168.1.131)也加入到群集中,在群集(192.168.1.254)上右鍵點擊“添加主機到群集”。
10.在“將主機添加到群集:連接”窗口中的主機中輸入192.168.1.131然后單擊“下一步”按鈕即可。
在網(wǎng)站架構(gòu)的不斷演變中,負(fù)載平衡起著非常重要的作用,不僅僅為我們的網(wǎng)站不斷提升可靠性和可擴展性,同時通過一些性能比較強大的硬件設(shè)備還能提供緩存,以及session機制。
現(xiàn)在用到的負(fù)載平衡是Windows Server 2016自帶的一個組件,它是最簡單實現(xiàn)負(fù)載平衡的方式,功能不是特別的完善,而且一旦網(wǎng)絡(luò)負(fù)載平衡服務(wù)本身發(fā)生錯誤那么將導(dǎo)致所有的網(wǎng)站都不能訪問,此時我們可以通過引入APR(Application Request Router)來解決這個問題。