對于網(wǎng)絡(luò)負(fù)載平衡的認(rèn)識
win系統(tǒng)下,實(shí)現(xiàn)網(wǎng)絡(luò)負(fù)載平衡我們可以通過數(shù)據(jù)庫軟件來調(diào)試。那么,針對它的一些相關(guān)配置,比如2000系統(tǒng),我們來做一個(gè)具體的說明。通過這個(gè)系統(tǒng)的說明,大家可以發(fā)現(xiàn)win系統(tǒng)下的負(fù)載平衡設(shè)置大同小異。基本上只要過程了解了,在那個(gè)win系統(tǒng)中都能設(shè)置好均衡功能。
網(wǎng)絡(luò)負(fù)載平衡服務(wù)在Windows 2000 高級服務(wù)器和Windows 2000 數(shù)據(jù)中心服務(wù)器操作系統(tǒng)中均可得到。網(wǎng)絡(luò)負(fù)載平衡提高了使用在諸如Web服務(wù)器、FTP服務(wù)器和其它關(guān)鍵任務(wù)服務(wù)器上的因特網(wǎng)服務(wù)器程序的可用性和可伸縮性。運(yùn)行Windows 2000的單一計(jì)算機(jī)可以提供有限級別的服務(wù)器可靠性和可伸縮性。但是,通過將兩個(gè)或兩個(gè)以上運(yùn)行Windows 2000 高級服務(wù)器的主機(jī)連成群集,網(wǎng)絡(luò)負(fù)載平衡就能夠提供關(guān)鍵任務(wù)服務(wù)器所需的可靠性和性能。
每個(gè)主機(jī)運(yùn)行一個(gè)所需服務(wù)器程序的獨(dú)立拷貝,諸如Web、FTP、Telnet或e-mail服務(wù)器程序。對于某些服務(wù)(如運(yùn)行在Web服務(wù)器上的那些服務(wù))而言,程序的一個(gè)拷貝運(yùn)行在群集內(nèi)所有的主機(jī)上,而網(wǎng)絡(luò)負(fù)載平衡則將工作負(fù)載在這些主機(jī)間進(jìn)行分配。對于其他服務(wù)(例如e-mail)只有一臺主機(jī)處理工作負(fù)載,針對這些服務(wù),網(wǎng)絡(luò)負(fù)載平衡允許網(wǎng)絡(luò)通訊量流到一個(gè)主機(jī)上,并在該主機(jī)發(fā)生故障時(shí)將通訊量移至其它主機(jī)。
網(wǎng)絡(luò)負(fù)載平衡配置概述
網(wǎng)絡(luò)負(fù)載平衡是Windows 2000的一個(gè)網(wǎng)絡(luò)驅(qū)動(dòng)程序。它的操作對TCP/IP網(wǎng)絡(luò)棧而言是透明的。
為確保網(wǎng)絡(luò)性能達(dá)到***,網(wǎng)絡(luò)負(fù)載平衡通常使用一個(gè)網(wǎng)絡(luò)適配器來處理客戶到群集的通訊量,而其它對服務(wù)器的網(wǎng)絡(luò)通訊量則經(jīng)由一個(gè)單獨(dú)網(wǎng)絡(luò)適配器。然而,第二個(gè)網(wǎng)絡(luò)適配器是不需要的。
來自負(fù)載平衡服務(wù)器應(yīng)用的數(shù)據(jù)庫訪問
某些服務(wù)器程序需要訪問由客戶請求來更新的數(shù)據(jù)庫。當(dāng)這些程序的負(fù)載在群集內(nèi)得到均衡分配時(shí),相關(guān)的更新工作則應(yīng)保持同步狀態(tài)。每個(gè)主機(jī)均使用一個(gè)本地、獨(dú)立的數(shù)據(jù)庫拷貝,而該數(shù)據(jù)庫在必要時(shí)可脫機(jī)并入。另一種方法是,群集主機(jī)能夠共享對一個(gè)獨(dú)立的網(wǎng)絡(luò)數(shù)據(jù)庫服務(wù)器的訪問。也可以組合使用這些方法。例如,靜態(tài)Web網(wǎng)頁能夠在全部群集服務(wù)器間進(jìn)行復(fù)制,以確??焖僭L問和全面容錯(cuò)。但是,數(shù)據(jù)庫訪問請求將轉(zhuǎn)發(fā)至為多個(gè)Web服務(wù)器進(jìn)行更新處理的公共數(shù)據(jù)庫服務(wù)器。
某些關(guān)鍵任務(wù)程序可能需要使用高度可用的數(shù)據(jù)庫引擎以確保全面容錯(cuò)。逐漸地,具有群集識別能力的數(shù)據(jù)庫軟件將得到部署,用以在整個(gè)群集模式中提供具有高度可用性與可伸縮性的數(shù)據(jù)庫訪問。Microsoft SQL Server就是一個(gè)例子,它能夠使用群集服務(wù)功能以雙節(jié)點(diǎn)方式進(jìn)行部署。群集服務(wù)可確保在一個(gè)節(jié)點(diǎn)發(fā)生故障的情況下,剩余的節(jié)點(diǎn)將承擔(dān)起故障電腦的職責(zé),這樣,就能夠?yàn)镸icrosoft SQL Server 客戶提供近乎連續(xù)的服務(wù)。由于兩臺電腦共享一個(gè)公共磁盤子系統(tǒng),則上述功能是可以實(shí)現(xiàn)的。
網(wǎng)絡(luò)負(fù)載平衡如何工作
網(wǎng)絡(luò)負(fù)載平衡為共同工作且使用兩個(gè)或兩個(gè)以上主機(jī)群集的Web服務(wù)器提供了高度可用性和可伸縮性。因特網(wǎng)客戶使用單一的IP地址(或一個(gè)多主主機(jī)的一組地址)訪問群集。客戶不能將單一服務(wù)器從群集中區(qū)分開來。服務(wù)器程序不能識別它們正運(yùn)行于一個(gè)群集中。但是,由于網(wǎng)絡(luò)負(fù)載平衡群集即使在群集主機(jī)發(fā)生故障的情況下仍能提供了不間斷的服務(wù),故而,它與運(yùn)行單一服務(wù)器程序的單一主機(jī)大相徑庭。與單一主機(jī)相比,群集還能對客戶需求做出更迅捷的反應(yīng)。
網(wǎng)絡(luò)負(fù)載平衡通過在主機(jī)發(fā)生故障或脫機(jī)的情況下將網(wǎng)絡(luò)通訊量重新指定給其它工作群集主機(jī)來提供高度的可用性。與脫機(jī)主機(jī)現(xiàn)存的連接雖然丟失,但因特網(wǎng)服務(wù)仍然處于可用狀態(tài)。在大多數(shù)情況下(例如,就Web服務(wù)器而言),客戶軟件會自動(dòng)重試發(fā)生故障的連接,而且,客戶僅需幾秒的延遲即可收到響應(yīng)。
網(wǎng)絡(luò)負(fù)載平衡通過在群集的一個(gè)或一個(gè)以上虛擬IP地址當(dāng)中分配引入的網(wǎng)絡(luò)通訊量來提供伸縮能力。群集中的主機(jī)于是對不同客戶請求做出響應(yīng),即使是來自同一客戶的多重請求也如是。例如,Web瀏覽器可能在單一Web網(wǎng)頁內(nèi)獲得群集內(nèi)不同主機(jī)處的多重映射。這就加速了處理過程并縮短了對客戶的響應(yīng)時(shí)間。
網(wǎng)絡(luò)負(fù)載平衡使在一個(gè)子網(wǎng)上的全部群集主機(jī)能夠?yàn)槿杭闹鱅P地址(以及多主主機(jī)上的額外IP地址)同時(shí)檢測引入的網(wǎng)絡(luò)通訊量。在每個(gè)群集主機(jī)上,網(wǎng)絡(luò)負(fù)載平衡驅(qū)動(dòng)程序充當(dāng)了一個(gè)介于群集適配器驅(qū)動(dòng)程序和TCP/IP棧之間的過濾器,以這種方式使主機(jī)能夠收到一部分引入的網(wǎng)絡(luò)通訊量。
網(wǎng)絡(luò)負(fù)載平衡使用全面分布式的算法來從統(tǒng)計(jì)意義上將引入的客戶映射到基于IP地址、端口和其它信息的群集主機(jī)上。在檢查收到的數(shù)據(jù)包時(shí),所有主機(jī)均同步執(zhí)行這種映射以迅速?zèng)Q定哪個(gè)主機(jī)應(yīng)處理該數(shù)據(jù)包。除非群集主機(jī)數(shù)量發(fā)生變化,該映射會保持不變。網(wǎng)絡(luò)負(fù)載平衡過濾算法在數(shù)據(jù)包處理程序方面要比在集中負(fù)載平衡程序方面高效得多,而這必須修改并重發(fā)數(shù)據(jù)包。這就使網(wǎng)絡(luò)負(fù)載平衡能夠提供高得多的聚集帶寬。通過直接在群集主機(jī)上運(yùn)行,網(wǎng)絡(luò)負(fù)載平衡的性能并不受某一代處理器或網(wǎng)絡(luò)技術(shù)的局限。