Windows Server 2003 網路負載平衡 (NLB) 可將最多 32 台伺服器組成叢集,以單一虛擬 IP (VIP) 對外服務,自動偵測節點失效並重新分派流量,提供高可用性與擴展性。本文以雙節點 (w2003-1, w2003-2) 部署 NLB 叢集並驗證 IIS 負載分散為例,完整說明規劃、安裝、設定、驗證全流程。
| 項目 | 節點 1 | 節點 2 |
|---|---|---|
| 電腦名稱 | w2003-1 | w2003-2 |
| 實體 IP | 202.206.197.190 | 202.206.197.191 |
| 叢集 VIP | 202.206.197.195 | |
| 叢集 FQDN | cluster.heinfo.edu.cn | |
DNS 設定: 在 heinfo.edu.cn 區域新增 A 記錄cluster.heinfo.edu.cn → 202.206.197.195;若無 DNS,用戶端hosts檔加入對應行。
202.206.197.195,子網路遮罩預設。cluster.heinfo.edu.cn。w2003-1 → 「連線」 → 選擇與 VIP 同網段的網卡 (外網卡) → 下一步。
圖 1:新增叢集 - 叢集參數
圖 2:選擇叢集網卡介面
w2003-2 → 連線 → 選擇節點 2 外網卡 (202.206.197.191) → 主機參數:優先權 2、初始狀態啟動 → 完成。
圖 3:加入第二節點
w2003-1 → 選擇叢集 VIP → 完成。inetpub\wwwroot\default.htm 內容:This w2003-1。inetpub\wwwroot\default.htm 內容:This w2003-2。https://cluster.heinfo.edu.cn,觀察輪流顯示兩節點內容。生產環境關鍵: 正式部署時,所有節點網站內容、設定、應用程式狀態 (Session) 必須保持一致。可透過:
- 共用儲存 (SAN/NAS) 掛載
inetpub\wwwroot。- DFS-R / 複寫腳本 同步檔案。
- Session State 儲存於 SQL Server / State Server (非 InProc)。
- 機器金鑰
<machineKey>統一設定 (驗證/ViewState 加密一致)。
重複「加入主機到叢集」步驟,最多可達 32 節點。每新增節點需:唯一優先權、同網段叢集網卡、相同連接埠規則、一致應用程式部署。
| 現象 | 可能原因 | 對策 |
|---|---|---|
| 叢集無法收斂 (節點間心跳失敗) | 網卡不支援多點傳送、防火牆阻擋 IGMP/心跳封包、VLAN 隔離 | 確認網卡 NLB 相容性、開放 IGMP/心跳埠、同一廣播域 |
| VIP 無法 Ping 通 | 叢集未收斂、ARP 衝突、交換器未開啟多點傳送 | 檢查叢集狀態、清除 ARP 快取、交換器啟用 IGMP Snooping |
| 流量不均勻 | 單一用戶端長連線、Affinity 設定、應用層 Session 黏滯 | 調整 Affinity (無/單一/Class C)、應用層無狀態化 |
Windows Server 2003 NLB 以軟體方式實現企業級負載平衡與高可用,零額外硬體成本、原生整合 IIS/終端服務/媒體服務,是中小型 Web 叢集、內部應用叢集的首選方案。嚴謹規劃網路拓撲、節點一致性部署與 Session 狀態管理,是叢集穩定運行的基石。