Windows Server 2008怎麼設定網路負載(Network LoadBalance)

Windows 2003設定NLB相信大家對於該部份不默生,但是在Windows 2008的NLB設定似乎與2003的界面相差太大
害大家都找不到,當然Jason的同事也有相關的問題,那麼如果Jason不會設定NLB
那MCITP-Enterprise administrator及Server administrator一定是背來的 …

Windows 2003設定NLB相信大家對於該部份不默生,但是在Windows 2008的NLB設定似乎與2003的界面相差太大
害大家都找不到,當然Jason的同事也有相關的問題,那麼如果Jason不會設定NLB那MCITP-Enterprise administrator及Server administrator一定是背來的
光是衝著這句話,Jason就一定要在這裡跟大家分享一下,其實兩者大同小異,差異…不大,只是界面上比較生疏一點點。

首先我們先來解釋一下Windows Server的LoadBalance要那些需求:
1.一定要有兩台以上的伺服器。
2.要有n+1個IP(例如:四台伺服器要做NLB那要有5個IP)
3.最好有內部的網路串接(Jason指的是有一個封閉的LAN,方便伺服器不要跟外部使用者搶頻寬)
※要對外服務的網路接到WAN,要伺服器們相互溝通的接到另一個封閉的LAN。

其工作原理就是不論有多少台伺服器,全部都虛擬一個共用的IP,依照負載平衡的類型來做分配(Active/Active, Active/Standby…)
因此,使用者在外端就只會看到一個IP,而後端有多少台伺服器呢?使用者並不需要知道

另外有同事問到LoadBalance的效能如何呢?基本上在軟體的loadbalance之上的效能一定不會是1+1=2,但可以提高可用度(Availability)
對於DoS或DDoS攻擊承受如何呢??這個嘛!!!如果千軍萬馬攻過來,即使你做的再強,正常的頻寬還是被消耗掉還是達陣成功
所以只能單純的提升A.I.C.中的A,下面就是NLB的示意圖,請看~~~

 負載平衡架構
NLB示意圖

這在個例範中,我們就以兩台伺服器要建置一個LoadBalance的架構來看,其預設環境如下:

共用IP為:192.168.1.243
網域名稱為:www.jason.com.tw

A伺服器
內部IP:10.10.10.1
外部IP:192.168.1.241

B伺服器
內部IP:10.10.10.2
外部IP:192.168.1.242

首先於『開始』->『系統管理工具』->『伺服器管理員』
未命名 - 6

於『伺服器管理員』中選擇『功能』,並選擇『新增功能』
未命名 - 7

核選『網路負載平衡』,並按下『下一步』按鈕進行安裝
未命名 - 9
未命名 - 11
未命名 - 12

安裝完成後,你可以在『開始』->『系統管理工具』中就會看到『網路負載平衡管理員』
 未命名 - 14

接下來,請在A伺服器上執行『網路負載平衡管理員』並且選擇『叢集』->『新增』
未命名 - 15
 

於連線中選擇連線至A伺服器的IP(192.168.1.241)上再按下連線,並且選擇Outbound的網路卡做為叢集的界面。
未命名 - 17

在叢集的架構之下,有主機的識別元,這個是應用在Active/Standby模式下的應用,依照識別元的順序來做分配流量的依據。
 未命名 - 18

接下來要設定叢集的IP,將要使用做為公用的叢集IP(192.168.1.243)新增至叢集設定中。
未命名 - 19
未命名 - 20

完成叢集IP設定後,可選擇輸入FQDN及叢集操作模式。
叢集操作模式的解說如下:(由MSDN轉載而來)
●若您選取單點傳播支援,NLB 會自動指示屬於叢集介面卡的驅動程式覆寫介面卡的唯一、內建網路位址,並將其 MAC 位址變更為叢集的 MAC 位址。這是用在所有叢集主機上的位址。您不需要手動設定網路介面卡來辨識此位址。(請注意,某些網路介面卡不支援變更其 MAC 位址。如果您遇到此問題,就必須安裝支援變更 MAC 位址的網路介面卡。)
以上說明如果很難理解可以向Jason詢問,不過,一般狀況之下,我們會設定成為單點傳播,以降低因硬體或網路環境可能造成的問題。
●[叢集操作模式] 參數指定是否應針對叢集操作使用多點傳送 MAC 位址。如果多點傳送已啟用,NLB 會將屬於叢集介面卡的叢集 MAC 位址轉換為多點傳送位址。它也可確保叢集的主要 IP 位址解析為此屬於 ARP 通訊協定的多點傳送位址。介面卡現在可使用單點傳播模式中停用的原始、內建 MAC 位址。
●在多點傳送模式中,您也可啟用網際網路群組管理通訊協定 (IGMP) 支援,這可限制流量只流向網路負載平衡連接埠來限制切換氾濫。也就是說,啟用 IGMP 支援可確保供 NLB 叢集處理的流量只通過服務叢集主機的連接埠而非所有切換連接埠。
未命名 - 21 

