前言:為何需要網路負載平衡?
在現今的網路應用環境中,單一伺服器往往難以滿足龐大的用戶端請求。透過增加伺服器數量並搭配負載平衡技術,可有效分散流量、提升回應速度並確保服務高可用性。Windows Server 2003 內建的網路負載平衡 (NLB) 叢集功能,提供了經濟實惠且強大的解決方案。
NLB 核心優勢
- 擴展性強:支援最多 32 台伺服器共同分擔請求,即便在高負載下仍能快速回應。
- 單一入口:對外僅需提供一個虛擬 IP 位址 (叢集 IP) 或網域名稱,客戶端無需知悉後端伺服器細節。
- 高可用性:當叢集中任意節點故障時,NLB 會自動偵測並將流量重新導向剩餘健康節點,服務不中斷。
- 成本效益:可在一般商用電腦硬體上直接部署,無需昂貴的專用負載平衡器。
適用應用場景
NLB 適用於無狀態的 TCP/IP 服務,例如:
- Internet Information Services (IIS) 網頁伺服器
- ISA Server 2000 防火牆/代理伺服器
- VPN 虛擬專用網路
- 終端機服務
- Windows Media Services 串流媒體
實作範例:雙節點 NLB 叢集建置
環境規劃
| 角色 | 電腦名稱 | 專用 IP |
| 節點 1 | w2003-1 | 202.206.197.190 |
| 節點 2 | w2003-2 | 202.206.197.191 |
叢集虛擬 IP: 202.206.197.195
叢集完整網域名稱 (FQDN): cluster.heinfo.edu.cn
DNS 與名稱解析設定
- 在 DNS 伺服器 (heinfo.edu.cn 區域) 新增主機 (A) 記錄,指向 202.206.197.195。
- 若無 DNS 環境,可在每台用戶端 (含 NLB 節點) 的
%systemroot%\system32\drivers\etc\hosts 檔案加入:
202.206.197.195 cluster.heinfo.edu.cn
後續步驟 (摘要)
- 在每台伺服器安裝「網路負載平衡」元件 (控制台 → 新增/移除程式 → Windows 元件)。
- 開啟「網路負載平衡管理員」,建立新叢集,輸入叢集 IP、子網路遮罩、完整網域名稱。
- 設定叢集操作模式:單播 (預設) 或 多播,視網路交換器支援情況而定。
- 配置連接埠規則:預設為 TCP 80 (HTTP) 及 TCP 443 (HTTPS) 等負載平衡埠,可依服務需求調整親和性 (無/單一/網路)。
- 將第二台伺服器加入叢集,指定唯一的主機優先順序 ID (1~32)。
- 驗證:以用戶端瀏覽
https://cluster.heinfo.edu.cn,觀察請求是否分散至兩節點 (可在 IIS 日誌或 NLB 管理員監看流量分佈)。
最佳實務提醒
- 所有節點需在同一子網路,且網卡設定為靜態 IP。
- 確保防火牆允許 NLB 心跳封包 (預設 UDP 389? 實際為節點間特定多播/單播通訊)。
- 定期檢查事件檢視器的「系統」日誌,關注 NLB 事件來源 (Event Source: NLB) 的警告與錯誤。
- 若服務需 Session 親和性 (如購物車),請在連接埠規則啟用「單一」或「網路」親和性;無狀態服務建議使用「無」親和性以獲得最佳分散效果。