Red Hat Cluster Suite (RHCS) 是企業級高可用集群方案,核心組件協同工作,實現服務故障自動切換、資源獨佔訪問、配置同步與節點隔離。本文系統梳理核心組件原理、集群啟停、服務管理、狀態監控、GFS2 文件系統維護等實戰操作。
| 組件 | 全稱 | 核心職責 | 關鍵特性 |
|---|---|---|---|
| CMAN | Cluster Manager | 分布式集群管理:成員管理、消息通知、心跳監控、Quorum 仲裁 | 運行於各節點,監控節點狀態變化並通知底層調整 |
| DLM | Distributed Lock Manager | 分布式鎖管理:為 GFS2/CLVM 提供元數據同步訪問鎖 | 對等鎖模式無單點、本地請求零網絡延遲、分層機制支持並行鎖空間 |
| CCS | Cluster Configuration System | 配置文件管理與同步:監控 /etc/cluster/cluster.conf 變更並自動推送至全節點 |
XML 格式配置,含集群名、節點、資源、服務、Fence 設備定義 |
| FENCE | Fencing Device | 節點隔離:防止「腦裂」,通過硬件接口強制重啟/關機/斷網異常節點 | 內部 (iLO/DRAC/IPMI) + 外部 (UPS/SAN Switch/Network Switch) 兩類 |
確保資源始終僅在單節點運行,數據零衝突。
# 所有節點依次執行 service cman start service rgmanager start # 必須:先全節點啟動 cman,再全節點啟動 rgmanager
# 所有節點依次執行 service rgmanager stop service cman stop # 先全節點停 rgmanager,再停 cman # 若 cman 停止失敗:檢查 GFS2 是否已卸載、其它節點 rgmanager 是否已停
clusvcadm)集群啟動後默認自動起服務,手動管理命令統一為 clusvcadm,可在任意節點執行操作全集群服務。
| 操作 | 命令模板 | 示例 |
|---|---|---|
| 啟動服務 | clusvcadm -e <服務名> -m <目標節點> |
clusvcadm -e webserver -m web1 |
| 停止服務 | clusvcadm -s <服務名> -m <節點> |
clusvcadm -s mysqlserver -m Mysql1 |
| 重啟服務 | clusvcadm -R <服務名> -m <節點> |
clusvcadm -R webserver -m web1 (可在 web2 執行) |
| 遷移服務 | clusvcadm -r <服務名> -m <目標節點> |
clusvcadm -r webserver -m web2 (web1→web2) |
服務啟停會同步帶動虛擬 IP、應用腳本等關聯資源。日志查看:/var/log/messages。
cman_tool - 節點與 Quorum 詳情# 節點列表 cman_tool nodes -a # 輸出:Node ID、狀態(M=Member)、Incarnation、加入時間、名稱、IP # 集群整體狀態 cman_tool status # 關鍵字段: # Config Version: 配置版本號 # Cluster Name/Id: 集群標識 # Nodes: 節點數 # Expected votes: 期望票數 # Quorum device votes: Quorum 磁盤票數 # Total votes: 總票數 # Quorum: 法定票數(低於此值集群停服務) # Node name/ID: 本節點標識 # Multicast addresses: 集群組播地址
clustat - 服務與節點實時狀態# 修改 cluster.conf 後,必須遞增 config_version 才能推送 ccs_tool update /etc/cluster/cluster.conf # 失敗示例:版本號未增 # Proposed updated config file does not have greater version number. # Current config_version :: 35 # Proposed config_version:: 35 # 修改版本號後重試 # Config file updated from version 35 to 36 # Update complete.
gfs2_fsck - 掃描修復 (類 ext3 fsck)命令 用途 示例輸出關鍵信息 gfs2_tool df /掛載點掛載信息、鎖協議、塊大小、Journal 數、資源組、空間使用率 lock_dlm、4096 block、4 journals、data 11% used gfs2_tool freeze/unfreeze /掛載點凍結/解凍文件系統 (凍結期間不可讀寫) 配合快照備份使用 gfs2_tool journals /掛載點查詢可掛載節點數 (Journal 數 = 最大並發掛載數) 4 journals × 128MB = 4 節點 gfs2_tool version工具版本信息 gfs2_tool 0.1.62
gfs2_jadd- 動態擴展 Journal