🔰 引言
在安裝並成功啟用 Proxmox VE 之後,
若希望建立具備 自動容錯 (Failover) 與 集中管理 (Cluster Management) 的虛擬化環境,
就需要進一步了解 Proxmox 節點叢集(Cluster) 與 高可用性(High Availability, HA) 架構的建置方式。
Proxmox 內建 Corosync 與 PVE Cluster Manager (pmxcfs),
不需要額外安裝 vCenter、DRS 或 SRM 等商業軟體,
即可讓多台主機組成協同運作的虛擬化叢集環境。
本文將說明:
1️⃣ Proxmox 叢集的原理與運作方式
2️⃣ 叢集建立的實際步驟
3️⃣ 高可用性 (HA) 的設定與自動切換驗證
🧩 一、Proxmox 叢集 (Cluster) 架構原理
1️⃣ 基本概念
在 Proxmox 環境中,「叢集」是由多台節點 (Node) 組成的管理群組。
叢集可讓多台主機共享統一的:
- 虛擬機清單與設定檔
- 儲存設定(例如 NFS / Ceph / ZFS Replication)
- 使用者權限與憑證
- HA 自動切換控制
每個節點都執行一個 pmxcfs (Proxmox Cluster File System),
它是一個透過 Corosync 通訊層 同步的記憶體式檔案系統,
確保所有節點設定一致。
2️⃣ 架構圖 (概念)
┌──────────────────────────┐
│ Proxmox Cluster │
│ (pmxcfs + Corosync) │
└──────────────────────────┘
│ │ │
┌────────┐ ┌────────┐ ┌────────┐
│ Node01 │ │ Node02 │ │ Node03 │
└────────┘ └────────┘ └────────┘
│ │ │
Shared Storage (NFS / Ceph / ZFS Replication)
3️⃣ 叢集關鍵元件
| 元件 | 角色 | 說明 |
|---|---|---|
| Corosync | 通訊層 | 提供節點之間的狀態同步與投票機制。 |
| pmxcfs | 檔案層 | Cluster 設定檔案系統,確保所有節點設定一致。 |
| pve-cluster | 管理層 | 提供叢集指令與節點控制。 |
| HA Manager (pve-ha-manager) | 控制層 | 監控虛擬機狀態並執行自動 Failover。 |
⚙️ 二、叢集環境建立步驟
範例環境
| 節點名稱 | IP 位址 | 說明 |
|---|---|---|
| pve-node01 | 192.168.10.11 | 主要節點 (Cluster Creator) |
| pve-node02 | 192.168.10.12 | 成員節點 |
| pve-node03 | 192.168.10.13 | 成員節點 |
所有節點:
- 已安裝 Proxmox VE 9.0.10
- 使用相同的網段與靜態 IP
- 同步系統時間(建議使用 NTP)
步驟 1:建立叢集(在主節點執行)
pvecm create mycluster
此指令會建立一個名為 mycluster 的叢集,
並在 /etc/pve/corosync.conf 產生設定檔。
步驟 2:加入其他節點
在 pve-node02、pve-node03 上分別執行:
pvecm add 192.168.10.11
系統會要求輸入 root 密碼,
成功後會同步叢集設定並自動加入 Corosync 群組。
步驟 3:驗證叢集狀態
pvecm status
正常情況會看到:
Cluster information
-------------------
Name: mycluster
Config Version: 3
Nodes: 3
Quorum: 3
Votequorum: 2
💡 Quorum(投票機制)為叢集判定節點存活的核心機制,
若失去過半節點,叢集將停止 HA 自動操作以防資料損毀。
🧠 三、高可用性 (HA) 架構與設定
1️⃣ HA 的基本概念
Proxmox 的 HA 功能可讓虛擬機(VM / CT)在節點故障時自動轉移至其他節點。
其運作原理如下:
- pve-ha-manager 監控 VM 狀態。
- 若偵測節點離線(由 Corosync 判定),
pve-ha-crm 會將該 VM 自動在其他節點上重新啟動。 - 所有 HA 資訊由叢集內的節點共享管理。
2️⃣ 啟用 HA 管理器
確認叢集已建立,啟用服務:
systemctl enable pve-ha-lrm pve-ha-crm --now
3️⃣ 將 VM 加入 HA 群組
在 Proxmox Web 介面中:
- 選取要啟用 HA 的 VM。
- 點選 Resources → HA → Add。
- 選擇 HA Group(預設可為 “default”)。
- 儲存設定。
CLI 方式:
ha-manager add vm:101
4️⃣ 驗證 HA 自動切換
模擬節點故障:
systemctl stop pve-cluster corosync
或直接關閉節點電源。
幾秒後可在其他節點上看到該 VM 自動啟動:
ha-manager status
狀態應顯示:
vm:101 state = started node=pve-node02
🗄️ 四、叢集共享儲存選項
若要讓 VM 在節點間自動切換,
所有節點必須能 存取相同的虛擬磁碟檔案(shared storage)。
常見方案如下:
| 儲存方式 | 說明 | 適用場景 |
|---|---|---|
| NFS / iSCSI | 最簡單的共用儲存,集中於一台 NAS 或 SAN。 | 中小型環境 |
| ZFS Replication | 透過定時同步複製資料集。 | 單機容錯或跨機備援 |
| Ceph Cluster | 分散式儲存架構,整合於 Proxmox。 | 中大型企業叢集 |
💡 若使用 Ceph,可在同一介面中統一管理儲存與計算節點,
並支援多副本 (replica) 自動修復。
⚙️ 五、HA 實務建議
| 項目 | 建議 |
|---|---|
| 節點數量 | 建議至少 3 台,以確保 Quorum 正常運作。 |
| Corosync 網路 | 可使用獨立 VLAN 或 10Gb 專線,避免與 VM 網路干擾。 |
| 電源管理 (Fence) | 企業環境可整合 IPMI 進行自動斷電隔離。 |
| 備份策略 | 即使啟用 HA,仍建議搭配 PBS 進行定期備份。 |
✅ 結語
Proxmox VE 的叢集與 HA 架構,是其最具競爭力的功能之一。
透過內建的 Corosync 通訊、pmxcfs 同步檔案系統與 HA 管理模組,
即可在不依賴第三方授權軟體的情況下,
實現 多節點自動容錯、高可用虛擬化平台。
💬 下一篇文章將介紹
「Proxmox Backup Server 架構與異地備援策略」,
幫助你打造完整的企業級虛擬化與資料保護方案。