🔰 引言
在企業級基礎架構中,儲存系統的高可用性(High Availability, HA) 與
多站點容災(Multi-Site Disaster Recovery, DR) 是核心議題。
Ceph 以其原生的分散式特性與多副本設計,
能在不中斷服務的前提下實現節點故障容忍、資料副本同步、
以及跨資料中心的自動化備援。
本文將說明:
1️⃣ Ceph 叢集的高可用性機制
2️⃣ 多副本與 Erasure Coding 的差異
3️⃣ 多站點複寫與 Mirror 策略
4️⃣ 在 Proxmox 環境中整合 HA + DR 的實務設計
🧩 一、Ceph 高可用性架構原理
1️⃣ 分散式一致性設計
Ceph 採用 CRUSH 演算法(Controlled Replication Under Scalable Hashing)
將資料分散儲存在多個 OSD 節點上,並由 MON 負責監控與一致性維護。
Client
│
└──> CRUSH Map → 分配資料至 OSD1 / OSD2 / OSD3
這讓 Ceph 不需要中心化的 Metadata Server 來存放資料索引,
即使某個節點離線,也能自動重建缺失的副本而不影響服務。
2️⃣ 主要 HA 元件
| 元件 | 角色說明 |
|---|---|
| MON (Monitor) | 維護叢集健康與 Quorum 機制,需至少 3 節點以防腦裂 |
| OSD (Object Storage Daemon) | 管理儲存磁碟並維護資料副本 |
| MGR (Manager) | 提供監控、指標與 Web Dashboard |
| CephFS / RBD Client | 自動偵測節點失效並重新導向 I/O |
✅ Ceph 的高可用性是「架構原生」的,不需額外負載平衡器或外部 HA 軟體。
⚙️ 二、資料冗餘與容錯設計
1️⃣ 多副本(Replication)
最常見的冗餘機制。
資料會同時寫入多個 OSD,確保任何一顆磁碟損壞仍能維持可用性。
| 模式 | 容錯能力 | 空間效率 |
|---|---|---|
| 3 副本 | 可容忍 1 顆 OSD 故障 | 33% |
| 2 副本 | 可容忍 1 顆 OSD 故障(風險較高) | 50% |
建議企業環境採用 3 副本架構,兼顧穩定與修復速度。
2️⃣ Erasure Coding(EC 分片儲存)
以「分片 + 同位元」的方式保存資料,提供更高儲存效率。
例如 EC 4+2 表示:
- 4 個資料分片 + 2 個校驗分片
- 可容忍任意 2 個 OSD 故障
- 空間效率 66%
| 模式 | 優點 | 缺點 |
|---|---|---|
| Erasure Coding (EC) | 高效率、節省儲存空間 | 延遲較高、不支援部分快照功能 |
EC 適合用於「備份、歸檔、冷資料」;
即時應用(如 VM 或 DB)仍建議使用多副本模式。
☁️ 三、多站點複寫與容災策略
1️⃣ RBD Mirror(跨站點區塊同步)
Ceph 原生支援 RBD Mirror 功能,可在兩個叢集間進行非同步資料複寫。
Cluster A (Primary)
│
│ RBD Mirror (Async)
▼
Cluster B (Secondary)
特點:
- 單向或雙向同步皆可設定
- 支援 snapshot-based replication
- 支援 incremental 傳輸(僅同步變更部分)
- 故障後可手動或自動 Failover
適合用於 Proxmox 的虛擬機磁碟(RBD Volume)跨站同步。
2️⃣ CephFS Mirror(檔案層同步)
CephFS 從 Pacific 版本 (16.x) 開始支援目錄層級 Mirror,
可將某個目錄(或子 Volume)複寫至遠端叢集。
ceph fs mirror enable cephfs
ceph fs snapshot mirror add remote-site <remote-cluster>
用途:
- 適合 PBS 備份資料夾、AI 訓練資料集
- 同樣採 snapshot-based replication 機制
3️⃣ RGW Multi-Site(物件儲存同步)
若企業採用 Ceph RGW 作為 S3 相容物件儲存,
可設定 Multi-Zone / Multi-Region 架構 進行多站點同步。
| 模式 | 特性 |
|---|---|
| Multi-Zone | 同一叢集下多 RGW 實例共享資料 |
| Multi-Region | 跨叢集資料同步(可主主架構) |
Region A ←→ Region B
RGW Zone A ←→ RGW Zone B
RGW Multi-Site 是跨國企業常用的「地理性容災」解決方案。
🧠 四、Proxmox + Ceph 的 HA/DR 實務應用
架構示意圖
┌──────────────────────────────┐
│ Proxmox Cluster (A) │
│ VM Storage → RBD (Ceph A) │
└──────────────────────────────┘
│
RBD Mirror (Async Replication)
│
┌──────────────────────────────┐
│ Proxmox Cluster (B) │
│ DR Storage → RBD (Ceph B) │
└──────────────────────────────┘
部署步驟範例
1️⃣ 在兩個叢集建立獨立 Ceph 環境
2️⃣ 於 Cluster A 啟用 RBD Mirror:
rbd mirror pool enable vm-pool pool
3️⃣ 在 Cluster B 登記 Peer:
rbd mirror pool peer add vm-pool client.admin@remote
4️⃣ 啟用自動化 Failover 機制:
rbd mirror image promote vm-pool/vm-100-disk-0
⚙️ 五、效能與網路考量
| 項目 | 建議配置 |
|---|---|
| 同步頻率 | Snapshot-based incremental,每 5~15 分鐘 |
| 網路 | 至少 10 GbE 專線,跨站點建議 VPN 或 MPLS |
| 延遲容忍 | Mirror 為非同步,容忍 50–200ms 延遲 |
| Failover 策略 | 自動 / 手動 Promote 均可 |
| 備援監控 | 整合 Ceph Dashboard + Prometheus + Alertmanager |
🔒 六、容錯與治理建議
- MON 節點 ≥3,確保叢集穩定性與投票機制。
- 使用 Crush Map 區域規劃,確保副本跨機櫃、跨站點分佈。
- 啟用 Ceph Dashboard 的 DR 模組 監控 Mirror 狀態。
- 搭配 PBS 多站點同步 實現完整虛擬機備援。
- 定期演練 Failover / Failback 確認流程可行。
✅ 結語
Ceph 憑藉其原生的分散式設計與高彈性,
能讓企業在不依賴昂貴商用解決方案的前提下,
實現完整的 高可用(HA)與多站點容災(DR) 架構。
透過整合:
- Replication / EC 容錯機制
- RBD Mirror / CephFS Mirror
- RGW Multi-Site
- Proxmox + PBS 整合
企業可建立一套:
🌐 自我修復、跨站同步、持續可用的分散式儲存骨幹
💬 下一篇將探討:
「Ceph Dashboard 與自動化監控整合 (Prometheus + Alertmanager)」,
說明如何建立即時可視化與異常預警的智慧化運維平台。