當(dāng)前位置: 首頁IT技術(shù) → win8讓多臺主機(jī)為同時對網(wǎng)絡(luò)請求作出反應(yīng)的方法

win8讓多臺主機(jī)為同時對網(wǎng)絡(luò)請求作出反應(yīng)的方法

更多

其實這個這概念就是我們平時講的負(fù)載均衡,這樣子不會讓一臺服務(wù)器跑死,其它服務(wù)出現(xiàn)空閑的情況,最近公司的服務(wù)器情況是這樣子的,一到周末所有的服務(wù)器感覺都有跑死的情況,而平時服務(wù)器又只能跑一半的流量,為此參考了很多資料,在Windows Server 2008 R2當(dāng)中,存在著 “網(wǎng)絡(luò)負(fù)載平衡” 功能 (簡稱 NLB, Network Load Balancing),它以TCP/IP 為基礎(chǔ)的服務(wù),可以將一個已注冊的IP地址映射到多個內(nèi)部域的IP地址當(dāng)中,讓多臺主機(jī)為同時對網(wǎng)絡(luò)請求作出反應(yīng)。

一、簡單介紹負(fù)載均衡

負(fù)載均衡也稱負(fù)載共享,它是指負(fù)載均衡是指通過對系統(tǒng)負(fù)載情況進(jìn)行動態(tài)調(diào)整,把負(fù)荷分?jǐn)偟蕉鄠操作節(jié)點上執(zhí)行,以減少系統(tǒng)中因各個節(jié)點負(fù)載不均衡所造成的影響,從而提高系統(tǒng)的工作效率。在常用的大型服務(wù)器系統(tǒng)當(dāng)中都存在著負(fù)載均衡組件,常用的像微軟的網(wǎng)絡(luò)負(fù)載平衡NLB、甲骨文的Oracle RAC、思科的負(fù)載均衡(SLB),Apach+Tomcat 負(fù)載均衡,它們能從硬件或軟件不同方面實現(xiàn)系統(tǒng)各節(jié)點的負(fù)載平衡,有效地提高大型服務(wù)器系統(tǒng)的運行效率,從而提升系統(tǒng)的吞吐量。本篇文章以微軟的網(wǎng)絡(luò)負(fù)載平衡NAT為例子,簡單介紹Windows Server 2008 R2 負(fù)載平衡的安裝與使用方式。在Windows Server 2008 R2當(dāng)中,存在著 “網(wǎng)絡(luò)負(fù)載平衡” 功能 (簡稱 NLB, Network Load Balancing),它以TCP/IP 為基礎(chǔ)的服務(wù),可以將一個已注冊的IP地址映射到多個內(nèi)部域的IP地址當(dāng)中,讓多臺主機(jī)為同時對網(wǎng)絡(luò)請求作出反應(yīng)。使用NLB網(wǎng)絡(luò)負(fù)載均衡最多可以連接到32臺主機(jī)上,讓32臺主機(jī)共同分擔(dān)大量的服務(wù)壓力。在Windows Server 2008 R2 中還具備 “故障轉(zhuǎn)移群集” 功能,它是利用負(fù)載共享的方式,把多臺服務(wù)器的共用信息進(jìn)行持久化儲存,當(dāng)其中某臺服務(wù)器出現(xiàn)問題時,請求會自動分?jǐn)偟狡渌⻊?wù)器當(dāng)中。使用 “故障轉(zhuǎn)移群集” 功能,更能保證 “網(wǎng)絡(luò)負(fù)載平衡集群”的正常運行,有利于統(tǒng)籌管理分布式系統(tǒng)中的各種資源,利用共享信息及其服務(wù)機(jī)制擴(kuò)大系統(tǒng)的處理能力。“故障轉(zhuǎn)移群集” 功能將在下一篇文章再作詳細(xì)介紹。

二、NLB 主要功能

支持群集功能,一個群集最多支持32臺服務(wù)器。

支持網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)功能,能把請求自動轉(zhuǎn)發(fā)到 NLB 群集上對各臺服務(wù)器。

實現(xiàn)管道化式管理,允許向 NLB 群集同時發(fā)送多個請求。

支持多地址多端口管理,每臺服務(wù)器可以綁定多個虛擬 IP,每個虛擬 IP 可建立多個開放式端口。

