首页 > ceph unfound object问题的解决

ceph unfound object问题的解决

  • 查看丢失对象的pg id

    ceph health detail

  • 查找该pg下丢失的object

    ceph pg 8.32 list_missing

  • 尝试修复该pg:

    ceph pg repair 8.32

    ceph pg scrub 8.32

  • 修复不成功的话,可以直接告诉ceph使用已有的版本或者直接删除

    尝试切换到旧版本的object:ceph pg 8.32 mark_unfound_lost revert

    直接删除该pg丢失的object:ceph pg 8.32 mark_unfound_lost delete

    如果以上步骤还未修复该对象,那么执行如下步骤

  • 找出当前资源池下所有的rbd块

    rbd ls test_rep_pool

    [root@node1 ~]# rbd ls test_rep_pool
    rbd_test
    
  • 获取该块的详细信息 显示如下

    rbd info test_rep_pool/rbd_test

    rbd image 'rbd_test':size 10GiB in 2560 objectsorder 22 (4MiB objects)block_name_prefix: rbd_data.14cf06b8b4567format: 2features: layering, exclusive-lock, object-map, fast-diff, deep-flattenflags: create_timestamp: Fri May 10 16:03:43 2019
    
  • 找出该对象对应的osd id

    ceph osd map test_rep_pool rbd_data.14cf06b8b4567 显示如下信息

    [root@node1 ~]# ceph osd map test_rep_pool rbd_data.14cf06b8b4567
    osdmap e199 pool 'test_rep_pool' (2) object 'rbd_data.14cf06b8b4567' -> pg 2.eb35710a (2.a) -> up ([0,1], p0) acting ([0,1], p0)
    

    获取到该pg对应的up set和acting set

  • 在每个osd中删除该对象

    • 先停掉对应的osd

      systemctl stop ceph-osd@id
    • 使用ceph-objectstore-tool删除该osd中 的对象

      ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-1/ --pgid 8.e rbd_data.7.20a274b0dc51.0000000000000fc8 remove
  • 删除后在资源池中创建一个同名的空对象:

    rbd create -p test_rep_pool --size 4M rbd_data.14cf06b8b4567

更多相关:

  • 本文主要是在梳理cephfs内核方式挂载的内核代码逻辑所做的准备 环境:Centos 7.5 内核源码版本:3.10.0-862.el7.x86_64 打开ceph模块的debug信息 单独编译ceph模块的.ko文件 ceph在内核的通用模块主要有三个: ceph.ko 模块路径:/usr/src/kernels/3.10....

  • 文章目录安装使用使用`ceph tell`产生堆栈信息文使用`pprof`工具分析内存及`ceph tell`释放内存火焰图`FlameGraph`可视化进程堆栈信息 pprof是一个google开发的支持可视化、且可分析profile文件而达到对内存的分析。并且能够输出文本和图像来支持分析过程,pprof源码 安装...

  • 目前有两种动态修改的方式来让ceph中各个组件的配置生效,所以介绍如下两种方式方便我们进行功能或者代码的调试 使用ceph daemon方式修改 ceph daemon osd.0 help用于osd的daemon服务ceph daemon mon.ceph-node1 help用于mon的admin socket命令、ceph...

  • 我们内核挂载的前提是:看到centos7.5 中默认内核3.10.0-862.11.6.el7.x86_64的挂载fs执行文件读写性能更优良,所以尝试将3.10.0-862.11.6.el7.x86_64模块中与ceph fs挂载相关的ceph.ko,libceph.ko,dns_resolver.ko,libcrc32c.ko拷贝...