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