天天看點

ceph 叢集報錯:mds0: Client failing to respond to capability release

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"