叢集類型概述
| 類型 | 目的 | 節點數 | 典型應用 |
| 負載平衡叢集 (NLB) | 分散工作負載,提升效能與延展性 | 2+ | Web 伺服器、COM+ 應用 |
| 容錯移轉叢集 (Failover) | 硬體/軟體故障時自動切換,確保高可用性 | 2 (MSCS 限制) | SQL Server、Exchange、檔案伺服器 |
MSCS (Microsoft Cluster Service) 屬於高可用性叢集,非完全容錯叢集(無法保證應用程式狀態零中斷恢復),但硬體成本較低、支援應用範圍較廣。
基本硬體架構
- 兩台獨立伺服器節點,各自擁有作業系統、本機磁碟、公用網卡。
- 共享儲存:外接 SCSI 磁碟陣列或 SAN,透過共享磁碟控制器連接兩節點(不可與作業系統磁碟共用控制器)。
- 心跳網路:專用私有網卡連線,傳遞節點存活訊號。
- Quorum 磁碟:共享儲存上的專用分區,儲存叢集設定與狀態資訊。
MSCS 運作模式:主動/被動
- 同一時間僅一節點為主動,擁有所有叢集資源(IP、網路名稱、磁碟、SQL Server 服務)。
- 主動節點持續將資料寫入 Quorum 磁碟。
- 心跳訊號透過私有網路定時傳送。
- 被動節點偵測到心跳中斷 → 啟動容錯移轉 → 接管資源、掛載共享磁碟、讀取 Quorum 狀態 → 啟動 SQL Server 服務。
建立叢集前置作業
- 在每節點安裝支援 MSCS 的 Windows Server(建議 Enterprise/Datacenter 版)。
- 設定公用網路(服務客戶端連線)。
- 設定私有心跳網路(僅節點間通訊,建議靜態 IP、停用 NetBIOS)。
- 在網域建立叢集服務帳號,加入兩節點的 Administrators 群組。
- 執行叢集精靈建立叢集,指定 Quorum 磁碟。
- 驗證叢集:移動群組、故障模擬、網路斷線測試。
在叢集上安裝 SQL Server
- 插入 SQL Server 安裝媒體,選擇「叢集安裝」。
- 指定虛擬 SQL Server 網路名稱、虛擬 IP 位址。
- 選擇共享磁碟作為資料/記錄檔路徑(不可 放在本機磁碟)。
- 服務帳號使用網域帳號(建議專用服務帳號,非叢集服務帳號)。
- 完成安裝後,透過叢集管理員驗證 SQL Server 群組可在節點間手動/自動移動。
常見陷阱與最佳實務
| 問題 | 對策 |
| 共享磁碟未在所有節點顯示相同磁碟機代號 | 使用磁碟管理統一指派代號,或掛載點路徑 |
| 心跳網路單點故障導致腦裂 | 配置兩條獨立心跳網路(跨交換器) |
| SQL Server 服務啟動失敗 | 檢查服務帳號權限、共享磁碟掛載順序、防火牆規則 |
| Quorum 磁碟空間不足 | 定期監控,建議 500MB+,啟用磁碟配額警示 |
升級與維護
- 修補程式/Service Pack:採用滾動升級,先被動節點 → 容錯移轉 → 再升級另一節點。
- 備份:在被動節點對共享磁碟執行快照備份,不影響主動服務。
- 監控:整合 SCOM / Zabbix 監控叢集資源狀態、心跳延遲、磁碟健康度。
結語
MSCS + SQL Server 叢集提供經濟實惠的高可用性方案,但需嚴謹的硬體規劃、網路設計與定期演練。生產環境上線前務必完成完整的故障注入測試(斷電、斷網、殺進程),驗證 RTO/RPO 指標。