支持故障快速恢復(fù)功能,當(dāng)服務(wù)器出現(xiàn)故障重啟后將自動恢復(fù)群集聯(lián)機(jī)。

支持單播、多播、IGMP多播多種群集操作模式。

支持事件日志管理,可以快速查閱群集事件記錄。

三、NLB 使用方式

3.1. 打開 “服務(wù)管理器”,添加 “網(wǎng)絡(luò)負(fù)載平衡” 功能。

3.2. 安裝完成后,打開“網(wǎng)絡(luò)負(fù)載平衡管理器”

3.3.新建群集,連接到作為群集服務(wù)器當(dāng)中的一臺主機(jī)

3.4.為此主機(jī)綁定優(yōu)先級數(shù),和專用的IP地址,一臺主機(jī)可以綁定多個IP地址

3.5.建立群集IP地址以進(jìn)行負(fù)載平衡,若存在多個IP地址系統(tǒng)將會以第一個IP作為此群集的IP對信息進(jìn)行檢測。

3.6.設(shè)定群集參數(shù),此處可設(shè)定群集完整的Internet名稱,確定其操作模式。此處需要稍作解釋:

3.6.1 單播模式指把各主機(jī)節(jié)點重時指向同一個虛擬MAC地址,在此情況下各節(jié)點之間不能實現(xiàn)通訊。

3.6.2 多播模式指各主機(jī)節(jié)點都保留原有的MAC地址,此外再外加專用于NLB的通訊MAC地址,使各節(jié)點之間能正常實現(xiàn)通訊。但并非所有的路由器或交換機(jī)都支持多播模式,使用時需要謹(jǐn)慎處理。

3.6.3 IGMP多播模式建立在多播模式功能之上,在默認(rèn)情況下每隔60秒發(fā)送一次IGMP信息。它可以確保發(fā)送給網(wǎng)絡(luò)負(fù)載平衡群集的通訊只通過服務(wù)于群集主機(jī)的端口,而不是所有交換機(jī)端口。

注意: 由于并非所有路由器或交換機(jī)都支持多播模式,所以在不確定的情況下最好使用雙網(wǎng)卡單播模式,并且預(yù)先設(shè)置好ARP,否則可能造成跨網(wǎng)段無法訪問群集ip的錯誤。

3.7 綁定群集開放的端口,此處可為主機(jī)設(shè)置一定范圍內(nèi)的開放端口。置于TCP、UDP協(xié)議就不多作解釋,一般設(shè)置只使用TCP協(xié)議使數(shù)據(jù)傳輸更具備可靠性和安全性。此處對篩先模式稍作解釋:

3.7.1 多主機(jī)該參數(shù)指定了群集中多個主機(jī)處理與端口規(guī)則相關(guān)的網(wǎng)絡(luò)通訊。通過在多個主機(jī)之間分布網(wǎng)絡(luò)負(fù)載,該篩選模式提供了可縮放性能以及容錯?梢灾付ㄔ谥鳈C(jī)之間均衡分布負(fù)載,或每個主機(jī)處理指定的負(fù)荷量。在多主機(jī)相似性選項中,存在3種選擇:

“無”選項:指定來自同一客戶端 IP 地址的多條連接可由不同的主機(jī)(無客戶端的相似性)進(jìn)行處理。第一次請求可能指向主機(jī)A,第二次請求可能指向主機(jī)B,為了實現(xiàn)在多臺主機(jī)之間共享session,系統(tǒng)應(yīng)該預(yù)先把session作出持久化處理。若使用ASP.NET進(jìn)行開發(fā)時,可通過命令: aspnet_regsql.exe -S 〈SQL Server IP> -U 〈User Name> -P 〈Password> -E -ssadd -sstype c -d〈Database Name> 建立用于Session持久化保存的數(shù)據(jù)庫

“單一”選項:指定網(wǎng)絡(luò)負(fù)載平衡應(yīng)該將來自同一客戶端 IP 地址的多個請求導(dǎo)向同一臺群集主機(jī)。這是相似性的默認(rèn)設(shè)置。

