Windows 2003下網(wǎng)絡(luò)負(fù)載平衡(負(fù)載均衡/NLB)的配置詳細(xì)圖文教程

由于公司最近網(wǎng)站流量暴增,單臺(tái)服務(wù)器的連接數(shù)經(jīng)常過2W,為了讓用戶獲得更好的性能和網(wǎng)站的容災(zāi)型,配置 負(fù)載平衡(負(fù)載均衡、NLB) 也成了首要任務(wù)。公司服務(wù)器是 Windows 2003 英文版本,用2臺(tái)服務(wù)器來配置負(fù)載均衡。
在 Google 和 Baidu 上面看了2天,發(fā)現(xiàn)有一些 負(fù)載平衡(負(fù)載均衡、NLB) 的配置經(jīng)驗(yàn)還是蠻不錯(cuò)的,所以把這些摘錄過來,做下備忘,并希望能幫助更多的人配置。
網(wǎng)絡(luò)負(fù)載平衡(網(wǎng)絡(luò)負(fù)載均衡、NLB、集群)概述
首先,我們先了解下 Windows 2003 自帶的 負(fù)載平衡(負(fù)載均衡)——Network Load Balancing,簡稱NLB。NLB是一種集成高可用性,高可靠性和高擴(kuò)展性的集群。它不但能實(shí)現(xiàn)均衡負(fù)載,而且還能實(shí)現(xiàn)多種形式的冗余。NLB主要用于那些文件改動(dòng)不大,并且不常駐內(nèi)存的環(huán)境,比如WEB服務(wù)、FTP服務(wù)、和VPN服務(wù)等。NLB不適合用于數(shù)據(jù)庫、郵件等服務(wù),因?yàn)椴荒鼙WC每個(gè)節(jié)點(diǎn)的數(shù)據(jù)是一樣的。
當(dāng)用戶訪問集群的時(shí)候,集群能將訪問請(qǐng)求分?jǐn)偟郊褐械拿總€(gè)服務(wù)器上,以達(dá)到均衡負(fù)載的效果。這些服務(wù)器被稱為集群節(jié)點(diǎn)。在 負(fù)載平衡(負(fù)載均衡、NLB) 中,每個(gè)節(jié)點(diǎn)的文件一般都要求是一樣的。這樣每個(gè)節(jié)點(diǎn)返回給客戶的結(jié)果都是一致的。一般來說組建一個(gè)NLB要求至少兩個(gè)節(jié)點(diǎn),其中一個(gè)節(jié)點(diǎn)不能使用,這全部負(fù)載將落入到剩下的那個(gè)節(jié)點(diǎn)上,即全載。Windows server 2003 最多支持32個(gè)節(jié)點(diǎn)。節(jié)點(diǎn)越多,可用性(availability),可靠性(reliability)就越高。
NLB能提供三種冗余功能,軟件冗余、硬件冗余、站點(diǎn)冗余。
網(wǎng)絡(luò)負(fù)載平衡(網(wǎng)絡(luò)負(fù)載均衡、NLB、集群)工作原理
每個(gè)NLB節(jié)點(diǎn)都有同一個(gè)虛擬IP地址。當(dāng)訪問請(qǐng)求發(fā)向虛擬IP,NLB會(huì)負(fù)責(zé)把這個(gè)請(qǐng)求路由到其中的一個(gè)節(jié)點(diǎn)上,以達(dá)到均衡負(fù)載的作用。如圖所示:
接下來,開始著手配置NLB 的測試站點(diǎn)。假設(shè),網(wǎng)站為web.gooduck.com。準(zhǔn)備兩臺(tái)服務(wù)器server1和server2,分別安裝windows server 2003 Enterprise并安裝IIS組件。
Vir20 |
Vir21 |
Client |
|
IP |
192.168.10.20 |
192.168.10.21 |
202.108.22.9 |
VIP |
202.108.22.5 |
在這里需要描述下,DNS解析web.goodluck.com為202.108.22.5,(測試地址,非真實(shí))。當(dāng)訪問web.goodluck.com時(shí),NLB會(huì)把請(qǐng)求路由到192.168.10.20或者192.168.10.21上,由他們來處理請(qǐng)求。整個(gè)過程就像是202.108.22.5返回處理的結(jié)果。用戶是感覺不到其中的過程。
網(wǎng)絡(luò)負(fù)載平衡(網(wǎng)絡(luò)負(fù)載均衡、NLB、集群)測試站點(diǎn)的配置
1.配置vir20、vir21的IIS服務(wù)
在各服務(wù)器中,run中輸入inetmgr
在Default Web Site中創(chuàng)建default.htm文件,在其中輸入:Hello world!
右擊選擇”Browse”瀏覽結(jié)果
兩臺(tái)服務(wù)器都是執(zhí)行同樣的操作。
網(wǎng)絡(luò)負(fù)載平衡(網(wǎng)絡(luò)負(fù)載均衡、NLB、集群)通過單節(jié)點(diǎn)的配置方法
網(wǎng)絡(luò)負(fù)載平衡有兩種配置方法:
一種是通過配置每個(gè)節(jié)點(diǎn)的連接屬性;
一種是通過Network Load Balancing Manager(windows server 2003 新特性)。
這兩種方法各有所長,但是個(gè)人比較推薦第一種方法
網(wǎng)絡(luò)負(fù)載平衡(網(wǎng)絡(luò)負(fù)載均衡、NLB、集群)單節(jié)點(diǎn)的配置方法如下:
打開節(jié)點(diǎn)連接屬性,勾選Network Load Balancing。
點(diǎn)擊Properties,進(jìn)一步設(shè)置
在Cluster Parameters頁面中,輸入虛擬IP地址202.108.22.5,DNS解析web.goodluck.com就是這個(gè)地址。
在單網(wǎng)卡的節(jié)點(diǎn)中,只能使用多播的方式來收發(fā)內(nèi)部IP流和NLB流。在有兩張網(wǎng)卡的情況中,就可以用單播的方式,這樣一張網(wǎng)卡負(fù)責(zé)NLB流,另外一張負(fù)責(zé)IP流。所以從訪問性能來說,單播的方式要比多播的方式快?,F(xiàn)在的許多服務(wù)器有兩個(gè)網(wǎng)口。如果滿足條件,最好能使用單播模式。
進(jìn)入到Host Parameters頁面。
priority設(shè)置成1,此節(jié)點(diǎn)在集群中為主節(jié)點(diǎn)。說明 網(wǎng)絡(luò)負(fù)載平衡(網(wǎng)絡(luò)負(fù)載均衡、NLB、集群)會(huì)在未達(dá)到負(fù)載極限的時(shí)候,首先把請(qǐng)求路由到優(yōu)先權(quán)高的節(jié)點(diǎn)上。在另外一個(gè)節(jié)點(diǎn)的值則不能為1。請(qǐng)注意這個(gè)值在每個(gè)節(jié)點(diǎn)上是唯一的。輸入節(jié)點(diǎn)的IP地址。
在Port Rules中
可以對(duì)流量進(jìn)行篩選。表示,對(duì)于任何訪問http 80端口的任何訪問都接受。對(duì)于https 443端口的接受特定IP。如果要添加其他的規(guī)則單擊Add增加。
還可以設(shè)置節(jié)點(diǎn)的負(fù)載,默認(rèn)選擇均衡。
Filtering mode:
Affinity(相似性)這是用于控制訪問請(qǐng)求路由。當(dāng)使用None時(shí),來自同一個(gè)IP的請(qǐng)求將得到不同節(jié)點(diǎn)的回應(yīng),這提高了集群的性能。如果Protocols使用UDP或Both,為了能正確的處理IP片段,應(yīng)該盡量不要使用None。在處理http時(shí)建議選擇None以提高性能。Single模式,將來自相同的IP地址路由到同一個(gè)節(jié)點(diǎn)上,提訪問的高安全性。Class C模式將來自與節(jié)點(diǎn)同一個(gè)子網(wǎng)的訪問路由到同一個(gè)節(jié)點(diǎn)上。
OK結(jié)束。
接下來要在節(jié)點(diǎn)的TCP/IP中添加虛擬IP。
點(diǎn)擊OK完成NLB的設(shè)置。
兩臺(tái)服務(wù)器上都設(shè)置好后,進(jìn)行測試。
在client上瀏覽web.goodluck.com。注意,client上一定要能正確解析web.goodluck.com。
可以修改hosts文件,手工添加解析。但一定要保證能和節(jié)點(diǎn)連通。
再來考慮,如果其中一個(gè)節(jié)點(diǎn)不能訪問,瀏覽是否會(huì)受到影響。
停止一個(gè)server1的IIS來測試下。修改server1和server2的default.htm內(nèi)容成“Hello world! The IIS of vir20 is stopped.”
可以看出vir21承擔(dān)了所有的訪問。
接下來開啟vir20,并且關(guān)閉vir21??纯磿?huì)出現(xiàn)什么情況。同樣修改這兩臺(tái)的defualt.htm文件。“Hello world! The IIS of vir20 is working now.”
在vir21停止工作,vir20正常工作的時(shí)候,網(wǎng)絡(luò)負(fù)載平衡(網(wǎng)絡(luò)負(fù)載均衡、NLB、集群)依然正常工作。這樣就達(dá)到了均衡負(fù)載的要求了。
下面我們做一次簡單的測試。如果vir20和vir21兩個(gè)節(jié)點(diǎn)的內(nèi)容不同,顯示結(jié)果會(huì)如何。
在vir20中修改default.htm內(nèi)容為: ’Hello World! Here is vir20’ 。
vir21的default.htm內(nèi)容為:’Hello World! Here is vir21’ 。
注意:vir21的優(yōu)先級(jí)為1,vir20的優(yōu)先級(jí)為2。
Vir20和vir21的IIS服務(wù)都正常工作。瀏覽web.goodluck.com,發(fā)現(xiàn)IE顯示結(jié)果
顯示出兩個(gè)結(jié)果。
隔段時(shí)間刷新,結(jié)果也會(huì)發(fā)生變化。通過這個(gè)測試說明NLB把訪問請(qǐng)求路由到不同的的結(jié)點(diǎn)上。
為了使訪問者都能得到正確的結(jié)果,一定要保證訪問的文件必須一樣。在這里可以使用分布式文件系統(tǒng)(Distributed File System)來同步文件。在我的Blog上即將貼出。
網(wǎng)絡(luò)負(fù)載平衡(網(wǎng)絡(luò)負(fù)載均衡、NLB、集群)通過Network Load Balancing Manager的配置方法
網(wǎng)絡(luò)負(fù)載平衡(網(wǎng)絡(luò)負(fù)載均衡、NLB、集群)第二種配置方法:使用Network Load Balancing Manager,這個(gè)工具是windows server 2003中新加上的工具,配置更為簡單。
首先配置vir20和vir21的TCP/IP屬性,在Advanced中增加虛擬IP,這一步直接影響到后面的配置效果。
在開始Run中輸入’nlbmgr’,打開NLBM。
右擊選擇New Cluster。
在Cluster Parameters配置集群的IP地址和域名,如下。
下一步,如果集群IP地址不止一個(gè),或在其他的站點(diǎn)也有集群。就在其中添加其他集群的IP地址,這個(gè)lab中只有一個(gè)集群,所以這里不用添加,Next。
配置相應(yīng)的規(guī)則如下。
接下來連接到節(jié)點(diǎn),輸入節(jié)點(diǎn)的IP地址。這個(gè)地址是網(wǎng)卡的地址而不是虛擬IP地址。
配置節(jié)點(diǎn)IP及優(yōu)先級(jí),如同上面所述。
增加完節(jié)點(diǎn)后,顯示如下
綠色的表示運(yùn)行正常,如果出現(xiàn)黃色的感嘆號(hào),查看詳細(xì)列表中的錯(cuò)誤信息。多半是因?yàn)闆]有把虛擬IP正常加入到節(jié)點(diǎn)的TCP/IP中。
到此 網(wǎng)絡(luò)負(fù)載平衡(網(wǎng)絡(luò)負(fù)載均衡、NLB、集群) 配置完成了。
相關(guān)文章
多臺(tái)主機(jī)使用DNS服務(wù)器實(shí)現(xiàn)網(wǎng)絡(luò)負(fù)載均衡詳細(xì)教程
訪問企業(yè)網(wǎng)服務(wù)器的用戶急劇增加,一臺(tái)服務(wù)器難以滿足用戶的訪問需要,那么如何才能保證用戶的正常訪問呢?2011-07-21Windows 2003系統(tǒng)網(wǎng)絡(luò)負(fù)載均衡的實(shí)現(xiàn)
在現(xiàn)行的許多網(wǎng)絡(luò)應(yīng)用中,有時(shí)一臺(tái)服務(wù)器往往不能滿足客戶端的要求,此時(shí)只能通過增加服務(wù)器來解決問題。 那么,有沒有一個(gè)辦法或者技術(shù)來解決此類問題呢?使用Windows2008-09-08Windows Server 2003網(wǎng)絡(luò)負(fù)載均衡如何實(shí)現(xiàn)
一、網(wǎng)絡(luò)負(fù)載平衡的優(yōu)點(diǎn) 1.網(wǎng)絡(luò)負(fù)載平衡允許你將傳入的請(qǐng)求傳播到最多達(dá)32臺(tái)的服務(wù)器上,即可以使用最多32臺(tái)服務(wù)器共同分擔(dān)對(duì)外的網(wǎng)絡(luò)請(qǐng)求服務(wù)。網(wǎng)絡(luò)負(fù)載平衡技術(shù)保2008-09-08