ceph集群报错:HEALTH_ERR 1 pgs inconsistent; 1 scrub errors

网友投稿 1200 2022-09-28

ceph集群报错:HEALTH_ERR 1 pgs inconsistent; 1 scrub errors

ceph集群报错:HEALTH_ERR 1 pgs inconsistent; 1 scrub errors

报错信息如下:

[root@ceph-6-11 ~]# ceph health detail

HEALTH_ERR 1 pgs inconsistent; 1 scrub errors;

pg 2.37c is active+clean+inconsistent, acting [75,6,35]

1 scrub errors

报错信息总结:

问题PG:2.37c

OSD编号:75,6,35

执行常规修复:

ceph pg repair 2.37c

查看修复结果:

[root@ceph-6-11 ~]# ceph health detail

HEALTH_ERR 1 pgs inconsistent; 1 scrub errors

pg 2.37c is active+clean+inconsistent, acting [75,6,35]

1 scrub errors

问题依然存在,异常pg没有修复;

然后执行:

要洗刷一个pg组,执行命令:

ceph pg scrub 2.37c

ceph pg deep-scrub  2.37c

ceph pg repair 2.37c

以上命令执行后均未修复,依然报上面的错误,查看相关osd 日志报错如下:

2017-07-24 17:31:10.585305 7f72893c4700  0 log_channel(cluster) log [INF] : 2.37c repair starts

2017-07-24 17:31:10.710517 7f72893c4700 -1 log_channel(cluster) log [ERR] : 2.37c repair 1 errors, 0 fixed

此时已经被坑了好久了,决定修复pg 设置的三块osd ,执行命令如下:

ceph osd repair 75

ceph osd repair 6

ceph osd repair 35

修复命令执行后等待一段时间,osd 修复完成,发现错误依然存在!!!!!!!!!此时想做下面两个操作,

1:找到pg object信息,把主osd 上面的数据删掉,让后让集群修复;

2:修改pg现在使用的主osd信息,现在是osd 75 ,改成别的磁盘(没找到方法修改);

此时看到ceph社区的一个bug 信息:

​​所使用的主osd 75

查询pg 使用主osd信息

ceph pg  2.37c query |grep primary

"blocked_by": [],

"up_primary": 75,

"acting_primary": 75

执行操作如下:

systemctl stop ceph-osd@75

此时ceph开始数据恢复,将osd75 上面的数据在其它节点恢复,等待一段时间,发现数据滚动完成,执行命令查看集群状态。

[root@ceph-6-11 ~]# ceph health detail

HEALTH_ERR 1 pgs inconsistent; 1 scrub errors

pg 2.37c is active+clean+inconsistent, acting [8,38,17]

1 scrub errors

看到上面的信息,心都要碎了!为啥还是这样?不报希望的执行以下常规修复!

[root@ceph-6-11 ~]# ceph pg repair 2.37c

'instructing pg 2.37c on osd.8 to repair

然后查看集群状态:

[root@ceph-6-11 ~]# ceph health detail

HEALTH_OK

药药彻克闹!好了。。。。。。。。啥也不说了,下班!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:filebeat 配置文件详解
下一篇:Elasticsearch 集群管理工具curator 接口模式使用介绍
相关文章

 发表评论

暂时没有评论,来抢沙发吧~