升级 ceph (16.2 -> 18.2) ceph mon 启动失败

ceph 升级后, ceph mon 启动报错:

复制代码
Dec 31 12:55:11 server ceph-mon[15982]: 2025-12-31T12:55:11.930+0800 7f60570a3e40 -1 _open error initializing leveldb db back storage in /var/lib/ceph/mon/ceph-server/store.db
Dec 31 12:55:11 server ceph-mon[15982]: /builddir/build/BUILD/ceph-18.2.6/src/mon/MonitorDBStore.h: In function 'void MonitorDBStore::_open(const std::string&)' thread 7f60570a3e40 time 2025-12-31T12:55:11.930993+0800
Dec 31 12:55:11 server ceph-mon[15982]: /builddir/build/BUILD/ceph-18.2.6/src/mon/MonitorDBStore.h: 635: ceph_abort_msg("MonitorDBStore: error initializing keyvaluedb back storage")

大致原因之前使用 level db,ceph 18.2 使用变为了 rocksdb。

恢复方法,通过 osd 信息重建 mon。

  1. 使用 osd 上存储的信息重建 mon

    ms=<directory>
    mkdir $ms

    for host in host_list; do rsync -avz "ms" root@host:"ms"; rm -rf "ms" ssh root@host <<EOF
    for osd in /var/lib/ceph/osd/ceph-*; do
    ceph-objectstore-tool --data-path $osd --op update-mon-db --mon-store-path ms done EOF rsync -avz root@host:ms ms; done

  2. 重建 mon 存储

    ceph-monstore-tool <directory> rebuild -- --keyring <keyring>

如果没有 keyring

复制代码
ceph-monstore-tool <directory> rebuild
  1. 替换

    mv /var/lib/ceph/mon/<mon-ID>/store.db
    /var/lib/ceph/mon/<mon-ID>/store.db.corrupted

  2. 导出 mon

    ceph-mon -i <mon-ID> --extrace-monmap /tmp/lastmap

  3. 删除 mon ,注意 默认生成的 mon 无法启动,需要删除

    monmaptool --rm a /tmp/lastmap

  4. 重新添加 mon

    monmaptool --add <mon-ID> <mon ip>:6789 /tmp/lastmap

  5. 导入 mon

    ceph-mon -i <mon-ID> --inject-monmap /tmp/lastmap

  6. 启动 mon

    systemctl start ceph-mon@<mon-ID>

相关推荐
七夜zippoe4 小时前
CANN Runtime任务描述序列化与持久化源码深度解码
大数据·运维·服务器·cann
盟接之桥4 小时前
盟接之桥说制造:引流品 × 利润品,全球电商平台高效产品组合策略(供讨论)
大数据·linux·服务器·网络·人工智能·制造
Fcy6485 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满6 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
主机哥哥6 小时前
阿里云OpenClaw部署全攻略,五种方案助你快速部署!
服务器·阿里云·负载均衡
珠海西格电力科技7 小时前
微电网能量平衡理论的实现条件在不同场景下有哪些差异?
运维·服务器·网络·人工智能·云计算·智慧城市
释怀不想释怀7 小时前
Linux环境变量
linux·运维·服务器
zzzsde8 小时前
【Linux】进程(4):进程优先级&&调度队列
linux·运维·服务器
qq_297574678 小时前
Linux 服务器 Java 开发环境搭建保姆级教程
java·linux·服务器
神梦流9 小时前
ops-math 算子库的扩展能力:高精度与复数运算的硬件映射策略
服务器·数据库