萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux 伺服器叢集系統架設全方案:硬體架構、軟體選型與高可用實戰

一、叢集核心概念

叢集:一組獨立伺服器透過網路互聯,對外呈現為單一系統,提供高可用性 (HA)、負載均衡 (LB)、高效能運算 (HPC)。核心特徵:

  • 單一系統映像 (Single System Image)
  • 自動故障偵測與切換 (Failover)
  • 資源共享存儲 (共享磁碟/NAS/SAN)
  • 心跳網路監控節點健康狀態

叢集分類


二、硬體架構方案深度解析

2.1 鏡像伺服器雙機 (Mirror Server)

  • 架構:兩台伺服器各自擁有 OS 碟 + 資料碟,透過專用鏡像卡/網卡即時同步資料。
  • 優點:成本最低、配置簡單、無共享存儲單點。
  • 缺點:同步佔用 CPU/記憶體/網路頻寬,效能較單機略降;應用層 Bug 導致雙機同步宕機;大量寫入易產生資料不一致。
  • 適用:預算有限、非關鍵業務、資料量較小。

2.2 雙機 + 共享磁碟陣列 (Shared Disk Array)

  • 架構:兩台伺服器透過 SCSI/FC/SAS 連接同一磁碟陣列櫃 (RAID),資料集中存放。
  • 優點:無網路同步開銷,效能高;避免應用 Bug 雙機宕機;資料天然一致。
  • 缺點:磁碟陣列成單點故障 (邏輯/物理故障導致全數據丟失);切換時間較長 (60-180秒);成本較高。
  • 關鍵:選擇優質廠商 (EMC、HP、Dell、NetApp) 並配置雙控制器、多路徑 (MPIO)、熱備盤。

2.3 HP 雙機雙控容錯系統

  • HP NetServer + HP 存儲櫃 (SS/6, RS/8, RS/12) + HP 專用陣列卡 + 集群專用 SCSI 纜線。
  • 雙控制器主動/備援,單控制器故障無縫切換。
  • 整合 HP 管理軟體 (Insight Manager) 統一監控。

2.4 HP 光纖通道雙機雙控叢集

  • FC-AL 仲裁環最多 126 設備,傳輸距離達 10 公里。
  • 高頻寬、抗電磁干擾、支援遠端鏡像災備。
  • 設備:HP L 系列伺服器 + FC HBA 卡 + RS/12FC 光纖陣列櫃 + 光纖纜線。
  • 適用:金融、電信、政府核心業務,要求極高可用性與災備距離。

三、軟體配置:跨平台叢集軟體選型

3.1 Windows 平台

  • MSCS (Microsoft Cluster Server):Windows 2000 Advanced Server / Datacenter 內建,後整合進 Windows Server 2008+ Failover Clustering。
  • 特點:緊密整合 AD、GUI 管理、支援 SQL Server/Exchange 叢集感知應用。
  • 第三方:Veritas Cluster Server (VCS)、Double-Take (即時複寫)、SteelEye LifeKeeper。

3.2 Linux 平台

  • Pacemaker + Corosync:現代 Linux HA 事實標準。Corosync 提供通訊/成員/Quorum,Pacemaker 提供資源代理 (RA)、約束規則、狀態機管理。
  • DRBD (Distributed Replicated Block Device):網路 RAID-1,無共享存儲也能實現 HA,極具成本效益。
  • Heartbeat (舊版):v1 為單機程式,v2 整合進 Pacemaker。舊文檔常見但不建議新部署。
  • Keepalived:基於 VRRP 協議,簡單 VIP 漂移 + 健康檢查,適合 Web/LB 兩節點 HA。
  • TurboCluster:早期商業 Linux HA 方案,現少見。

3.3 其他 Unix 平台

  • Novell: NetWare HA / SFT III
  • SCO: Sentinel
  • Sun: Sun Cluster (現 Oracle Solaris Cluster)
  • IBM: PowerHA (HACMP) for AIX

四、Linux HA 叢集實戰架構 (Pacemaker + Corosync + DRBD)

4.1 架構圖解

