Proxmox VE Ceph 超融合:把儲存織進每台主機裡

7 min read

想像你開了一間餐廳,傳統做法是廚房歸廚房、冰箱歸冰箱,中間還要拉一條走廊搬食材。超融合(HCI)的思路不一樣——每個工作站自己就有爐子和冰箱,大家共用食材庫存,誰缺什麼就近拿,不用跑來跑去。Ceph 在 PVE 裡扮演的角色,就是把「共享儲存」直接織進每台節點裡,不用另外買 SAN 或 NAS。

你需要什麼才能玩 Ceph

別想著一台機器就搞 Ceph,它天生就是群體動物。如果你還沒組好叢集,先回頭看看叢集管理那篇。

資源 最低 建議
節點數 3 3-5(奇數最好)
CPU 每個 Ceph 服務 1 核心 8+ 核心
RAM 每顆 OSD 4 GB 每顆 OSD 8 GB
網路 10 Gbps 25 Gbps(Ceph 專用)
磁碟 HDD 也行 NVMe SSD 才爽

網路頻寬是 Ceph 的命脈。1 Gbps 跑 Ceph 就像用吸管喝珍珠奶茶——珍珠永遠卡住。至少 10GbE,能上 25GbE 更好。順便把 Jumbo Frames(MTU 9000)打開。網路規劃可以參考網路管理那篇的 Bonding 和 VLAN 設定。

Ceph 四大金剛

搞懂這四個元件,Ceph 就不神秘了:

  • MON(Monitor):叢集的大腦,記錄誰在哪、資料放哪。部署 3 或 5 個(奇數,方便投票決定誰說了算)
  • MGR(Manager):收集統計資料、提供 Dashboard。至少 2 個,一個上班一個待命
  • OSD(Object Storage Daemon):真正幹活存資料的苦力。每顆硬碟對應一個 OSD,最少 3 個分散在不同節點
  • MDS(Metadata Server):只有用 CephFS 才需要,管檔案系統的目錄結構

部署流程

整套流程在 PVE 裡已經包好了,不用自己從頭編譯:

# 在所有節點上安裝 Ceph 套件
pveceph install
 
# 在第一台節點初始化(指定 Ceph 專用網路)
pveceph init --network 10.0.0.0/24
 
# 每個節點建 MON 和 MGR
pveceph mon create
pveceph mgr create
 
# 每顆資料碟建 OSD(裸碟直接上,不要疊 RAID)
pveceph osd create /dev/sdb
 
# 如果 HDD 想加速,用 NVMe 當 DB/WAL
pveceph osd create /dev/sdb -db_dev /dev/nvme0n1 -wal_dev /dev/nvme0n1
 
# 建立儲存池,順便掛到 PVE
pveceph pool create vm-data --add_storages
 
# 確認一切正常
ceph status

看到 HEALTH_OK 就可以開香檳了。看到 HEALTH_WARN 先別慌,通常是 PG 還在調整。看到 HEALTH_ERR——嗯,去倒杯咖啡冷靜一下再查。

CRUSH Map 與故障域

CRUSH Map 決定「資料副本要放哪」。預設故障域是 host,意思是同一份資料的三個副本一定分散在不同節點上。這樣一台機器掛了,資料還是完整的——像把雞蛋分放三個籃子。

CephFS:共享檔案系統

如果你需要多個節點共用 ISO、容器範本或備份目錄,CephFS 很方便:

pveceph fs create --pg_num 128 --add-storage

它會自動建好 cephfs_datacephfs_metadata 兩個 Pool。

日常監控指令

ceph status          # 整體健康度
ceph osd tree        # OSD 分布圖
ceph osd df          # 各 OSD 用量
ceph df              # Pool 用量
ceph osd perf        # 延遲統計

叢集容量超過 80% 就該擴容了。等到 95% Ceph 會自動阻止寫入,到時候就不是加硬碟能救的——是加班才能救。

常見地雷

  • 不要在 Ceph 磁碟上疊硬體 RAID:Ceph 自己管資料冗餘,疊 RAID 等於把超人關進籠子裡還叫他飛
  • 不要設 min_size=1:只剩一份副本還允許寫入,就是在走鋼絲沒掛安全繩
  • 不要混用 HDD 和 SSD 在同一個 Pool:快的被慢的拖住,誰都不開心
  • 磁碟規格盡量統一:大小不一的 OSD 會導致負載不均,像健身房裡一邊啞鈴 5 公斤一邊 20 公斤

Ceph 的學習曲線確實比 ZFS 陡一些(ZFS 和其他儲存方案可以回顧存儲攻略),但一旦跑起來,你就有了免費的分散式儲存,搭配高可用 HA 做到真正的零停機。值不值得,看你的場景規模。

更多 Ceph 架構細節可以參考 Ceph 官方文件,PVE 整合的部分則看 Proxmox Ceph 官方指南PVE 管理手冊 - Ceph 章節

常見問題

Q: PVE Ceph 最少需要幾台節點?

最少 3 台節點,且建議為奇數。Ceph MON 需要投票機制維持一致性,3 台能容忍 1 台故障,5 台能容忍 2 台,低於 3 台無法保證資料安全。

Q: Ceph OSD 可以用 HDD 嗎?還是一定要 SSD?

HDD 可以用但效能差很多,建議用 NVMe SSD。如果預算有限,可以用 HDD 當資料碟搭配 NVMe 做 DB/WAL 加速,但同一個 Pool 裡不要混用 HDD 和 SSD。

Q: Proxmox Ceph 跟 ZFS 該怎麼選?

單節點用 ZFS,多節點需要共享儲存選 Ceph。ZFS 設定簡單、適合本機存儲,Ceph 則提供跨節點的分散式冗餘,搭配 HA 可做到 VM 自動遷移不中斷。

Q: Ceph 超融合對網路頻寬的要求是多少?

最低 10 Gbps 專用網路,建議 25 Gbps。Ceph 的資料複製和恢復都吃網路頻寬,1 Gbps 會嚴重瓶頸。同時建議開啟 Jumbo Frames(MTU 9000)減少封包開銷。

下一步

有了共享儲存,接下來試試把 GPU 也塞進 VM 裡跑 AI 或打遊戲: GPU 直通