Windows Server 2008 R2 負載平衡入門篇


 

  1. 支持群集功能,一個群集最多支持32台服務器。
  2. 支持網絡地址轉換(NAT)功能,能把請求自動轉發到 NLB 群集上對各台服務器。
  3. 實現管道化式管理,允許向 NLB 群集同時發送多個請求。
  4. 支持多地址多端口管理,每台服務器可以綁定多個虛擬 IP,每個虛擬 IP 可建立多個開放式端口。
  5. 支持故障快速恢復功能,當服務器出現故障重啟后將自動恢復群集聯機。
  6. 支持單播、多播、IGMP多播多種群集操作模式。
  7. 支持事件日志管理,可以快速查閱群集事件記錄。

 

三、NLB 使用方式

3.1.  打開 “服務管理器”,添加 “網絡負載平衡” 功能。

3.2. 安裝完成后,打開“網絡負載平衡管理器”

3.3.新建群集,連接到作為群集服務器當中的一台主機

3.4.為此主機綁定優先級數,和專用的IP地址,一台主機可以綁定多個IP地址

3.5.建立群集IP地址以進行負載平衡,若存在多個IP地址系統將會以第一個IP作為此群集的IP對信息進行檢測。

3.6.設定群集參數,此處可設定群集完整的Internet名稱,確定其操作模式。此處需要稍作解釋:

3.6.1 單播模式
指把各主機節點重時指向同一個虛擬MAC地址,在此情況下各節點之間不能實現通訊。

3.6.2 多播模式
指各主機節點都保留原有的MAC地址,此外再外加專用於NLB的通訊MAC地址,使各節點之間能正常實現通訊。但並非所有的路由器或交換機都支持多播模式,使用時需要謹慎處理。

3.6.3 IGMP多播模式
建立在多播模式功能之上,在默認情況下每隔60秒發送一次IGMP信息。它可以確保發送給網絡負載平衡群集的通訊只通過服務於群集主機的端口,而不是所有交換機端口。

注意: 由於並非所有路由器或交換機都支持多播模式,所以在不確定的情況下最好使用雙網卡單播模式,並且預先設置好ARP,否則可能造成跨網段無法訪問群集ip的錯誤。

3.7 綁定群集開放的端口,此處可為主機設置一定范圍內的開放端口。置於TCP、UDP協議就不多作解釋,一般設置只使用TCP協議使數據傳輸更具備可靠性和安全性。此處對篩先模式稍作解釋:

3.7.1 多主機
該參數指定了群集中多個主機處理與端口規則相關的網絡通訊。通過在多個主機之間分布網絡負載,該篩選模式提供了可縮放性能以及容錯。可以指定在主機之間均衡分布負載,或每個主機處理指定的負荷量。在多主機相似性選項中,存在3種選擇:

  • “無”選項:指定來自同一客戶端 IP 地址的多條連接可由不同的主機(無客戶端的相似性)進行處理。第一次請求可能指向主機A,第二次請求可能指向主機B,為了實現在多台主機之間共享session,系統應該預先把session作出持久化處理。若使用ASP.NET進行開發時,可通過命令: 
    aspnet_regsql.exe -S 〈SQL Server IP> -U 〈User Name> -P 〈Password> -E -ssadd -sstype c -d 〈Database Name>
    建立用於Session持久化保存的數據庫
  • “單一”選項:指定網絡負載平衡應該將來自同一客戶端 IP 地址的多個請求導向同一台群集主機。這是相似性的默認設置。
  • “網絡”選項指相似性指定網絡負載平衡將來自同一個 TCP/IP C 類地址范圍的多個請求定向到同一台群集主機。比如在客戶端使用了多台代理服務器對群集進行訪問時,請求看起來像源自不同的計算機。啟用“網絡”相似性選項,可以正確處理同一客戶端多個代理服務器的session會話數據。

3.7.2 單一主機
該參數指定群集中的單個主機根據指定的處理優先級來處理相關端口規則的網絡通訊。該篩選模式為處理網絡通訊提供了端口專用的容錯性能。

