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 --destroylvremove 清理干净,再部署新的 OSD。

总结对比

  • Jewel:数据盘坏 → 直接更换数据盘 → 重建 OSD → journal 盘自动覆盖,不需要提前清理。
  • Octopus 及以后:数据盘坏 → 还要清理掉旧的 DB/WAL LV → 再由 orchestrator 分配新的 journal/DB LV。