升级 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=
    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 rebuild -- --keyring

如果没有 keyring

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

    mv /var/lib/ceph/mon//store.db
    /var/lib/ceph/mon//store.db.corrupted

  2. 导出 mon

    ceph-mon -i --extrace-monmap /tmp/lastmap

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

    monmaptool --rm a /tmp/lastmap

  4. 重新添加 mon

    monmaptool --add :6789 /tmp/lastmap

  5. 导入 mon

    ceph-mon -i --inject-monmap /tmp/lastmap

  6. 启动 mon

    systemctl start ceph-mon@

相关推荐
陈陈CHENCHEN7 小时前
【Linux】服务器根目录磁盘扩容操作记录
linux·运维·服务器
沸速存储8 小时前
AI 机器人靠哪些内存与存储驱动整机运行?
服务器·科技·嵌入式硬件·电脑
fengyehongWorld9 小时前
Linux squid搭建基础代理服务器
linux·运维·服务器
Cx330❀10 小时前
【Linux网络】网络层 IP 协议:从网段划分到内核源码解析
大数据·linux·服务器·网络·tcp/ip·性能优化·langchain
一技安身12 小时前
【信创】docker-26.0.2.tgz 原理 + 完整安装
linux·运维·服务器
郝学胜-神的一滴12 小时前
Effective Python 条款 13:善用星号解包,告别下标切片拆分的坑
服务器·开发语言·数据结构·python·程序人生·pycharm
智购无人售货机厂家13 小时前
2026自动售货机品类拓展逻辑:从饮料零食到鲜食药品文创的工程实践~YH
服务器·人工智能·单片机·线性代数·矩阵
国际云,接待13 小时前
华为云 ECS 怎么选规格:从用户地域、CPU/内存比、PPS 和云硬盘性能做购买前容量判断
服务器
国际云,接待13 小时前
华为云 CBR 备份不是点一下就完事:用恢复演练验证 ECS 的 RPO、RTO 和跨区域容灾
服务器
学烹饪的小胡桃13 小时前
资产设备管理系统 WGFIX 怎么设置https访问
linux·运维·服务器·网络·安全