叢集是由兩台以上伺服器協同工作,對外呈現單一服務實體,提供高可用性、可擴展性、負載均衡與錯誤恢復。本文系統梳理叢集定義、特點、分類與核心技術組件。
1. 叢集定義與核心特徵
- 節點: 叢集中的單一伺服器,相互通訊(RS232 心跳線或專用網卡)。
- 共享存儲: 磁碟陣列、NAS、SAN,資料集中存放,節點僅運行應用服務。
- 單一系統映像 (SSI): 客戶端視叢集為單一實體,透過漂移 IP 存取服務。
- 故障自動轉移 (Failover): 節點故障時,備用節點自動接管資源與服務。
2. 叢集核心功能
| 功能 | 說明 |
| 高可用性 (HA) | 7×24 不間斷服務,故障秒級切換 |
| 可擴展性 | 動態增減節點,線性提升效能 |
| 負載均衡 | 輪詢、最少連結、權重等策略分發請求 |
| 錯誤恢復 | 任務失敗時由其他節點接續執行 |
3. 心跳監測與漂移 IP
心跳監測
- 通訊介質:RS232 序列線、專用網卡(私有網段)、共享磁碟鎖。
- 心跳線數量 = 節點數 - 1(雙機需 1 條)。
- 雙網卡架構:一張跑心跳(私有網段),一張對外服務(公共網段),網段隔離。
- 心跳效率直接決定故障切換時間 (RTO)。
漂移 IP (Virtual IP / Floating IP)
- 正常時綁定在主節點,故障切換至備節點。
- 對外服務必須綁定漂移 IP,而非節點實體 IP,否則切換後服務中斷。
- 常搭配
arping、gratuitous ARP 更新網路設備 ARP 快取。
4. 叢集分類
高可用叢集 (HA Cluster)
- 目標:最大化服務可用性,故障自動切換。
- 典型模式:
- Active/Standby (雙機熱備): 一主一備,備機待命。
- Active/Active (雙機互備/多機互備): 多節點同時跑不同服務,互為備援,資源利用率高,但故障時單節點負載倍增。
負載均衡叢集 (LB Cluster)
- 目標:分擔高併發請求,提升吞吐量。
- 前端調度器 (LVS、HAProxy、Nginx、F5) + 後端應用節點。
- 常見架構:LVS-DR(高效能)、LVS-NAT(易部署)、LVS-TUN(跨網段)。
高效能運算叢集 (HPC Cluster)
- 目標:並行運算,科學計算、渲染、基因測序。
- MPI、OpenMP、Hadoop/Spark 分散式運算框架。
5. Linux 叢集優勢與經典案例
- 開源免費、硬體成本低、可定制核心、社群支援龐大。
- 新浪、網易、Google(萬台級)、淘雲等大型互聯網企業廣泛採用。
- 企業級產品:Red Hat Cluster Suite、Veritas VCS、Heartbeat/Corosync+Pacemaker、Keepalived。
6. 建置最小叢集清單
- 2 台以上伺服器(相同硬體規範)
- 心跳專用網卡/序列線
- 共享存儲(FC SAN / iSCSI / NFS)
- 叢集軟體(Corosync+Pacemaker 推薦)
- 漂移 IP 規劃、應用無狀態化/共享 Session 設計