Windows-Server-2003
網路負載平衡問題
概括
我在 NLB 集群中有兩台機器。如果我關閉一台機器(以模擬故障),那麼第二台不會承擔負載。我正在尋求幫助以診斷其原因。
細節
我已經建構了一個由兩個網路負載平衡主機組成的測試/登台系統。這些主機實際上是在 VMware Server 下執行的虛擬機。每台主機都執行應用了 SP2 的 Windows 2003 Server Enterprise,並且每台主機都有兩個 NIC。它們是新建的,除了安裝 IIS6 之外,配置更改很少。
IP地址如下:
- 主機 1:專用:192.168.0.140 集群:192.168.0.141
- 主機 2:專用:192.168.0.142 集群:192.168.0.143
- 集群IP地址:192.168.0.144
- 子網遮罩:255.255.255.0
在每台主機上,我都設置了連接綁定順序,以便首先使用專用連接。
集群配置為使用單播,因為我需要使用專用 NIC 的主機之間的通信,並且我沒有適合多播的路由器。主機 1 是優先級 1,主機 2 是優先級 2。權重設置為“相等”。
有一個單一的埠規則:
- 所有集群 IP 地址
- 埠範圍 80 到 80
- 所有協議
- 無親和性的多主機過濾
創建集群沒有問題,並且收斂正常。我可以 ping 集群地址,並且對該地址的 http 請求返回預期的結果。我從一台單獨的機器上執行此操作,始終使用 IP 地址。
**問題:**當我關閉主機 1(模擬主機故障)時,我希望主機 2 能夠響應集群地址上的 ping 和 http 請求,但這並沒有發生。看起來主機 2 沒有做任何事情。
**問題:**誰能建議我如何解決這個問題?我錯過了什麼?
我檢查了以下內容:
- IP 地址和子網遮罩設置如上。專用連接指定了網關和 dns 地址,集群連接沒有。
- 集群 NIC 的 MAC 地址在兩台機器上相同。
- 集群連接綁定到適當的本地 IP 地址和集群 IP 地址。
(我是開發人員,而不是 IT 人員,如果我的術語有誤或不准確,敬請見諒)
問題的原因原來是我使用單播模式創建 NLB 集群,這與 VMware 的虛擬化網路管道存在兼容性問題。當我使用多播重新創建集群時,它工作正常。
Microsoft 的文件建議使用單播是最簡單的選項,因為它不需要更改路由器配置。在 VMware 下情況並非如此,這將需要更改一些網路配置。多播模式似乎只是工作。
有用的連結:
- Microsoft NLB 在單播模式下無法正常工作- 描述了單播在 VMware 下無法輕鬆工作的原因,以及如果您真的想使用它該怎麼做。連結頁面指的是 ESX 伺服器,但它似乎也適用於 VMware 伺服器。
- 範例配置 - 網路負載平衡 (NLB) 多播模式配置- 如何使用多播模式設置集群。
- 在虛擬化環境中實施 Microsoft 網路負載平衡 (pdf)
- 最佳網路負載平衡 (NLB) 配置- 一些有用的背景