ceph 集群报 mds cluster is degraded 故障排查

ceph 集群版本:

ceph -v
ceph version 10.2.7 (50e863e0f4bc8f4b9e31156de690d765af245185)

ceph -w 查看服务状态:

mds cluster is degradedmonmap e1: 3 mons at {ceph-6-11=172.16.6.11:6789/0,ceph-6-12=172.16.6.12:6789/0,ceph-6-13=172.16.6.13:6789/0}election epoch 454, quorum 0,1,2 ceph-6-11,ceph-6-12,ceph-6-13fsmap e1928: 1/1/1 up {0=ceph-6-13=up:rejoin}, 2 up:standbyosdmap e4107: 90 osds: 90 up, 90 inflags sortbitwise,require_jewel_osdspgmap v24380658: 5120 pgs, 4 pools, 14837 GB data, 5031 kobjects            44476 GB used, 120 TB / 163 TB avail                5120 active+clean

服务日志:

fault with nothing to send, going to standby2017-05-08 00:21:32.423571 7fb859159700  1 heartbeat_map is_healthy 'MDSRank' had timed out after 152017-05-08 00:21:32.423578 7fb859159700  1 mds.beacon.ceph-6-12 _send skipping beacon, heartbeat map not healthy2017-05-08 00:21:33.006114 7fb85e264700  1 heartbeat_map is_healthy 'MDSRank' had timed out after 152017-05-08 00:21:34.902990 7fb858958700 -1 mds.ceph-6-12 *** got signal Terminated ***2017-05-08 00:21:36.423632 7fb859159700  1 heartbeat_map is_healthy 'MDSRank' had timed out after 152017-05-08 00:21:36.423640 7fb859159700  1 mds.beacon.ceph-6-12 _send skipping beacon, heartbeat map not healthy2017-05-08 00:21:36.904448 7fb85c260700  1 mds.0.1929 rejoin_joint_start2017-05-08 00:21:36.906440 7fb85995a700  1 heartbeat_map reset_timeout 'MDSRank' had timed out after 152017-05-08 00:21:36.906502 7fb858958700  1 mds.ceph-6-12 suicide.  wanted state up:rejoin2017-05-08 00:21:37.906842 7fb858958700  1 mds.0.1929 shutdown: shutting down rank 02017-05-08 01:04:36.411123 7f2886f60180  0 set uid:gid to 167:167 (ceph:ceph)2017-05-08 01:04:36.411140 7f2886f60180  0 ceph version 10.2.7 (50e863e0f4bc8f4b9e31156de690d765af245185), process ceph-mds, pid 11320282017-05-08 01:04:36.411734 7f2886f60180  0 pidfile_write: ignore empty --pid-file2017-05-08 01:04:37.291720 7f2880f40700  1 mds.ceph-6-12 handle_mds_map standby2017-05-08 01:04:44.618574 7f2880f40700  1 mds.0.1955 handle_mds_map i am now mds.0.19552017-05-08 01:04:44.618588 7f2880f40700  1 mds.0.1955 handle_mds_map state change up:boot --> up:replay2017-05-08 01:04:44.618602 7f2880f40700  1 mds.0.1955 replay_start2017-05-08 01:04:44.618627 7f2880f40700  1 mds.0.1955  recovery set is

表现现象:

此时cephfs 挂载到系统的文件夹,可以进入,无法创建文件,仅能查看目录;

故障排查解决:

参考文档
http://tracker.ceph.com/issues/19118
http://tracker.ceph.com/issues/18730

查看信息发现,是新版本的一个bug,近期我们做了一个版本升级,从10.2.5升级到10.2.7 ,升级完成不到一周:

基本原因分析,当cephfs 存储有大量数据的时候,多个主节点要同步状并进行数据交换,mds 节点有消息监测,默认设置的是15秒超时,如果15没有收到消息,就将节点踢出集群。默认的超时时间较短,会导致压力大,返回数据慢的节点异常,被反复踢出集群,刚被踢出集群,心跳又发现节点是活着的,又会将节点加入集群,加入集群后一会又被踢出,如此反复。此时ceph集群会报“mds cluster is degraded”。服务日志报“heartbeat_map is_healthy 'MDSRank' had timed out after 15”

解决办法:

解决办法1:

此办法为应急办法,留一个mds 节点工作,其它节点服务暂时关闭,仅剩余一个节点独立工作,不再有mds 之间的心跳监测,此问题可以规避。此步骤完成后可以按照解决办法2进行处理,彻底解决。

解决办法2:增大超时时间阀值,修改到300秒,参数如下:

在所有的mds 节点执行,

mds beacon grace描述: 多久没收到标识消息就认为 MDS 落后了(并可能替换它)。
类型: Float
默认值:    15

参考文档:
http://docs.ceph.org.cn/cephfs/mds-config-ref/

修改参数方法:

1:可以写入ceph 配置文件

调整参数前查看:

root@jp33e514-6-10 ~]# ceph --admin-daemon /var/run/ceph/ceph-mds.jp33e514-6-10.asok config show |grep mds|grep beacon_grace

"mds_beacon_grace": "15",

添加配置参数:

[root@jp33e514-6-11 ceph]# more ceph.conf

[global]

..................略。。。。。。。。。。。。

public_network = 172.17.6.0/24

cluster_network = 172.17.6.0/24

filestore_xattr_use_omap = true

osd_crush_chooseleaf_type = 1

mds_beacon_grace = 300

mds_cache_size = 2000000

mds_beacon_grace = 300    《《== 配置内容

重启服务

systemctl restart ceph-mds@jp33e514-6-10.service

