🔰 引言
隨著企業虛擬化與雲端化的需求持續增加,
「高可用、可擴充的分散式儲存架構」成為基礎設施設計的關鍵。
Ceph 作為開源分散式儲存系統的代表,
能同時提供 區塊儲存(RBD)、物件儲存(RGW) 與 檔案儲存(CephFS) 三種服務,
且在 Proxmox VE 叢集 環境中已深度整合,
可透過 Web GUI 或 CLI 快速部署,
讓每個節點同時擔任 運算節點(Compute) 與 儲存節點(Storage)。
本文將說明:
- Ceph 在 Proxmox 叢集中的部署架構
- 節點規劃與網路拓撲
- 實際部署步驟
- 效能調校建議
- 維運與監控策略
🧩 一、Ceph 架構概要
1️⃣ 核心元件
| 元件 | 功能說明 |
|---|---|
| MON (Monitor) | 維護整個叢集的狀態與一致性,至少需 3 節點以確保 Quorum。 |
| OSD (Object Storage Daemon) | 實際管理磁碟資料的服務,每顆儲存磁碟對應一個 OSD。 |
| MDS (Metadata Server) | 用於 CephFS,管理檔案系統的目錄結構與 Metadata。 |
| RGW (Rados Gateway) | 提供 S3 / Swift 相容的 Object Storage 介面。 |
| Manager (Mgr) | 負責監控、統計與外部 API 介面(如 Prometheus)。 |
在 Proxmox 環境中,Ceph 的 MON、OSD、Mgr 都可直接由 Web GUI 建立,
使叢集儲存與虛擬化節點無縫整合。
⚙️ 二、部署架構與節點規劃
1️⃣ 建議架構拓撲
┌────────────────────────────────────────────┐
│ Proxmox Cluster │
│────────────────────────────────────────────│
│ Node1 (Compute + MON + OSD + Mgr) │
│ Node2 (Compute + MON + OSD + Mgr) │
│ Node3 (Compute + MON + OSD + Mgr) │
│────────────────────────────────────────────│
│ Ceph Public Network │
│ Ceph Cluster Network │
└────────────────────────────────────────────┘
2️⃣ 網路規劃建議
| 網路類型 | 功能 | 建議頻寬 | 範例設定 |
|---|---|---|---|
| Public Network | VM 與 Ceph 通訊 | 10 GbE 或以上 | 172.16.10.0/24 |
| Cluster Network | OSD 間資料同步 | 10 GbE 專用網段 | 172.16.20.0/24 |
| 管理網路 (可選) | SSH / Web GUI | 1 GbE 即可 | 172.16.5.0/24 |
📌 建議使用兩張以上網卡分離流量,避免 I/O 壅塞影響叢集穩定性。
🧠 三、Ceph 部署步驟(以 Proxmox VE 為例)
1️⃣ 在所有節點安裝 Ceph 套件
apt update
apt install ceph ceph-common ceph-mgr ceph-mon ceph-osd
或在 Proxmox Web GUI → Datacenter → Ceph → Install Ceph 一鍵安裝。
2️⃣ 建立 MON 與 MGR
pveceph init --cluster-network 172.16.20.0/24 --network 172.16.10.0/24
pveceph createmon
pveceph createmgr
確認狀態:
ceph -s
3️⃣ 建立 OSD
將每顆磁碟建立為 OSD:
pveceph createosd /dev/sdb
pveceph createosd /dev/sdc
查看狀態:
ceph osd tree
4️⃣ 建立 Pool(儲存池)
ceph osd pool create vm-pool 128 128
設定為 Proxmox 儲存:
pvesm add rbd vmstore --pool vm-pool --monhost 172.16.10.11
5️⃣ 啟用儲存壓縮與平衡
ceph osd pool set vm-pool compression_algorithm lz4
ceph balancer status
⚡ 四、效能調校建議
1️⃣ 儲存硬體建議
| 類別 | 建議配置 |
|---|---|
| OSD Disk | SSD / NVMe(建議混合架構:Journal 放快碟) |
| MON / MGR | 建議使用 SSD |
| 網路 | 10 GbE 或以上,支援 Jumbo Frame |
| CPU / RAM | 每節點至少 8 Core + 32 GB RAM 以上 |
2️⃣ Ceph 參數優化
| 參數 | 建議值 | 說明 |
|---|---|---|
osd_max_backfills | 2–3 | 控制同時回填數,減少效能衝擊 |
osd_recovery_max_active | 3–4 | 平衡修復速度與前端效能 |
osd_op_queue | wpq | Write Priority Queue 模式 |
bluestore_cache_size | 4–8 GB | 提升 Metadata 存取速度 |
filestore_max_sync_interval | 10 | 增加寫入緩衝區延遲提升效能 |
3️⃣ Proxmox 層優化
- 使用 CephFS 或 RBD 作為 VM 儲存後端
- 啟用 Writeback Cache 模式(需確保 UPS 支援)
- 啟用 IO Thread 提升多核效能
- 禁用不必要的 Snapshot 自動同步任務
📊 五、監控與維運策略
1️⃣ 使用 Proxmox GUI 監控
- Datacenter → Ceph → Status
- 提供即時 OSD 狀態、容量、健康度圖表。
2️⃣ CLI 監控常用指令
ceph df
ceph osd perf
ceph health detail
3️⃣ 整合 Prometheus + Grafana
- Ceph Mgr 提供 Prometheus Plugin:
ceph mgr module enable prometheus
- 可將指標輸出至 Grafana 儀表板監控 IOPS、Latency、Recovery 狀況。
🔒 六、容錯與備援策略
- 部署 至少 3 個 MON 節點 維持 Quorum。
- OSD 使用 3 副本或 Erasure Coding (k=2, m=1) 提高容錯。
- 重要資料同步至 遠端 Ceph Cluster 或 PBS 備份層。
- 使用 cephadm 或 ansible 進行自動化升級與滾動維護。
- 啟用 Ceph Dashboard 以便遠端可視化管理。
✅ 結語
Ceph 是現代虛擬化架構中最具彈性與穩定性的開源儲存方案。
在 Proxmox 環境中,它不僅能整合虛擬機的即時儲存、快照與高可用,
更能作為跨站備援與雲端歸檔的核心平台。
透過合理的節點規劃、雙網路分流、儲存分層與效能調校,
Ceph 可在企業內部形成一個:
高可用 (HA)、高擴充 (Scale-Out)、高韌性 (Resilient) 的分散式儲存骨幹。
💬 下一篇將探討:
「CephFS 與 RBD 的應用差異與性能比較」,
深入分析兩種儲存型態在虛擬化與容器化環境中的最佳實踐策略。