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

相关推荐
liulilittle7 小时前
.NET ExpandoObject 技术原理解析
开发语言·网络·windows·c#·.net·net·动态编程
cpsvps13 小时前
VR协作海外云:跨国企业沉浸式办公解决方案
windows·架构·vr·etw事件
义薄云天us14 小时前
019_工具集成与外部API调用
数据库·人工智能·windows·microsoft·claude code
RainbowSea14 小时前
安装win10出现“计算机意外的重新启动或遇到错误。Windows安装无法继续。若要安装Windows,请单击“确定”重新启动计算机,然后安装系统。”
windows·后端
bug攻城狮15 小时前
理解Grafana中`X-Scope-OrgID`的作用与配置
windows·grafana
扛枪的书生17 小时前
AD 提权-NTLM 中继攻击(强制认证)
windows·渗透·kali·提权·域渗透
hqxstudying18 小时前
Java行为型模式---观察者模式
java·开发语言·windows·观察者模式
Damon小智19 小时前
玩转ClaudeCode:ClaudeCode安装教程(Windows+Linux+MacOS)
windows·ai·mac·wsl·claude code·vibe code
CHANG_THE_WORLD21 小时前
libimagequant windows 编译
windows·libimagequant
xchenhao1 天前
基于 Flutter 的开源文本 TTS 朗读器(支持 Windows/macOS/Android)
android·windows·flutter·macos·openai·tts·朗读器