前提:

已经存在"至少两个 Ceph 集群的残留 fsid",而且 OSD 也已经真实写入过数据。
👉 在这种状态下 强行重新 cephadm bootstrap 是一定会冲突的。
👉 正确做法只有一条:先"彻底清理旧 Ceph 环境 + 清空所有 OSD",再重新 bootstrap。
你现在这个判断是 完全正确的 :
👉 现在这台 192.168.244.128 上 确实已经存在"至少两个 Ceph 集群的残留 fsid" ,而且 OSD 也已经真实写入过数据 。
👉 在这种状态下 强行重新 cephadm bootstrap 是一定会冲突的 。
👉 正确做法只有一条:先"彻底清理旧 Ceph 环境 + 清空所有 OSD",再重新 bootstrap。
你现在这个阶段,重装是最省时间、最稳、最干净的选择,比继续修复要靠谱得多。✅
✅ 一、为什么你现在"必须清理才能重装"?
你刚才这条报错是关键证据:
ERROR: Cannot infer an fsid, one must be specified (using --fsid):
['38d01ece-d286-11f0-8ad6-a312283fe45c',
'5eed5f86-d281-11f0-9bce-f9fd96cc8846']
这说明:
-
✅ 你这台机器上存在"两个 Ceph 集群的残留元数据"
-
✅ cephadm 已经 无法判断你到底要进哪个集群
-
✅ 这就是你:
ceph -s连不上cephadm shell也进不去- RADOS 一直 permission denied
的根本原因
再看你的磁盘:
sdb → 已经被做成 ceph LVM OSD
sdc → 已经被做成 ceph LVM OSD
sdd → 已经被做成 ceph LVM OSD
这三块盘现在是:
❗**"已经被旧集群格式化过的 OSD 磁盘"**
➡️ 所以你的问题答案是:
✅ 结论 1:你现在必须清除 OSD,否则新集群一定失败
✅ 二、给你一套【100% 安全可复制的"彻底重装 Ceph"流程】
下面这套流程是:
✅ 官方标准
✅ 不留残渣
✅ 不会再出现 fsid 冲突
✅ 适合你这种"练习 + 云计算 + RBD + libvirt 场景"
✅【第 1 步】停止并移除所有 Ceph 容器(必须)
在 root@192.168.244.128 上执行:
bash
cephadm rm-cluster --force --zap-osds --fsid 38d01ece-d286-11f0-8ad6-a312283fe45c
cephadm rm-cluster --force --zap-osds --fsid 5eed5f86-d281-11f0-9bce-f9fd96cc8846
这一步会:
- ✅ 删除所有 MON / MGR / OSD 容器
- ✅ 从系统中抹除 Ceph 进程
- ✅ 尝试清理已知的 OSD 关联数据
✅【第 2 步】手工彻底擦除 3 块 OSD 磁盘(最关键)
你这三块盘是:
/dev/sdb/dev/sdc/dev/sdd
⚠️ 下面命令 会彻底清空磁盘(这是你现在最需要的)
bash
wipefs -a /dev/sdb
wipefs -a /dev/sdc
wipefs -a /dev/sdd
sgdisk --zap-all /dev/sdb
sgdisk --zap-all /dev/sdc
sgdisk --zap-all /dev/sdd
然后再确认:
bash
lsblk
你应该看到:
sdb 20G disk
sdc 20G disk
sdd 20G disk
下面 不应该再看到任何 ceph--xxx 的 LVM 名字 。
如果还存在,我可以继续给你"LVM 深度清理命令"。
✅【第 3 步】清空本机旧的 Ceph 配置(防止再次污染)
bash
rm -rf /etc/ceph/*
rm -rf /var/lib/ceph/*
rm -rf /var/log/ceph/*
✅【第 4 步】确认系统现在是"完全干净状态"
下面四条你可以一次性执行:
bash
ls /etc/ceph
ls /var/lib/ceph
cephadm ls
lsblk
✅ 你理想看到的是:
/etc/ceph为空/var/lib/ceph为空cephadm ls没有任何 daemonsdb sdc sdd都是普通裸盘
✅ 三、现在才是【重新 bootstrap 的正确时机】
等你做到上面"完全干净"这一步之后,你再重新执行:
bash
cephadm bootstrap --mon-ip 192.168.244.128
之后流程就会非常顺了:
1️⃣ 添加 node2
2️⃣ 添加 MON
3️⃣ 添加 OSD
4️⃣ 创建 RBD
5️⃣ 接入 libvirt
✅ 四、你现在最关键的 3 个问题,我直接给最终答案
❓1)现在还能"直接 bootstrap 覆盖吗"?
❌ 不能
👉 你现在是"双 fsid + 旧 OSD 残留"状态,直接 bootstrap 一定失败。
❓2)OSD 要不要清除?
✅ 必须清除,不清除 100% 导致新集群失败
❓3)我是不是"真的把环境搞坏了"?
❌ 没有
✅ 这是 Ceph 新手最常见的一种"重复 bootstrap 残留状态"
✅ 标准处理方式就是:
rm-cluster + wipefs + sgdisk + 重新 bootstrap
✅ 你现在可以这样做(一步一步执行,我全程陪你)
你现在可以先从 第 1 步和第 2 步开始执行:
bash
cephadm rm-cluster --force --zap-osds --fsid 38d01ece-d286-11f0-8ad6-a312283fe45c
cephadm rm-cluster --force --zap-osds --fsid 5eed5f86-d281-11f0-9bce-f9fd96cc8846
wipefs -a /dev/sdb
wipefs -a /dev/sdc
wipefs -a /dev/sdd
sgdisk --zap-all /dev/sdb
sgdisk --zap-all /dev/sdc
sgdisk --zap-all /dev/sdd
然后执行:
bash
lsblk
👉 你只要把 lsblk 的结果发给我 ,
我就能 100% 帮你确认:
✅ OSD 是否清除干净
✅ 是否可以安全重新 cephadm bootstrap
✅ 重新 bootstrap 后我可以给你一份 "绝对不再翻车"的多节点标准流程,一步一步来。