客戶的web服務器是2003系統,爲了保證業務的正常運行,一直有另一臺相同的web服務器做冷備。然而冷備的缺點就是假如生產機宕掉或者服務停掉,就需要手工的將冷備的機器切換上線;這樣便造成了業務正常運行的斷點。
爲保證業務的正常連續運行,需要做負載均衡同時也是雙機熱備,此次先在非生產環境做好實驗。
一、環境描述:
VMware Workstation版本:10.0.0 build-1295980
操作系統:win2003企業版
每臺虛機需要兩塊網卡,一塊網卡用於綁定羣集ip,實驗中稱爲公網網卡;另一塊用於節點間相互通訊,試驗中稱爲內網網卡。
計算機a:公網地址:192.168.137.19
內網地址:100.0.0.1
計算機b:公網地址:192.168.137.29
內網地址:100.0.0.2
集羣ip地址:192.168.137.39
兩臺虛機的管理員 Administrator密碼需一致,不能爲空,否則會在添加主機到羣集時需添加用戶名/密碼,出現未知錯誤。
二、具體實施
1、先做好一臺win2003的虛擬機,需要注意的是網卡設置成橋接模式,存放虛機的文件夾命名爲cp1。
2、複製做好的虛機
3、打開虛機1,需再添加一塊網卡,同樣是橋接模式。
4、打開虛機2(即複製過的虛機),需先添加兩塊網卡,同樣是橋接模式。然後再把原先的網卡刪掉。
5、開機,提示如下選項時,選擇複製
6、配置管理員密碼並安裝IIS,記得選擇asp.net,否則容易出錯誤。
7、配置網卡地址,不要選擇網絡負載平衡
計算機a的地址
計算機b的地址
8、打開網絡負載平衡管理器
9、選擇新建
10、注意羣集參數選擇多播
11、默認下一步
12、將默認的這條規則去掉
13、輸入本機的內網網卡地址,選擇公網網卡作爲羣集的網卡。
14、優先表示符的意思是機器的優先替代順序,1號機宕掉的話2號機會替代上來,以此類推。
15、點擊“完成”後,等待配置結果。
顯示綠色配置成功。
16、添加另外一臺主機,進入另外一臺計算機b上,打開網絡負載平衡管理器,選擇連接到現存的集羣。(一定是進入另一臺計算機b添加,如果還在a上添加會報通訊藉口錯誤)
17.輸入計算機a的地址,添加集羣
18、然後選擇添加主機到集羣
19、選擇計算機b的公網網卡地址並連接,在可用接口中選擇公網地址:
20、等待時間比較長,結束
21、測試
分別在兩臺計算機建立網站,網站文件夾新建文本文檔,重名爲“index.html”,a的index.html內容爲a的公網地址:192.168.137.19;b的index.html內容爲b的公網地址:192.168.137.29。瀏覽器輸入192.168.137.39,顯示內容爲a的公網地址:192.168.137.19
22、禁用a的公網網卡,再次刷新頁面,顯示內容爲b的公網地址:192.168.137.29
三、總結
當然,以上只是測試的時候,爲了驗證網絡負載平衡的效果,兩個網站的內容不一致,而在正式應用的時候,網絡負載平衡羣集的每個節點計算機的內容將是一致的,這樣,不管使用那一個節點響應,都保證訪問的內容是一致的。
第十步中的幾個選項解釋
單播
在單播模式下,NLB服務會重新對每個節點中啓用NLB的網卡分配MAC地址(此MAC地址稱爲羣集MAC地址),並且所有的NLB節點均使用相同的MAC地址(均使用羣集MAC地址),同時NLB會修改所有發送的數據包中的源MAC地址,這樣就導致交換機不能將此羣集MAC地址綁定在某個端口上。
工作在單播模式下的NLB可以在所有網絡環境下正常運行(兼容性最好),但是由於它的工作特性,具有以下兩個限制:
1.由於NLB所使用的羣集MAC地址沒有綁定在某個具體的交換機端口上,所以所有的NLB通訊均通過在交換機的所有端口上廣播進行,而不管此端口是否連接了NLB節點,這造成了額外的網絡流量負擔;
2.由於所有的NLB節點具有相同的MAC地址,NLB節點之間不能通過自己原有的專用IP地址進行通訊。 (例如我們見得最多的就是節點之間就無法ping通)
多播
在多播模式下,NLB不會修改NLB節點啓用NLB的網絡適配器的MAC地址,而是爲它再分配一個二層多播MAC地址專用於NLB的通訊(此MAC地址稱爲羣集MAC地址),這樣NLB節點之間可以通過自己原有的專用IP地址進行通訊。但是在多播模式中,NLB節點發送的針對羣集IP地址/MAC地址ARP請求的ARP回覆會將羣集IP地址映射到多播MAC地址,而許多路由器或者交換機(例如,港灣和思科的某些產品)會拒絕這一行爲。如何解決呢?方法是手工在路由器或交換機上添加靜態映射,將羣集IP地址映射到羣集的多播MAC地址。
此外,Windows Server 2003提供了一個新的特性,稱爲IGMP 多播,它可以通過使用IGMP協議支持來使交換機只將NLB通訊發送到連接NLB節點的端口,而不是所有交換機端口。但是此特性必須要求交換機支持IGMP偵聽,並且要求羣集工作在多播模式下。