Cetph状态警告”daemons have recently crashed”¶
在Ceph的日常维护中,难免会遇到服务crash的情况,此时使用 ceph -s
检查状态,会看到虽然当前服务都正常,但是有一个状态告警显示 X daemons have recently crashed
:
cluster:
id: 0e6c8b6f-0d32-4cdb-a45d-85f8c7997c17
health: HEALTH_WARN
2 daemons have recently crashed
services:
mon: 3 daemons, quorum z-b-data-1,z-b-data-2,z-b-data-3 (age 73s)
mgr: z-b-data-1(active, since 4m)
osd: 3 osds: 3 up (since 74s), 3 in (since 4M)
data:
pools: 2 pools, 33 pgs
objects: 62.75k objects, 244 GiB
usage: 732 GiB used, 665 GiB / 1.4 TiB avail
pgs: 33 active+clean
上述状态警告标识最近(默认是 2周 内)出现过Ceph服务crash,并且这个crash尚未被归档(archived),也就是尚未被管理员标记为”已知”(acknowledged)。
这标识了一个软件bug,或者硬件问题(例如故障的磁盘),也可能是其他问题。总之,需要检查一下。
检查最新的crash记录:
ceph crash ls-new
输出可能类似:
ID ENTITY NEW
2023-04-01T13:01:11.675093Z_7818c049-110a-49d3-a6e7-fec1c026ac1b osd.2 *
2023-05-16T08:06:39.429237Z_f670f1f5-23f2-47a6-a4b7-f111b1dd512d osd.2 *
2023-05-16T08:06:42.717203Z_19133ccd-9334-457e-b691-3463b02980e4 osd.1 *
检查crash记录的详情:
ceph crash info <crash-id>
检查以后(排查完)就可以将crash记录归档(标识为管理员已经检查过),这样后续就不会再出现该条crash记录对应的警告信息:
ceph crash archive <crash-id>
或者直接将所有crash告警信息归档:
ceph crash archive-all
归档以后,
ceph crah ls
仍然可以看到所有crash记录,不过ceph crash ls-new
则不会显示默认
recent
是两周,这个参数可以通过mgr/crash/warn_recent_interval
修改
ceph config get mgr mgr/crash/warn_recent_interval
默认输出是:
1209600
也可以完全关闭crash记录告警:
ceph config set mgr mgr/crash/warn_recent_interval 0