systemctl status ceph-mds@jp33e514-6-10.service

确认配置生效:

ceph --admin-daemon /var/run/ceph/ceph-mds.jp33e514-6-10.asok config show |grep mds|grep beacon_grace

"mds_beacon_grace": "300",

2:直接使用命令修改集群参数:

查看现配置:

[root@ceph-6-11 ~]# ceph --admin-daemon /var/run/ceph/ceph-mon.ceph-6-11.asok config show |grep mds|grep beacon_grace"mds_beacon_grace": "15",

使用在线配置命令直接修改成功:

[root@ceph-6-11 ~]# ceph --admin-daemon /var/run/ceph/ceph-mon.ceph-6-11.asok config set mds_beacon_grace 300{    "success": "mds_beacon_grace = '300' (unchangeable) "}

验证:

[root@ceph-6-11 ~]# ceph --admin-daemon /var/run/ceph/ceph-mon.ceph-6-11.asok config show |grep mds|grep beacon_grace"mds_beacon_grace": "300",  #  << === 参数已经修改成功

参数修改完成后,可开启所有已关闭mds 节点,在集群中任意关闭一个mds 主节点,状态可以同步到其它节点,其它主节点会接管服务响应,cephfs 使用不受影响。

转载于:https://blog.51cto.com/michaelkang/1923209

ceph 集群报 mds cluster is degraded 故障排查相关推荐

  1. ceph集群报 Monitor clock skew detected 错误问题排查,解决

    ceph集群报 Monitor clock skew detected 错误问题排查,解决             告警信息如下: [root@ceph-100-80 ceph]# ceph -w   ...

  2. Ceph集群报错解决方案笔记

    文章目录 0 当前Ceph版本和CentOS版本: 1.节点间配置文件内容不一致错误 2.too few PGs per OSD (21 < min 30)警告 解决办法:增加pg数 3.集群状 ...

  3. ceph集群删除mds服务

    2019独角兽企业重金招聘Python工程师标准>>> 由于环境从Hammer版升级到Jewel版,之前Hammer版上有MDS服务,但是没有实际用途,升级到Jewel版后,由于不再 ...

  4. 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.3 ...

  5. Ceph分布式存储系列(二):ceph-deploy方式部署三节点ceph集群

    承接上文:Ceph分布式存储系列(一):Ceph工作原理及架构浅析梳理 之前都是使用Deepsea方式部署的ceph,长时间不用ceph-deploy了,这次来回顾,顺便总结下! 前言: ceph-d ...

  6. k8s——kubernetes使用rook部署ceph集群

    kubernetes使用rook部署ceph集群 一:环境准备 1.安装时间服务器进行时间同步 所有的kubernetes的集群节点 [root@master ~]# yum -y install n ...

  7. ceph-deploy离线部署ceph集群及报错解决FAQ

    Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...

  8. redis集群报Jedis does not support password protected Redis Cluster configurations异常解决办法...

    解决spring-data-redis操作redis集群报"Jedis does not support password protected Redis Cluster configura ...

  9. ceph集群手动部署(后期添加mon和osd)

    环境 操作系统 cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 内核 uname -a Linux host-192-168- ...

  10. CentOS8离线安装部署ceph集群

    文章目录 1.概念简介 1.1 存储类型 1.1.1 DAS设备 1.1.2 NAS设备:文件服务 1.1.3 SAN设备:块服务 1.2 Ceph 架构简介 2.集群节点规划 3.准备工作 4.使用 ...

最新文章

  1. .NET Framework 4.0-RequestValidationMode
  2. python 办公自动化-用python进行办公自动化都需要学习什么知识呢?
  3. APP的UI测试要点
  4. myeclipse的buildpath 和lib引入的区别
  5. Windows Mobile设备操作演示准备工作小记
  6. 我不知道风是在哪一个方向吹
  7. webstorm下debug调试react js程序
  8. superMap添加marker及连线
  9. stat函数_使用Python的stat函数有效地获得所有者,组和其他权限
  10. 12.混淆——混叠图像,对比敏感度,图像压缩_4
  11. 印度软件水平和中国的程序员
  12. Atitit mybatis 翻页解决法 目录 1.1. 翻页模式还有js翻页前端翻页更加简单 1 1.2. 逻辑分页使用类RowBounds vs 物理分页 offset模式 1 1.3.
  13. 天若OCR专业版软件,现可无需联网本地使用了~
  14. SSM框架整合(参考尚硅谷视频和文档
  15. 基于struts2的个人信息管理系统(一)
  16. 下载阿里云OSS上的文件及文件夹
  17. linux indent添加,linux indent格式化代码
  18. 对耦合电容、极间电容、旁路电容、去耦电容的理解小结
  19. 苏州企业研发费用精准统计难点分析
  20. 日期与字符串之间的转换

热门文章

  1. 如何在工作中形成自己的方法论(待完善)
  2. php图片指纹获取,指纹识别是通过什么等物理传感器获取指纹图像
  3. pvt检查是什么意思_专业术语EVT、DVT、PVT、MP是什么意思?
  4. 电饼锅的样式图片价格_电饼铛款式平泉价格
  5. 【路径规划】基于遗传算法求解多式联运运输问题matlab源码
  6. 我已经看到了,撤回也没用了(PC微信防撤回补丁)
  7. 保送清华计算机,2018年北大、清华五大学科竞赛集训队保送生争夺战结果
  8. 24GHz多通道毫米波雷达传感器开发-前言
  9. 红孩儿编辑器的模块设计4
  10. uni-app使用 getUserInfo 报错 fail can only be invoked by user TAP gesture 解决方法