Proxmox VE 進階實務:Cluster、HA、Ceph 與 API

3 min read

當環境從一台主機變成多台主機,維運重點會從「能跑就好」變成「可用性、可擴展、可自動化」。這篇就是帶你從單刷副本升級到組隊打王。

集群(Cluster)建立

適用情境:要集中管理、跨節點調度與遷移,先建集群就對了。

# 在第一台節點建立集群
pvecm create my-cluster
 
# 其他節點加入(記得換成你的 master IP)
pvecm add <cluster-master-ip>
 
# 檢查狀態
pvecm status

集群建好後盡量別改節點主機名;加入前確認 DNS、時間同步、網路都正常,不然會各種靈異現象。

HA(高可用)設定

適用情境:某台節點掛了,VM 能在別台自動起來,服務不中斷。

前提要滿足:

  • 已經有集群
  • VM 磁碟在共享存儲
  • 有正確的 fencing 機制,避免 split-brain(兩邊都以為自己當王)
# 把 VM 100 交給 HA 管理
ha-manager add vm:100 --maxrestart 3 --maxrelocate 5

HA 搞對的話,單點故障時使用者幾乎無感——就像貓總有備用睡覺地點,不會沒地方躺。

Ceph 超融合存儲

適用情境:多節點要共用存儲、又要高可用,Ceph 可以一併搞定。

建議前提:

  • 至少 3 個節點(Ceph 不愛單點)
  • 每節點有多顆獨立磁碟
  • 有獨立的存儲網路更好
# 初始化 Ceph
pveceph init --network 10.0.0.0/24
 
# 每顆資料碟建立 OSD
pveceph osd create /dev/sdX
 
# 建 Pool 並掛給 PVE 用
pveceph pool create vm-data --add_storages

Ceph 建議直接管裸碟,不要疊硬體 RAID,不然資料保護與觀測都會打折。

存儲複製(Storage Replication)

適用情境:跨節點備援、故障時能快速接管。

pvesr create-local-job 100 local-zfs remote-zfs --schedule "0 2 * * *"

API 與自動化整合

適用情境:用腳本操作、CI/CD、或跟其他平台整合。建議用 API Token,不要長期拿 root 密碼到處貼。

# 用 API Token 抓 VM 列表
curl -k \
  -H "Authorization: PVEAPIToken=user@realm!tokenid=secret" \
  "https://<PVE-IP>:8006/api2/json/nodes/<node>/qemu"

自動化搞起來之後,重複性工作就交給腳本,你負責喝咖啡跟撸貓就好。

下一步

進階能力點滿後,用一套維運規範收斂風險,少踩雷:
👉 最佳實踐