Ceph Jewel vs Ceph Octopus+ 更换坏盘步骤对比(一)
Jewel 版本(Luminous 之前)跟现在的 Nautilus / Octopus / Quincy 这种 ceph-volume 体系完全不一样。
🔹 在 Ceph Jewel 版本
- 当时 OSD 的部署是用
ceph-disk
(而不是现在的ceph-volume
+ orchestrator)。 - 数据盘(data)和日志盘(journal)是通过 分区 UUID 直接绑定的。
- data 盘里有 OSD 的 metadata(journal UUID 记录)。
- journal 盘只存 WAL/journal 数据,没有 cluster metadata。
- 所以如果 数据盘坏了:
- 对应的 OSD 就彻底报废,Ceph 集群里这个 OSD ID 也没法继续用。
- journal 盘本身没有 cluster 的关键信息,不用手动清理,只要数据盘换好后重新执行
ceph-disk prepare --journal
,它会自动覆盖 journal 分区。
🔹 在 Ceph Octopus 之后
- 部署换成了 ceph-volume lvm。
- 数据盘坏了以后,原来绑定的 DB/WAL LV 里面会有 OSD 的元数据(osd_fsid、whoami 等)。
- 这时如果不清理,
ceph orch
会认为它已经被使用过,报 “already created?” 错。 - 所以必须
ceph-volume lvm zap --destroy
或lvremove
清理干净,再部署新的 OSD。
✅ 总结对比
- Jewel:数据盘坏 → 直接更换数据盘 → 重建 OSD → journal 盘自动覆盖,不需要提前清理。
- Octopus 及以后:数据盘坏 → 还要清理掉旧的 DB/WAL LV → 再由 orchestrator 分配新的 journal/DB LV。