WINDOWS2008網絡負載平衡羣集(NLB)完全攻略

這段時間公司的ERP系統正在開發當中,由於該系統併發連接用戶比較多,要求必須使用windows2008中的NLB羣集完成服務器佈署,經過幾天的佈署,終於將服務器搭建好,現將佈署過程用實驗的形式整理下來,並對NLB中所涉及到的相關知識做了一定的描述:
1. 什麼是羣集
羣集是指一組服務器,通過彼此的協同作業,提供一個相同的服務或應用程序,用於提升服務或應用程序的可用性(availability)、可靠性(reliability)和可擴展性(scalability)。當羣集內的服務器down掉以後,服務請求會轉給其它羣集內的節點,以實現24小時不中斷的服務
2. Windows server 中的羣集類型
Windows server 支持三種類型的羣集,分別是NLB、CLB和MSCS。NLB與MSCS內置於windows server中,CLB需要購買Application Center
a) NLB:提供以TCP/IP 爲基礎的服務與應用程序的網絡流量負載均衡,用於提升系統的可用性和可擴展性。常見的應用有Terminal Service、Web、***與FTP等。
b) CLB:提供使用COM+組件的中介層應用程序的動態負載均衡,用於提升系統的可用性和延展性。CLB會依據目前的工作負載來決定由誰來處理服務請求。
c) MSCS:提供後端服務與應用程序的容錯移轉(failover),主要是提升系統的可用性。常見的應用有SQL Server與Exchange Server等。MSCS是由client來決定由誰來處理服務請求,所有服務器共享一個share storage來儲存session狀態。當主動服務器掛了,則繼續由被動服務器接手。被動服務器會從share storage取出session狀態,繼續未完成的工作,以達到容錯移轉的目的
3. NLB的工作原理:
a) 圖示:
clip_image002
b) 節點A與節點B均有一個外部使用的靜態IP地址,創建NLB羣集時會產生一個虛擬的IP,該IP與節點的IP在同一個網段內,對外公佈的 IP爲虛擬的羣集IP,而客戶機所訪問的實際上爲節點A或者節點B。
4. WINDOWS2008下的NLB配置
a) NLB配置的環境要求
i. 網卡:所有網卡必須與WINDOWS2008兼容,單網卡或多網卡均可配置該服務,推薦使用多網卡。
ii. 網絡模式:工作組和域環境均可完成,在2008中最多可以支持32個節點。
iii. 交換機和路由器要求:交換機必須支持VLAN,有些交換機和路由器有可能需要手工設置多播MAC地址。
iv. 通訊協議:綁定到羣集的網絡適配器只能安裝TCP/IP協議,必須靜態分配,不支持DHCP。
v. 應用程序的要求:必須是TCP或UDP通訊,而且確定當前應用程序或服務必須支持NLB。
b) 實驗拓樸圖:
兩臺windows 2008 entprise edition 雙網卡服務器
clip_image002[4]
c) 實驗步驟:
i. 搭建網絡並測試網絡連通性(按圖示上的網絡配置)
ii. 在兩個節點上分別安裝WEB服務並設置不同的html文檔,方便檢測實驗效果:
clip_image006
clip_image008
iii. 安裝網絡負載平衡管理工具
clip_image010
iv. 打開NLB管理器--羣集--新建--輸入節點A主機名:
clip_image012
v. 點擊”連接”後選擇用於配置羣集的網絡接口。
clip_image014
vi. 添加羣集虛擬IP
clip_image016
vii. 設置FQDN,選擇羣集操作模式(推薦使用雙網卡單播模式)
單播:單播模式是指各節點的網絡適配器被重新指定了一個虛擬MAC(由02-bf和羣集IP地址組成確保此MAC的唯一性)。由於所有綁定羣集的網絡適配器的MAC都相同,所以在單網卡的情況下,各節點之間是不能通訊的,這也是推薦雙網卡配置的原因之一。爲了避免交換機的數據洪水,應該結合VLAN使用。
多播:網絡適配器在保留原有的MAC地址不變的同時,還分配了一個各節點共享的多播MAC地址。所以,即使單網卡的節點之間也可以正常通訊,但是大多數路由和交換機對其支持不是太好。
IGMP
多播:IGMP多播,在繼承多播的優點之外,NLB每隔60秒發送一次IGMP信息,使多播數據包只能發送到這個正確的交換機端口,避免了交換機數據洪水的產生。
clip_image018
viii. 配置端口規則後確定並等待聚合完成:
clip_image020
羣集IP地址:指定規則所針對的羣集IP
端口範圍:默認爲所有,可以指定羣集監聽的端口範圍(如從80到80,表示只針對web服務實現負載均衡)
協議:指定羣集所服務的協議類型
篩選模式:a:多個主機:
                          無相似性: 客戶端的服務請求會平均分配到羣集內的每一部服務器。假設NLB羣集內有2部服務器。當接到客戶端的請求時,NLB會將第1個請求交由第1部服務器來處理,第2個請求交由第2部服務器來處理,第3個請求交由第1部服務器來處理,…依此類推。因爲所有客戶端聯機會平均分配到每一部服務器,因此可以達到最佳的負載平衡。如果需要執行交易處理,爲了能夠共享session狀態,則必須將session狀態集中儲存在state或database server中,這種方式適用於大部分的應用程序。
                        單一相似性:客戶機的服務請求會固定分配到羣集內的某一部服務器。當接到客戶機的請求時,NLB會根據客戶機 的IP來決定交由哪一部服務器來處理,也就是一部服務器只會處理來自某些IP的請求。因爲一個IP的服務請求只會固定由一個服務器來處理,因此沒有session狀態共享的問題,但可能會導致負載不平衡。這種方式適用於聯機需支持 SSL 集多重聯機的通訊協議 ( 例如FTP與PPTP等)
                        網絡(類C:根據IP的Class C屏蔽來決定交由哪一部服務器來處理,也就是一部服務器只會處理來自某些網段C的請求。這種方式可確保使用多重 Proxy 的客戶端能導向到相同的服務器。
                   b.單一主機:若選擇此選項,該端口範圍內的所有請求都將由一臺主機來進行處理,此選項將配合後面的主機優先級來進行主機判定。
                  c. 禁用此端口範圍:一般這個選項會在端口例外中進行設置,也就是說,當我們指定了一個比較大的範圍端口時,其中有一個或幾個端口我們不需要 客戶端用戶訪問到,這時我們將利用這個規則來進行設定,防止用戶訪問此端口請求。
ix. 聚合完成後在第二個節點上連接到已經創建好的羣集
clip_image022
x. 將第二個節點加入到現存羣集
clip_image024
xi. 聚合完成後通過羣集ip可訪問WEB站點
clip_image026
xii. 斷開節點A的網絡連接後,自動切換到節點B
clip_image028
至此所有操作完成,特別注意:在生產環境中使用除非你確定你們公司的路由器支持多播模式,否則請最好使用雙網卡單播模式,並在路由上對ARP表做手動設置,否則可能會出現跨網段無法訪問羣集ip的錯誤。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章