網路負載平衡 (NLB) 將單一虛擬 IP 分散至多台伺服器,解決單機效能瓶頸、提供故障快速轉移與彈性擴充。Windows Server 2003 透過建立 NLB 叢集實現,支援 Web、FTP、Proxy、VPN、Windows Media、Telnet 等服務。
NLB 運作原理
- 核心為
WLBS.sys 篩選驅動程式,位於網卡驅動與網路層之間。
- 所有節點同時監聽同一虛擬 IP,根據來源/目的 IP、通訊協定、連接埠、叢集參數與演算法,統一決定由哪一節點處理封包,其餘節點捨棄。
關鍵概念
- 叢集 IP/子網遮罩: 客戶端看見的虛擬對外位址。
- 專用 IP/子網遮罩: 各節點真實本地 IP,唯一識別節點。
- 完整網際網路名稱: 如
cluster.example.com。
- 叢集操作模式: 單播/多播/IGMP 多播,影響 MAC 位址處理與交換機設定。
- 連接埠規則: Win2003 新增,可針對特定應用程式流量控制節點參與度。
- 優先權 (單一主機 ID): 1-32,數值越小優先權越高,處理未定義連接埠規則的流量。
部署需求
- 作業系統: 所有 Win2003 版本支援,可與 Win2000/NT 4.0 混合。
- 網路架構: 支援 FDDI、乙太網路、吉比特乙太網路,不支援 Token Ring。
- 網卡: 需在 Win2003 HCL 清單上。
- 交換器/路由器: 使用 VLAN 時交換器需支援;多播模式下路由器需支援單播 IP 映射多播 MAC 或手動設定靜態 ARP。
- 通訊協定: 叢集網卡僅綁定 TCP/IP,且必須靜態指定 IP(不支援 DHCP)。
- 應用程式: 必須為 TCP/UDP 通訊且支援 NLB(無狀態或具備狀態同步機制)。
設計建議
- NLB 不依據 CPU/記憶體負載分發流量,效能非隨節點數線性增長(網路/CPU 額外負擔隨規模增大)。
- 建議雙網卡架構:一張負載客戶端流量,一張專供叢集心跳、管理、內容複寫通訊,避免單網卡單播模式下節點間無法通訊。
- 搭配 VLAN 隔離叢集內部流量,防止交換器封包氾濫。
正確規劃拓撲、選擇操作模式、配置連接埠規則與優先權,是 NLB 穩定高效運作的關鍵。