接下來必須選擇連接埠的規則,其中包含有要做負載平衡的連接埠範圍、協定範圍、篩選模式。
當然各位大大對於前兩者(連接埠範圍、協定範圍)不會有啥問題,那麼篩選模式呢??
●[多重主機](Active/Active) 參數指定叢集中的多部主機會處理相關連接埠規則的網路流量。此篩選模式可將網路負載分散到多部主機,提供延展的效能與容錯。您可指定負載平均分散到各主機或各主機處理指定的負載權數。
●[單一主機] (Active/Standby)參數指定叢集中的單一主機根據指定的處理優先順序處理相關連接埠規則的網路流量。此篩選模式為處理網路流量提供連接埠特定容錯。
●[停用這個連接埠範圍] 應該沒有人會選這一個吧,選擇這個選項代表不會有loadbalance的功能,因為你把它停用掉了。

但是選定了多重主機又有三個選項,這三個選項是分配的依據:
●[無] 選項指定來自相同用戶端 IP 位址的多個連線可由不同的叢集主機處理 (沒有用戶端相似性)。為了讓網路負載平衡可正確處理 IP 片段,針對通訊協定設定選取 [UDP] 或 [兩者] 時,應避免使用 [無]。
●[單一] 選項指定 NLB 應將來自同一個用戶端 IP 位址的多個要求導向到同一部叢集主機。這是 [相似性] 的預設設定。您可選擇修改 NLB 用戶端相似性,啟用 [網路] 選項而非 [單一] 選項,將來自 TCP/IP C 類別位址範圍 (而非單一 IP 位址) 的所有用戶端要求導向到單一叢集主機。此功能確保使用多部 Proxy 伺服器存取叢集的用戶端可使其 TCP 連線導向到同一部叢集主機。
●[網路] 選項指定 NLB 將來自同一個 TCP/IP C 類別位址範圍的多個要求導向到同一部叢集主機。啟用 [網路] 相似性而非 [單一] 相似性,確保使用多部 Proxy 伺服器存取叢集的用戶端可使其 TCP 連線導向到同一部叢集主機。
※選擇用「無」會很平衡的將連線平均的分配到每台叢集主機上,選擇單一可以確保session不會有中斷的問題,選擇網路則是以c class的網段來分配連入主機。
因此我們先以靜態網頁的設定選擇使用「無」相似性。完成於伺服器設定NLB後。
未命名 - 22
未命名 - 23

切換至伺服器B,開啟『網路負載平衡管理員』->『叢集』->『連線到現有的叢集』
未命名 - 24

並輸入伺服器的封閉IP(10.10.10.1)按下連線,此時伺服器B會透過封閉連線向伺服器A要求Loadbalance相關設定及通訊。
選定叢集名稱後,點下完成,隨即可以於伺服器B以封閉連線向伺服器A登入叢集。
未命名 - 26 

於叢集名稱上按『右鍵』選擇『新增主機到叢集』
未命名 - 27

輸入伺服器B的封閉IP(10.10.10.2)點選連線,並且選擇外部IP(192.168.1.242)加入叢集介面中
未命名 - 28

設定主機參數部份來設定優先順序的主機識別元並點選下一步
未命名 - 29

此時伺服器B會向叢集取得連線規則,若此時要再加入其它規則也會一併的發佈至叢集中
未命名 - 30

完成後切換至伺服器A中點選『叢集』->『重新整理』,可以於叢集中看到伺服器B已交集至叢集中了。
未命名 - 31
未命名 - 32

接下來於伺服器A上瀏覽網頁可看到預設的文件”我是ServerA”
未命名 - 33 

切換至伺服器B上上瀏覽網頁可看到預設的文件為我是ServerB
未命名 - 34

呼~~~~!拉拉雜雜的寫了一大篇,希望對要考MCITP的伙伴或是必須要設定高可用性架構的苦主有所幫助,有任何建議請您不吝指教,謝謝大家~!

 

參考資料 

# Geek Lectures - Things geeks should know about » Blog Archive » Installing Network Load Balancing (NLB) on Windows Server 2008
PingBack from http://geeklectures.info/2008/01/07/installing-network-load-balancing-nlb-on-windows-server-2008/

Tuesday, January 08, 2008 12:50 AM by Geek Lectures - Things geeks should know about » Blog Archive » Installing Network Load Balancing (NLB) on Windows Server 2008
# MSDN Blog Postings » Installing Network Load Balancing (NLB) on Windows Server 2008
PingBack from http://msdnrss.thecoderblogs.com/2008/01/08/installing-network-load-balancing-nlb-on-windows-server-2008/

Tuesday, January 08, 2008 12:52 AM by MSDN Blog Postings » Installing Network Load Balancing (NLB) on Windows Server 2008
# Microsoft Windows Update » Installing Network Load Balancing (NLB) on Windows Server 2008
PingBack from http://microsoft-windows-update.blogyblog.info/?p=4834

Tuesday, January 08, 2008 1:45 AM by Microsoft Windows Update » Installing Network Load Balancing (NLB) on Windows Server 2008
# Anderson Patricio Blog » Blog Archive » Installing Network Load Balancing (NLB) on Windows Server 2008
PingBack from http://blogs.msexchange.org/patricio/2008/01/08/installing-network-load-balancing-nlb-on-windows-server-2008/

Tuesday, January 08, 2008 11:00 AM by Anderson Patricio Blog » Blog Archive » Installing Network Load Balancing (NLB) on Windows Server 2008
# Discount Airline Tickets » Installing Network Load Balancing (NLB) on Windows Server 2008
PingBack from http://www.travel-hilarity.com/travel-airline-tickets/?p=603


Anything keeps Availability.
Anywhere keeps Integrity.
Anytime keeps Confidentiality.
keep A.I.C. = Information Security