“網(wǎng)絡(luò)”選項:指相似性指定網(wǎng)絡(luò)負(fù)載平衡將來自同一個 TCP/IP C 類地址范圍的多個請求定向到同一臺群集主機(jī)。比如在客戶端使用了多臺代理服務(wù)器對群集進(jìn)行訪問時,請求看起來像源自不同的計算機(jī)。啟用“網(wǎng)絡(luò)”相似性選項,可以正確處理同一客戶端多個代理服務(wù)器的session會話數(shù)據(jù)。

3.7.2 單一主機(jī)

該參數(shù)指定群集中的單個主機(jī)根據(jù)指定的處理優(yōu)先級來處理相關(guān)端口規(guī)則的網(wǎng)絡(luò)通訊。該篩選模式為處理網(wǎng)絡(luò)通訊提供了端口專用的容錯性能。

3.7.3 禁用該端口范圍該參數(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ò)通訊。

3.8 在完成群集配置后,在群集上按右鍵,選擇 “添加主機(jī)到群集”,重復(fù) 3.3 、3.4安裝步驟,可連接多臺群集主機(jī)。

四、網(wǎng)絡(luò)負(fù)載平衡群集系統(tǒng)測試

建立一個ASP.NET項目,加入以下 Default.aspx 頁面,然后建立一個群集,綁定IP為192.168.1.110,在編輯 “端口規(guī)則” 時,選擇 “多主機(jī)無相關(guān)性” 篩選模式。最后分別在群集加入Virtual-PC-A1、Virtual-PC-A2兩臺主機(jī)。使用第三方客戶端進(jìn)行訪問時,多次點擊 NewPage 連接時,可檢測到系統(tǒng)會把請求連接到不同的主機(jī)之上。

New Page

 

測試結(jié)果

五、NLB 安裝注意事項

5.1.如果需要使用“域”服務(wù),一般在安裝 “網(wǎng)絡(luò)負(fù)載平衡” 管理器前,先添加“Active Directory 域服務(wù)” 角色,并進(jìn)行林、域配置。

若服務(wù)器需要使用IIS或者ASP.NET,那么在安裝 NLB 前建議先添加Web服務(wù)器(IIS)服務(wù)器角色和 .net framework 3.5 功能

5.2.要建立 “網(wǎng)絡(luò)負(fù)載平衡群集” ,需要先在 “高級共享設(shè)置” 中打開 “啟用網(wǎng)絡(luò)發(fā)現(xiàn)” 功能。

若無法打開 “啟用網(wǎng)絡(luò)發(fā)現(xiàn)” 功能,可先在服務(wù)管理器中打開以下3項服務(wù):

Function Discovery Resource Publication

SSDP Discovery

UPnP Device Host

5.3. 若使用vmware、Hyper-V等虛擬化工具,在網(wǎng)絡(luò)中實現(xiàn)信息共享時無法查找到其他虛擬主機(jī),可嘗試檢查虛擬機(jī)設(shè)置時“網(wǎng)絡(luò)適配器”是否使用同一種“網(wǎng)絡(luò)連接方式”,并且已打開“網(wǎng)絡(luò)共享服務(wù)”功能。

5.4.在“網(wǎng)絡(luò)負(fù)載平衡管理器”中建立群集,群集連接主機(jī)時顯示“RPC連接服務(wù)器不可用”等錯誤信息,可嘗試檢查主機(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è)置為 “自動”。

5.5. 若使用虛擬化工具克隆主機(jī),在群集連接主機(jī)時顯示 “指定主機(jī)沒有可用于安裝新的群集的任何接口”,這可能是在克隆主機(jī)時多臺主機(jī)使用同一個MAC造成的,此時可以嘗試卸載網(wǎng)絡(luò)適配器的驅(qū)動程序,然后再進(jìn)行驅(qū)動軟件更新。

5.6.若在群集連接主機(jī)時顯示出現(xiàn)錯誤提示 “在主機(jī) ‘MyPC上的NLB管理器’ 不能繼續(xù),因為沒有安裝microsoft群集服務(wù)” 。可以檢查服務(wù)器上是否已經(jīng)成功安裝 “網(wǎng)絡(luò)負(fù)載平衡” 服務(wù),然后打開 “本地連接-屬性”,選擇“網(wǎng)絡(luò)負(fù)載平衡(NLB)”。


 

熱門評論
最新評論
發(fā)表評論 查看所有評論(0)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)