ceph修复pg inconsistent( scrub errors)

异常情况

1、收到异常情况如下:

bash 复制代码
OSD_SCRUB_ERRORS 12 scrub errors
PG_DAMAGED Possible data damage: 1 pg inconsistent
    pg 6.d is active+remapped+inconsistent+backfill_wait, acting [5,7,4]

2、查看详细信息

登录后复制

bash 复制代码
#ceph health detail
HEALTH_ERR 12 scrub errors; Possible data damage: 1 pg inconsistent
OSD_SCRUB_ERRORS 12 scrub errors
PG_DAMAGED Possible data damage: 1 pg inconsistent
    pg 6.d is active+remapped+inconsistent+backfill_wait, acting [5,7,4]

2、预处理办法

集群出现pg状态变为 inconsistent 状态,inconsistent状态是pg通过scrub检测到某个或者某些对象在副本之间出现了不一致

解决方法:

1.找到pgid

bash 复制代码
ceph pg dump | grep inconsistent

2.通过repair修复对应的pg

bash 复制代码
ceph pg repair pgid

完成

但是经过观察,并不能解决。

3、我的处理过程

找出异常的 pg,然后到对应的osd所在主机上修复。

bash 复制代码
[root@intelligence-b-10 ~]#  ceph osd find 5
{
    "osd": 5,
    "ip": "10.21.230.91:6802/2032",
    "crush_location": {
        "host": "intelligence-b-12",
        "root": "default"
    }
}
[root@intelligence-b-10 ~]#  ceph osd find 7
{
    "osd": 7,
    "ip": "10.21.230.92:6801/2059",
    "crush_location": {
        "host": "intelligence-b-13",
        "root": "default"
    }
}
[root@intelligence-b-10 ~]#  ceph osd find 4
{
    "osd": 4,
    "ip": "10.21.230.90:6800/2084",
    "crush_location": {
        "host": "intelligence-b-11",
        "root": "default"
    }
}

这里表示是主机intelligence-b-12

然后到 进行修复

1、停止osd

bash 复制代码
systemctl stop ceph-osd@5.service

2、刷入日志

bash 复制代码
ceph-osd -i 5 --flush-journal

3、启动osd

bash 复制代码
systemctl start ceph-osd@5.service

4、修复(一般不需要)

bash 复制代码
ceph pg repair 6.d

5、查看ceph的状态

bash 复制代码
ceph -s
相关推荐
2301_767902641 天前
Ceph 分布式存储从入门到实战
分布式·ceph
wniuniu_1 天前
ceph的参数
java·数据库·ceph
wniuniu_1 天前
ceph心跳机制
开发语言·ceph·php
忙里偷闲学python2 天前
ceph介绍和安装
linux·ceph·kubernetes
小波小波轩然大波2 天前
ceph技术
ceph
神秘面具男032 天前
ceph分布式存储
分布式·ceph
阎*水2 天前
Ceph 分布式存储完整实践指南
linux·运维·分布式·ceph
阿方索3 天前
Ceph 分布式存储
分布式·ceph
别多香了4 天前
ceph分布式存储
分布式·ceph
你什么冠军?5 天前
Ceph分布式存储
ceph