mds0: Client ts-100-20.pttest.com failing to respond to capability release(client_id: 99180808)
CephFS 客户端收到了 MDS 发出的能力( capabilities ) ,它就像锁。有时候,比如一个客户端需要访问权, MDS 就会让别的客户端释放它们的能力,如果有客户端没响应、或者有缺陷,它就有可能没及时释放、或者根本不释放。如果某个客户端的响应时间超过了 mds_revoke_cap_timeout (默认为 60s ),这条消息就会出现。
#经查询导致次问题原因如下:
1:首先官方个别文档说这是个bug ,新版本中会修复此类问题;
2:系统内核版本较低,需要升级系统内核;
3:mds_cache_size 参数设置较小;
4:挂载cephfs空间的服务器网络不稳定;
解决办法:
1:修改集群超时配置:
查看集群现配置参数:
ceph --admin-daemon /var/run/ceph/ceph-mds.ceph-6-11.asok config show |grep revoke
"mds_revoke_cap_timeout": "60",
2:修改超时时间 到180 秒
ceph --admin-daemon /var/run/ceph/ceph-mds.ceph-6-12.asok config set mds_revoke_cap_timeout 180
3:再次验证,修改结果。
ceph --admin-daemon /var/run/ceph/ceph-mds.ceph-6-12.asok config show |grep revoke
"mds_revoke_cap_timeout": "180",
4:修改集群配置文件,在global 配置区域增加如下内容:
[global]
mds_revoke_cap_timeout = 180
5:重启mds 服务,有业务的要小心!!!
sudo systemctl restart ceph-mds@"$HOSTNAME"
sudo systemctl status ceph-mds@"$HOSTNAME"
以上操作完成后,如果告警还是存在,就要执行如下操作了:
重启报错节点服务器,重新挂载cephfs 空间;