Oamc

Ceph 集群入门

本页目录

场景

要一套能横向扩展的共享存储,给虚拟化或容器用,又不想买商业存储。

前置条件

  • 至少 3 台机器,每台至少 2 块盘(系统盘 + 数据盘)
  • 万兆网络更稳,千兆也能跑但慢
  • 全部机器时间同步
  • 主机名能互相解析

配置

# 1. 在第一个节点装 cephadm
dnf install -y cephadm
cephadm bootstrap --mon-ip 10.0.0.11

# 2. 把其他节点加进来(需要免密)
ceph orch host add node2 10.0.0.12
ceph orch host add node3 10.0.0.13
ceph orch host label add node1 mon
ceph orch host label add node2 mon
ceph orch host label add node3 mon

# 3. 加 OSD(用裸盘,别提前分区)
ceph orch apply osd --all-available-devices

# 4. 建池
ceph osd pool create rbd 128
ceph osd pool application enable rbd rbd

# 5. 建块设备
rbd create disk01 --size 100G --pool rbd

验证

ceph -s                    # HEALTH_OK
ceph osd tree
ceph df
rbd ls -p rbd

ceph -s 要看到 HEALTH_OK 或者明确列出的 warning,别忽略 HEALTH_WARN。

回滚

cephadm rm-cluster --fsid <fsid> --force

会清掉集群,数据一起没。

坑

  • 时间不同步,MON 会不断踢节点,集群起不来。
  • OSD 用了做过分区的盘,ceph-volume 会拒绝,先 wipefs。
  • 千兆网络下重建一块盘要很久,期间性能明显下降。
  • HEALTH_WARN 里如果是 POOL_APP_NOT_ENABLED 之类的小事可以稍后处理,但 PG_DEGRADED 要马上看。
  • 别把 MON 全放一台机器上。
  • Ceph 不是备份,误删照样丢。