脚本巴巴 www.jiaoben88.com

交换机死机导致ceph ( requests are blocked ) 异常解决方法

发布时间:2017-01-26 15:06:21编辑:脚本巴巴

本文主要为大家介绍下交换机死机导致ceph ( requests are blocked ) 异常的解决方法,有需要的朋友可以参考下。

问题描述:

万兆交换机死机后,导致在交换机上的ceph 的cluster网络会中断,用户正在对数据块的访问没有完成导致请求被blocked,同时部分pg会处于不同步状态,因此交换机重启后,通过ceph health会发现ceph集群不在OK 状态

health HEALTH_ERR 1 pgs inconsistent; 1 pgs repair; 2 requests are blocked > 32 sec; 1 scrub errors

pg 6.89 is active+clean+inconsistent, acting [12,1,10]

1 ops are blocked > 33554.4 sec

1 ops are blocked > 33554.4 sec on osd.16

1 osds have slow requests

通过以上命令可以发现这里有部分osd(osd.16)出现请求被blocked,重启这些osd,让ceph自己进行恢复:

/etc/init.d/ceph stop osd.16

/etc/init.d/ceph start osd.16

系统会对该 osd 执行 recovery 操作, recovery 过程中, 会断开 block request, 那么这个 request 将会重新请求 mon 节点, 并重新获得新的 pg map, 得到最新的数据访问位置, 从而解决上述问题

一段时间后,可以通过ceph -s 查看ceph的状态为ok

ceph恢复正常后,需要重启虚拟机,有些系统版本的虚拟机可以不用重启,例如ubuntu14.04.

可以通过进入虚拟机来查看是否正常来判断是否需要重启

上一篇:内存不能为“read”或“written”的解决方法
下一篇:解决局域网共享文件夹要求输入用户名密码访问的问题

相关文章