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

win8讓多臺(tái)主機(jī)為同時(shí)對(duì)網(wǎng)絡(luò)請(qǐng)求作出反應(yīng)的方法

更多

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

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

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

二、NLB 主要功能

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

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

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

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

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

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

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

三、NLB 使用方式

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3.7.2 單一主機(jī)

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

3.7.3 禁用該端口范圍該參數(shù)指定阻止相關(guān)端口規(guī)則的所有網(wǎng)絡(luò)通訊。在這種情況下,網(wǎng)絡(luò)負(fù)載平衡驅(qū)動(dòng)程序?qū)⒑Y選所有相應(yīng)的網(wǎng)絡(luò)數(shù)據(jù)包或數(shù)據(jù)報(bào)。該篩選模式可讓您阻止傳送到特定范圍的端口的網(wǎng)絡(luò)通訊。

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

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

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

New Page

 

測(cè)試結(jié)果

五、NLB 安裝注意事項(xiàng)

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ù)載平衡群集” ,需要先在 “高級(jí)共享設(shè)置” 中打開(kāi) “啟用網(wǎng)絡(luò)發(fā)現(xiàn)” 功能。

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

Function Discovery Resource Publication

SSDP Discovery

UPnP Device Host

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

5.4.在“網(wǎng)絡(luò)負(fù)載平衡管理器”中建立群集,群集連接主機(jī)時(shí)顯示“RPC連接服務(wù)器不可用”等錯(cuò)誤信息,可嘗試檢查主機(jī)有否打開(kāi)“Remote Procedure Call(RPC)”和“Remote Procedure Call(RPC)Locator” 服務(wù),并查檢“Remote Procedure Call(RPC)的屬性——依存關(guān)系——依賴服務(wù)” 的“狀態(tài)”是否已經(jīng)全部設(shè)置為 “已經(jīng)啟動(dòng)” 或 “啟動(dòng)類型” 設(shè)置為 “自動(dòng)”。

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

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


 

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