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_p_w_picpath002
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_p_w_picpath002[4]
c) 實驗步驟:
i. 搭建網絡並測試網絡連通性(按圖示上的網絡配置)
ii. 在兩個節點上分別安裝WEB服務並設置不一樣的html 文檔,方便檢測實驗效果:
clip_p_w_picpath006
clip_p_w_picpath008
iii. 安裝網絡負載平衡管理工具
clip_p_w_picpath010
iv. 打開NLB管理器--羣集--新建--輸入節點A主機名:
clip_p_w_picpath012
v. 點擊」 鏈接」 後選擇用於配置羣集的網絡接口。
clip_p_w_picpath014
vi. 添加羣集虛擬IP
clip_p_w_picpath016
vii. 設置FQDN,選擇羣集操做模式( 推薦使用雙網卡單播模式)
單播:單播模式是指各節點的網絡適配器被從新指定了一個虛擬MAC(由02-bf和羣集IP地址組成確保此MAC的惟一性)。因爲全部綁定羣集的網絡適配器的MAC都相同,因此在單網卡的狀況下,各節點之間是不能通信的,這也是推薦雙網卡配置的緣由之一。爲了不交換機的數據洪水,應該結合VLAN使用。
多播:網絡適配器在保留原有的MAC地址不變的同時,還分配了一個各節點共享的多播MAC地址。因此,即便單網卡的節點之間也能夠正常通信,可是大多數路由和交換機對其支持不是太好。
IGMP
多播:IGMP多播,在繼承多播的優勢以外,NLB每隔60秒發送一次IGMP信息,使多播數據包只能發送到這個正確的交換機端口,避免了交換機數據洪水的產生。
clip_p_w_picpath018
viii. 配置端口規則後肯定並等待聚合完成:
clip_p_w_picpath020
羣集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_p_w_picpath022
x. 將第二個節點加入到現存羣集
clip_p_w_picpath024
xi. 聚合完成後經過羣集ip 可訪問WEB 站點
clip_p_w_picpath026
xii. 斷開節點A的網絡鏈接後,自動切換到節點B
clip_p_w_picpath028
至此全部操做完成, 特別注意:在生產環境中使用除非你肯定大家公司的路由器支持多播模式,不然請最好使用雙網卡單播模式,並在路由上對ARP表作手動設置,不然可能會出現跨網段沒法訪問羣集ip的錯誤。
相關文章
相關標籤/搜索