0aa8fe6
这次没有正文改动。
这是 storage/Ceph 集群入门.md 的改动记录。后台每次保存都会留一份快照,
这里显示的是快照之间的差异,不会混入其他文章的改动。
还没有后台修改记录。
下面是 Git 里的提交,可能包含其他文章的改动(因为一次提交会带上工作区所有变化)。
0aa8fe6
这次没有正文改动。
e4d2cd0
@@ -0,0 +1,70 @@ +--- +tags: [Ceph, 分布式存储, 集群] +order: 30 +--- + +# Ceph 集群入门 + +## 场景 + +要一套能横向扩展的共享存储,给虚拟化或容器用,又不想买商业存储。 + +## 前置条件 + +- 至少 3 台机器,每台至少 2 块盘(系统盘 + 数据盘) +- 万兆网络更稳,千兆也能跑但慢 +- 全部机器时间同步 +- 主机名能互相解析 + +## 配置 + +```bash +# 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 +``` + +## 验证 + +```bash +ceph -s # HEALTH_OK +ceph osd tree +ceph df +rbd ls -p rbd +``` + +`ceph -s` 要看到 `HEALTH_OK` 或者明确列出的 warning,别忽略 `HEALTH_WARN`。 + +## 回滚 + +```bash +cephadm rm-cluster --fsid <fsid> --force +``` + +会清掉集群,数据一起没。 + +## 坑 + +- **时间不同步**,MON 会不断踢节点,集群起不来。 +- OSD 用了做过分区的盘,`ceph-volume` 会拒绝,先 `wipefs`。 +- 千兆网络下重建一块盘要很久,期间性能明显下降。 +- `HEALTH_WARN` 里如果是 `POOL_APP_NOT_ENABLED` 之类的小事可以稍后处理,但 `PG_DEGRADED` 要马上看。 +- 别把 MON 全放一台机器上。 +- Ceph 不是备份,误删照样丢。