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
相关推荐
45° 微笑3 天前
k8s集群 ceph rbd 存储动态扩容
ceph·容器·kubernetes·rbd
查士丁尼·绵3 天前
ceph补充介绍
ceph
Hello.Reader5 天前
Ceph 存储系统全解
分布式·ceph
Clarence_Ls8 天前
<十六>Ceph mon 运维
运维·ceph
手持钩笼引天下8 天前
踩坑:关于使用ceph pg repair引发的业务阻塞
运维·ceph
Clarence_Ls8 天前
<十七>Ceph 块存储理论与实践
ceph
知本知至11 天前
ceph rgw使用sts Security Token Service
linux·网络·ceph
一名路过的小码农11 天前
ubantu 编译安装ceph 18.2.4
linux·c++·ceph
大新新大浩浩12 天前
ceph 删除rbd 锁的命令
ceph·1024程序员节
知本知至13 天前
使用ceph-csi把ceph-fs做为k8s的storageclass使用
ceph·容器·kubernetes