在Ceph的日常维护中,难免会遇到服务crash的情况,此时使用 ceph -s
检查状态,会看到虽然当前服务都正常,但是有一个状态告警显示 X daemons have recently crashed
:
ceph_status_crash/ceph_health_warn
上述状态警告标识最近(默认是 2周 内)出现过Ceph服务crash,并且这个crash尚未被归档(archived),也就是尚未被管理员标记为"已知"(acknowledged)。
这标识了一个软件bug,或者硬件问题(例如故障的磁盘),也可能是其他问题。总之,需要检查一下。
- 检查最新的crash记录:
ceph_status_crash/ceph_crash_ls
输出可能类似:
ceph_status_crash/ceph_crash_ls_output
- 检查crash记录的详情:
ceph_status_crash/ceph_crash_info
- 检查以后(排查完)就可以将crash记录归档(标识为管理员已经检查过),这样后续就不会再出现该条crash记录对应的警告信息:
ceph_status_crash/ceph_crash_archive
或者直接将所有crash告警信息归档:
ceph_status_crash/ceph_crash_archive_all
- 归档以后,
ceph crah ls
仍然可以看到所有crash记录,不过ceph crash ls-new
则不会显示 - 默认
recent
是两周,这个参数可以通过mgr/crash/warn_recent_interval
修改
ceph_status_crash/ceph_config_get_mgr_crash_warn_recent_interval
默认输出是:
1209600
- 也可以完全关闭crash记录告警:
ceph_status_crash/disable_ceph_status_crash_warn