3.7.3 禁用該端口范圍
該參數指定阻止相關端口規則的所有網絡通訊。在這種情況下,網絡負載平衡驅動程序將篩選所有相應的網絡數據包或數據報。該篩選模式可讓您阻止傳送到特定范圍的端口的網絡通訊。

3.8 在完成群集配置后,在群集上按右鍵,選擇 “添加主機到群集”,重復 3.3 、3.4安裝步驟,可連接多台群集主機。

 

四、網絡負載平衡群集系統測試

建立一個ASP.NET項目,加入以下 Default.aspx 頁面,然后建立一個群集,綁定IP為192.168.1.110,在編輯 “端口規則” 時,選擇 “多主機無相關性” 篩選模式。最后分別在群集加入Virtual-PC-A1、Virtual-PC-A2兩台主機。使用第三方客戶端進行訪問時,多次點擊 NewPage 連接時,可檢測到系統會把請求連接到不同的主機之上。

復制代碼
 1 <html xmlns="http://www.w3.org/1999/xhtml">
 2 <head runat="server">
 3     <title></title>
 4     <script type="text/C#" runat="server">
 5         protected void Page_Load(object sender, EventArgs e)
 6         {
 7             String hostName = System.Net.Dns.GetHostName();
 8             Response.Write(hostName+"<br/>");
 9             IPAddress[] addressList = System.Net.Dns.GetHostAddresses(hostName);
10             foreach(IPAddress address in addressList)
11                Response.Write(address.ToString()+"<br/>");
12         }
13     </script>
14 </head>
15 <body>
16     <form id="form1" runat="server" >
17     <div align="left"> 
18        <a href="http://192.168.1.110/Default.aspx" target="_blank">New Page</a>     
19     </div>
20     </form>
21 </body>
22 </html>
復制代碼

測試結果

 

五、NLB 安裝注意事項

5.1.如果需要使用“域”服務,一般在安裝 “網絡負載平衡” 管理器前,先添加“Active Directory 域服務” 角色,並進行林、域配置。

 
若服務器需要使用IIS或者ASP.NET,那么在安裝 NLB 前建議先添加Web服務器(IIS)服務器角色和 .NET Framework 3.5 功能


5.2.要建立 “網絡負載平衡群集” ,需要先在 “高級共享設置” 中打開 “啟用網絡發現” 功能。

若無法打開 “啟用網絡發現” 功能,可先在服務管理器中打開以下3項服務:

  • Function Discovery Resource Publication
  • SSDP Discovery
  • UPnP Device Host


5.3. 若使用VMware、Hyper-V等虛擬化工具,在網絡中實現信息共享時無法查找到其他虛擬主機,可嘗試檢查虛擬機設置時“網絡適配器”是否使用同一種“網絡連接方式”,並且已打開“網絡共享服務”功能。


5.4.在“網絡負載平衡管理器”中建立群集,群集連接主機時顯示“RPC連接服務器不可用”等錯誤信息,可嘗試檢查主機有否打開“Remote Procedure Call(RPC)”和“Remote Procedure Call(RPC)Locator” 服務,並查檢“Remote Procedure Call(RPC)的屬性——依存關系——依賴服務” 的“狀態”是否已經全部設置為 “已經啟動” 或 “啟動類型” 設置為 “自動”。


5.5. 若使用虛擬化工具克隆主機,在群集連接主機時顯示 “指定主機沒有可用於安裝新的群集的任何接口”,這可能是在克隆主機時多台主機使用同一個MAC造成的,此時可以嘗試卸載網絡適配器的驅動程序,然后再進行驅動軟件更新。


5.6.若在群集連接主機時顯示出現錯誤提示 “在主機 ‘MyPC上的NLB管理器’ 不能繼續,因為沒有安裝Microsoft群集服務” 。可以檢查服務器上是否已經成功安裝 “網絡負載平衡” 服務,然后打開 “本地連接-屬性”,選擇“網絡負載平衡(NLB)”。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM