ceph pg inconsistent修复(unexpected clone)

问题概述:

ceph -s 显示pg 10.17 inconsistent

且命令ceph pg repair 10.17无法修复,/var/log/ceph/cep-osd.3.log报错内容如下:

pg 10.17 osd [3,4] 权威副本osd:3

repair 10.17 10:e889b16a:::rbd_data.88033092ad95.0000000000000012:b : is an unexpected clone

修复步骤:

0.备份

rados -p ceph-kvm-pool get rbd_data.88033092ad95.0000000000000012 /tmp/rbd_data.88033092ad95.0000000000000012

1.禁止集群均衡

ceph osd set noout

ceph osd set noscrub

ceph osd set nodeep-scrub

2.禁止recover

ceph osd set nobackfill

ceph osd set norebalance

ceph osd set norecover

3.停止osd

systemctl stop ceph-osd@3

4.列出快照

ceph-objectstore-tool --pgid 10.17 \

--data-path /var/lib/ceph/osd/ceph-3/ \

--op list | grep rbd_data.88033092ad95.0000000000000012

5.删除有问题的快照

日志里:rbd_data.88033092ad95.0000000000000012:b : is an unexpected clone

b转为十进制为11,因此需要删除的为snapid为11的快照

ceph-objectstore-tool --pgid 10.17 \

--data-path /var/lib/ceph/osd/ceph-3/ \

'["10.17",{"oid":"rbd_data.88033092ad95.0000000000000012","key":"","snapid":11,"hash":1452118295,"max":0,"pool":10,"namespace":"","max":0}]' \

remove

6.启动osd

systemctl start ceph-osd@3

7.清除标记位

ceph osd unset norecover

ceph osd unset norebalance

ceph osd unset nobackfill

重复处理完全部osd(步骤2~7)

8.deep-scrub

ceph pg deep-scrub 10.17

9.处理完全部pg inconsistent后,清除其余标记位

ceph osd unset noscrub

ceph osd unset nodeep-scrub

ceph osd unset noout

其余指令:

列出不一致的pg:

ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-3/ --type bluestore --op list-pgs

列出不一致的object:

ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-3/ --type bluestore --pgid 10.17 --op list

相关推荐
coding消烦员1 小时前
在 Windows 内网搭建 Git 仓库:共享普通仓库 vs 中心 bare 仓库
windows·git
xiaoliuliu123455 小时前
IE8-WindowsXP-x86-CHS_23253_BDdl.exe 安装步骤(XP 32位简体中文版)
windows
百事牛科技6 小时前
文件不想再加密了?取消Word 打开密码的方法
windows·word
love530love7 小时前
EPGF 新手教程 13在 PyCharm(中文版 GUI)中创建 Hatch 项目环境,并把 Hatch 做成“项目自包含”(工具本地化为必做环节)
开发语言·ide·人工智能·windows·python·pycharm·hatch
峰上踏雪7 小时前
Go(Golang)Windows 环境配置关键点总结
开发语言·windows·golang·go语言
lusasky8 小时前
在Windows上编译、安装Rust
开发语言·windows·rust
麻辣长颈鹿Sir9 小时前
CMAKE指令集
linux·运维·windows·cmake·cmake指令集
Alice10299 小时前
如何在windows本地打包python镜像
开发语言·windows·python
北京流年9 小时前
windows安装jenkins并且编译app
运维·windows·jenkins
抹香鲸之海9 小时前
Easyexcel 多级横向合并表头
java·开发语言·windows