Windows NLB群集有兩種操作模式:單播模式、多播模式。
一、單播模式
1、單播模式(交換機不允許兩個port注冊相同的MAC地址):二層交換機的每一個端口(PORT)所注冊的MAC地址必須是唯一的,也就是說,每個端口的MAC不能重復,當兩臺服務器成為群集的時候,那么也就意味著,這兩臺服務器的網卡啟用了NLB群集的功能,那么這兩個網卡就有一個相同的MAC地址:00-ab-11-22-33-44即群集MAC。由于兩臺服務器直接連接在二層交換機的端口上,所以這兩個交換機的端口都會被注冊成為00-ab-11-22-33-44,以此,交換機的端口MAC產生了沖突,這是不允許的。如圖:http://www.limingit.com/sitecn/Training_Courses.aspx?columnid=1674

既然出現了問題,那么,我們就要利用MaskSourceMAC的解決這個問題,也就是將群集MAC地址的最高第2組設為主機ID。那么第一臺主機是01,第二臺主機是02.如圖:

2、單播模式(Switch Flooding——交換機泛洪):我們已經知道,交換機的每一個端口都是唯一的,路由器接收到群集IP的數據包時,它會通過ARP地址來查詢群集MAC地址,不過,交換機端口(port)沒有群集MAC地址,因為我們已經通過MaskSourceMAC功能解決交換機端口MAC相同的問題,當然交換機端口也沒有所謂的群集MAC地址,這個時候,交換機就會進行泛洪,其實說白了,就是向每個端口除接收端口進行廣播,這樣會造成額外的網絡負擔,說的通俗點就是,會造成大大的占用網絡帶寬。如圖:

雖然泛洪現象可以造成額外的網絡負擔,不過,群集中的主機都能接收到發來的數據包。那么我們如何解決交換機泛洪問題呢?我們可以先將兩臺群集主機連接在一臺HUB(集線器)上,然后再禁用MaskSourceMAC功能,這樣,只有HUB連接的交換機端口注冊群集MAC,這樣就不會產生泛洪問題了。如圖:

禁用MaskSourceMAC功能的方法:開始——運行——regedit——HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WLBS\Parameters\Interface\Adapter-GUID,將Adapter-GUID值改為0即可。
3、單播模式(群集服務器之間無法相互通信的問題):既然是NLB群集,并且支持著WEB服務,也就意味著,每一臺群集主機上的web內容都是一樣的,我們可以利用DFS復制技術將兩臺群集里的web內容進行同步,那么就必須讓兩臺主機進行通信。如果我們選擇單播模式,并且選擇一塊網卡,那么就會產生兩臺群集主機不通信的問題。如圖:

上圖所示,當左邊的主機要與右邊的主機進行通信的時候,它會通過ARP請求數據包來詢問其主機的MAC地址,而右邊主機回復的MAC地址是群集MAC,也就是和左邊的MAC是一樣的,所以這個時候,無法進行通信。那么解決方法就是,將每臺群集主機安裝兩塊網卡,并且安裝的兩塊網卡不啟用群集服務,這樣通信就不會出現問題了。如圖:

二、多播模式
多播模式的概念:多播,說白了,就是將數據包發送給多臺計算機,這些計算機同屬于一個個多播組,他們擁有一個共同的多播MAC地址。
多播模式的特點:1、NLB群集中每一臺服務器的網卡仍然會保留原來的唯一的MAC地址,所以,群集成員服務器之間是可以正常通信的,那么這么一來,在交換機的端口上注冊的就是原來的唯一的MAC地址。2、NLB群集的服務器都共用一個群集MAC地址,這是一個多播MAC地址,群集里的服務器都是通過多播MAC地址來監聽外部的請求的。
多播的缺點:1、有的路由器不支持,當路由器接收到送往群集IP地址202.106.0.100的數據包時,路由器就會進行ARP廣播,來查詢202.106.0.100的MAC地址,其實就是ARP廣播群集MAC,此時,我們選擇的是多播,所以群集的MAC也就是一個多播(群集)MAC地址,而回復給路由器的就是一個多播MAC地址,那么路由器有可能不承認這個回復信息,換句話說,路由器有可能不接受這樣的結果,因為,路由器要解析的是單播地址202.106.0.100,現在解析到的是一個多播MAC,那么,要想解決這個問題,我們可以手動在路由器上新建一個靜態的ARP條目,202.106.0.100對應一個群集MAC——00-ab-11-22-33-44,這是一個解決辦法,但是,如果路由器不支持這樣的做法,那么我們只好更換路由器,或改為單播模式。如下圖。2、依然存在我們前面所說過的Switch Flooding現象,當我們選擇多播模式以后,每個交換機的端口都是唯一的,但是,路由器接收到送往群集的數據包時,路由器依然會ARP廣播,欲廣播群集的MAC地址,那么現在有這樣的一個情況,交換機的任何一個端口都沒有群集MAC,所以,這個時候,交換機只能進行廣播來獲取群集MAC地址,這樣就產生了泛洪的問題,依然會增大網絡帶寬,增加了網絡負載。在多播模式下如何解決這個問題呢,那么就是利用一臺支持IGMP snooping(Internet group membership protocol窺探)的交換機來解決,這個協議可以自動的發現,連接在交換機上的哪個服務器屬于一個多播組,那么只要交換機接收到送往群集的數據包,直接會被送往交換機的部分端口,也就是屬于多播組的服務器。如下圖。

posted on 2013-07-12 17:56
弱弱小女子 閱讀(2360)
評論(0) 編輯 收藏