运维百科

Ceph故障: [WRN] 1 slow requests, 1 included below; oldest blocked for

故障一:MDS锁的问题

1、观察mds的日志

2018-12-13 19:56:11.222816 7fffee6d0700  0 log_channel(cluster) log [WRN] : 1 slow requests, 1 included below; oldest blocked for > 30.670943 secs
2018-12-13 19:56:11.222826 7fffee6d0700  0 log_channel(cluster) log [WRN] : slow request 30.670943 seconds old, received at 
2018-12-13 19:55:40.551820: client_request(client.22614489:538 lookup #0x1/test.log 2018-12-13 19:55:40.551681 caller_uid=0, caller_gid=0{0,}) currently failed to rdlock, waiting
2018-12-13 19:56:13.782378 7ffff0ed5700  1 mds.ceph-xxx-osd02.ys Updating MDS map to version 229049 from mon.0
2018-12-13 19:56:33.782572 7ffff0ed5700  1 mds.ceph-xxx-osd02.ys Updating MDS map to version 229050 from mon.0
2018-12-13 20:00:26.226405 7fffee6d0700  0 log_channel(cluster) log [WRN] : evicting unresponsive client ceph-xxx-osd01.ys (22532339), after 303.489228 seconds

总结:

  • 可以发现kill之后A用户是不可用的状态。

  • 与此同时B用户也是不可用的状态,过了300s才恢复。

  • 与此同时mds日志显示,有慢查询夯住的client.22614489正好是B用户。

  • mds日志中发现,夯住都是在等待读锁。(currently failed to rdlock, waiting)

  • mds日志中发现, 夯住后过了300s 驱逐异常客户端A用户。

  • 有两种情况可以自动剔除客户:

    • 在活动的MDS守护程序上,如果客户端尚未通过mds_session_autoclose秒(默认为300秒)与MDS进行通信(客户端每隔20s 向mds发送心跳链接handle_client_session),则会自动将其逐出。

    • 在MDS启动期间(包括故障转移),MDS通过称为重新连接的状态。 在此状态下,它等待所有客户端连接到新的MDS守护程序。 如果任何客户端在时间窗口(mds_reconnect_timeout,默认值为45秒)内未能这样做,那么它们将被逐出。

  • 调节mds session autoclose(默认300s)可以尽快释放异常会话,让其他客户端尽快可用。


  • 参考文档:https://www.jianshu.com/p/e7d79a0d5314(CephFS 介绍及使用经验分享)



本站部分资源收集于网络,纯个人收藏,无商业用途,如有侵权请及时告知!

2
分享到:

评论 0

取消
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址