+----------------+     Heartbeat/腦裂防護      +----------------+
|   Node 1       | <-------------------------> |   Node 2       |
|  (Active)      |        專用心跳網路          |  (Standby)     |
|                |                             |                |
|  DRBD Primary  | <====== DRBD 同步複寫 ======> |  DRBD Secondary|
|  /dev/drbd0    |      (區塊級同步)            |  /dev/drbd0    |
|     |          |                             |     |          |
|  ext4/xfs      |                             |  ext4/xfs      |
|     |          |                             |     |          |
|  Service IP    |  (VIP 漂移)                  |                |
|  (VIP)         |                             |                |
|  Apache/MySQL  |                             |  (待命)        |
+----------------+                             +----------------+

4.2 關鍵組件配置要點

  1. Corosync (corosync.conf):totem (傳輸/加密/Quorum)、nodelist、quorum (two_node: 1, expected_votes: 2)。
  2. DRBD (/etc/drbd.d/global_common.conf, resource):protocol C (同步)、disk (磁碟參數)、net (網路/驗證)、handlers (分腦處理)。
  3. Pacemaker (CIB XML):crm configure 定義資源 (IP、檔案系統、服務)、約束 (位置/順序/共置)、屬性 (stonith、no-quorum-policy)。
  4. STONITH (Shoot The Other Node In The Head):強制離線機制,防止分腦 (Split-brain)。必須配置 (IPMI、iLO、PDU、API)。

4.3 典型資源配置片段

primitive vip ocf:heartbeat:IPaddr2 \
    params ip="192.168.1.100" cidr_netmask="24" nic="eth0" \
    op monitor interval="10s"

primitive drbd_fs ocf:heartbeat:Filesystem \
    params device="/dev/drbd0" directory="/data" fstype="ext4" \
    op monitor interval="20s"

primitive mysql systemd:mysql \
    op monitor interval="30s" timeout="60s"

group ha_group vip drbd_fs mysql

colocation ha_group-with-drbd_master inf: ha_group ms_drbd:Master
order drbd_before_ha_group inf: ms_drbd:promote ha_group:start

ms ms_drbd ocf:linbit:drbd \
    params drbd_resource="r0" \
    op monitor interval="15s" role="Master" \
    op monitor interval="30s" role="Slave"

property stonith-enabled="true"
property no-quorum-policy="freeze"

五、叢集技術發展趨勢

  • 容器化與 Kubernetes:K8s 內建 Service/Ingress/StatefulSet 實現 LB/HA,Operator 模式管理有狀態服務 (MySQL, PostgreSQL, Redis),取代傳統 Pacemaker 成為新一代 HA 標準。
  • 叢集檔案系統全局命名空間:GFS2, OCFS2, CephFS, Lustre, GlusterFS 實現多節點同步讀寫,無需 VIP 漂移。
  • 軟體定義存儲 (SDS):Ceph, Rook, Longhorn 以軟體方式提供區塊/檔案/物件存儲,硬體解耦。
  • 雲原生高可用:多可用區 (AZ) 部署、跨區域災備、混沌工程驗證韌性。
  • 邊緣運算叢集:輕量級 K3s、K0s 在資源受限邊緣節點構建 HA。

六、總結與建議

  1. 明確業務 RTO/RPO:決定架構選型 (鏡像/共享存儲/DRBD/異地災備)。
  2. 消除單點:雙電源、雙網卡、雙 HBA、雙控制器、多路徑、STONITH。
  3. 自動化部署與測試:Ansible/Terraform 部署,定期演練故障切換 (Game Day)。
  4. 監控告警全覆蓋:節點、網路、存儲、叢集資源狀態、Quorum、分腦事件。
  5. 文檔與知識傳承:架構圖、配置說明、故障處理手冊 (Runbook)。

從傳統雙機熱備到雲原生叢集,核心目標不變:以可管理的複雜度換取業務連續性。技術選型應匹配業務價值、團隊能力與演進路線。

copyright © 萬盛學電腦網 all rights reserved
類型目標典型應用代表技術
高可用叢集 (HA)消除單點故障,服務不中斷資料庫、Web、郵件、檔案伺服器Pacemaker/Corosync, Veritas VCS, MSCS
負載均衡叢集 (LB)分散流量,提升吞吐量Web 伺服器陣列、CDN 邊緣節點LVS, HAProxy, Nginx, F5
高效能運算叢集 (HPC)聚合運算力解決大規模計算科學計算、渲染、基因測序、AI 訓練Slurm, Kubernetes, MPI, Beowulf