3node-ceph Spec
最後更新:2026-06-03
1. Goal
在 Azure 建立 dc1 baseline Ceph cluster(3 MON + 3 OSD,共 6 台 VM),作為後續跨機房遷移(dc2 擴展)的基礎。
2. Azure / Resource Convention
- Resource Group:
mansion_ceph_resource - 資源命名前綴:
mansion-ceph- - 共用資源放在:
mansion-shared-resource
3. VM and Network Baseline (dc1 only)
- 節點數:6 台 Ubuntu 22.04(3 MON + 3 OSD)
- 管理帳號:
ubuntu(SSH key,無密碼登入) - Runtime:目前使用 Docker(未來可評估 Podman)
- 公網/管理網段:
10.10.10.0/24 - Ceph cluster 私網:
172.10.10.0/24
節點規格:
| Node | Role | VM Size | OS IP | Cluster IP | Disk |
|---|---|---|---|---|---|
| mon-dc1-01 | MON | Standard_D2s_v4 | 10.10.10.21/24 | 172.10.10.21/24 | 1x64G OS |
| mon-dc1-02 | MON | Standard_D2s_v4 | 10.10.10.22/24 | 172.10.10.22/24 | 1x64G OS |
| mon-dc1-03 | MON | Standard_D2s_v4 | 10.10.10.23/24 | 172.10.10.23/24 | 1x64G OS |
| osd-dc1-01 | OSD | Standard_D2s_v4 | 10.10.10.24/24 | 172.10.10.24/24 | 1x64G OS + 2x64G OSD |
| osd-dc1-02 | OSD | Standard_D2s_v4 | 10.10.10.25/24 | 172.10.10.25/24 | 1x64G OS + 2x64G OSD |
| osd-dc1-03 | OSD | Standard_D2s_v4 | 10.10.10.26/24 | 172.10.10.26/24 | 1x64G OS + 2x64G OSD |
Topology labels:
- MON 節點:
datacenter=dc1, room=r1, rack=m1/m2/m3 - OSD 節點:
datacenter=dc1, room=r1, rack=o1/o2/o3
4. Ceph Baseline
- Ceph version:
v19.2.2 - 所有 MON 節點需可直接執行
ceph -s - RBD pool:
k8s_rbd_pool - Pool target:
size=3, min_size=1, pg_num=128, pgp_num=128 - CRUSH 依 location labels,failure domain 使用
rack
5. Observability and Logging
- 安裝
ceph-exporter+ceph-node-exporter,推送至 Kubernetes 專案中的 Prometheus - 安裝
fluent-bit,推送至 Kubernetes 專案中的 OpenSearch
6. Automation (Ansible)
- 安裝流程使用 Ansible playbooks 自動化
- 依 phase 拆 role(Phase 0~5)
- inventory 採 YAML,至少區分
ceph_mon/ceph_osd群組 group_vars:all.yml: 明碼變數encrypted.yml: ansible-vault 加密變數(secret)
7. Sizing Note (D2s_v4)
目前 baseline 使用 Standard_D2s_v4(MON/OSD 同規格)。
此配置適合 lab 與流程驗證;若 recovery/backfill 期間 OSD 延遲過高,優先升級 OSD 節點規格。