🔰 引言
在虛擬化環境中,儲存架構的可靠性與擴展性 是系統穩定運作的關鍵。
當伺服器數量增加、節點之間需要即時遷移 (Live Migration) 或高可用性 (HA) 時,
集中式 NAS / iSCSI 儲存往往會成為單點瓶頸。
為了解決這個問題,Proxmox VE 原生整合了 Ceph 分散式儲存系統,
能夠在多節點之間建立 自我修復、可線性擴充、支援高可用性 的儲存叢集。
本文將介紹:
1️⃣ Ceph 的運作原理
2️⃣ 在 Proxmox 上部署 Ceph 叢集的步驟
3️⃣ 實務部署建議與最佳化設定
🧩 一、什麼是 Ceph?
1️⃣ 定義
Ceph 是一套開源的分散式儲存系統,
可同時提供:
- Block Storage(RBD,供 VM 使用)
- Object Storage(Ceph RGW,類似 S3)
- File System Storage(CephFS,分散式檔案系統)
其特點是透過多副本 (replication) 或編碼 (erasure coding) 的方式,
將資料平均分散到多個節點上,確保在硬體故障時仍能維持服務不中斷。
2️⃣ 架構原理概念圖
┌──────────────────────────────┐
│ Proxmox VE │
│ (KVM / LXC / HA) │
└──────────────┬───────────────┘
│
Ceph Client (RBD)
│
┌──────────────────────────────────┐
│ Ceph Cluster │
│ ┌──────────┬──────────┬────────┐ │
│ │ MONs │ OSDs │ MGRs │ │
│ └──────────┴──────────┴────────┘ │
│ (Distributed Storage) │
└──────────────────────────────────┘
3️⃣ 主要元件說明
| 元件 | 全名 | 功能 |
|---|---|---|
| MON | Monitor | 維護叢集狀態與成員資訊 |
| OSD | Object Storage Daemon | 實際儲存資料並進行副本同步 |
| MGR | Manager | 提供監控、效能統計與 API 服務 |
| MDS | Metadata Server | CephFS 專用的檔案系統中繼資料伺服器 |
⚙️ 二、Proxmox + Ceph 整合優勢
| 功能 | Proxmox + Ceph 優勢 |
|---|---|
| 整合度高 | Ceph 內建於 Proxmox Web GUI,可直接建立與管理 |
| 無單點瓶頸 | 儲存節點分散在多主機上,無需集中式 NAS |
| 自動修復機制 | OSD 故障時自動重建資料副本 |
| 線性擴充 | 可動態增加磁碟或節點而不中斷服務 |
| 支援即時遷移 (Live Migration) | 所有節點共用 Ceph 儲存池,VM 可自由遷移 |
🧰 三、部署架構規劃
1️⃣ 範例環境
| 節點 | IP | 角色 |
|---|---|---|
| pve-node01 | 10.0.0.11 | Proxmox + Ceph MON + OSD |
| pve-node02 | 10.0.0.12 | Proxmox + Ceph MON + OSD |
| pve-node03 | 10.0.0.13 | Proxmox + Ceph MON + OSD |
建議:
- 至少三個節點以維持 Quorum
- 每台主機建議兩張網卡:
- 一張用於管理 (Proxmox GUI、VM 網路)
- 一張獨立給 Ceph Cluster 通訊 (Public / Cluster Network)
2️⃣ 網路規劃
Public Network : 10.0.0.0/24 (Client I/O)
Cluster Network : 192.168.100.0/24 (OSD replication)
💡 若 Ceph 資料傳輸與 VM 網路共用同一介面,容易造成延遲與效能波動。
🧭 四、部署步驟
步驟 1:啟用 Ceph Repository
apt update
apt install ceph ceph-common ceph-fuse
Proxmox 9.x 預設已整合 Ceph Reef 或 Squid 版本。
步驟 2:建立 Ceph 叢集
在主節點 Web 介面中:
- 點選 Datacenter → Ceph → Install Ceph
- 安裝完成後點選 Create Cluster
- 指定 Public / Cluster Network
CLI 方式:
pveceph init --cluster-network 192.168.100.0/24 \
--network 10.0.0.0/24
步驟 3:新增 MON、MGR 節點
pveceph mon create
pveceph mgr create
其他節點可於 Web 介面 Add Monitor。
步驟 4:建立 OSD (儲存磁碟)
在每台主機上選取可用磁碟:
pveceph osd create /dev/sdb
或透過 Web 介面 → Ceph → OSD → Create
建議使用 SSD 或 NVMe 作為 Journal / DB。
步驟 5:建立儲存池 (Pool)
pveceph pool create ceph-pool --size 3 --min-size 2
建立後,可於 Proxmox VE Storage 中加入:
pvesh create /storage --storage ceph-rbd \
--type rbd --pool ceph-pool --monhost 10.0.0.11,10.0.0.12,10.0.0.13
🧠 五、Ceph 效能與容錯設計
| 項目 | 建議做法 |
|---|---|
| 副本數 (size) | 建議設定為 3,確保資料安全性 |
| 最小可用副本數 (min-size) | 設定為 2,確保可讀可寫 |
| 儲存類型 | SSD/NVMe 作為 Ceph DB/WAL,加快 metadata I/O |
| 網路架構 | Public 與 Cluster 網段分離 |
| 監控工具 | 透過 Proxmox Ceph Dashboard 或 ceph -s 指令監控狀態 |
🗄️ 六、與 Proxmox HA、PBS 結合
- 與 HA 整合:
所有節點共用 Ceph 儲存池,VM 可在節點間自動遷移。 - 與 PBS 整合:
可將 Ceph Pool 掛載為 PBS 的備份儲存後端。
架構示意:
[Proxmox Cluster]───┐
│ (Ceph RBD)
▼
[Ceph Storage Pool]
│
[PBS Backup Storage]
⚙️ 七、異地備援與延伸架構
- 可搭配 Ceph RBD Mirror 實現跨資料中心的 Block 同步
- 或使用 Proxmox Backup Server (PBS) 進行異地備份
- 若網路延遲高,可採 Active/Passive 架構與定期同步
✅ 結語
透過 Proxmox + Ceph 的整合,
企業可輕鬆建立具備:
- 高可用性 (HA)
- 分散式儲存
- 線性擴充
- 自動修復能力
的開源虛擬化平台。
這種架構不僅能大幅降低集中式儲存的風險,
也為未來的 雲端擴展與多站點備援 奠定堅實基礎。
💬 下一篇文章將介紹:
「Proxmox 雲端管理與混合架構實作 (Proxmox + Cloud Integration)」,
延伸至混合雲與遠端資源整合的實際案例。