Proxmox VE Ceph 超融合:把儲存織進每台主機裡
想像你開了一間餐廳,傳統做法是廚房歸廚房、冰箱歸冰箱,中間還要拉一條走廊搬食材。超融合(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_data 和 cephfs_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 直通