1.5. 变异 Ceph 集群的健康警报

在某些情况下,用户可能希望临时修改一些警告,因为他们已经意识到警告并且无法立即对其执行操作。您可以静默健康检查,以便它们不会影响 Ceph 集群的总体报告状态。

使用健康检查代码指定警报。例如,当 OSD 停用以进行维护时,预期会出现 OSD_DOWN 警告。您可以选择在维护结束前静默警告,因为在维护期间,这些警告会使集群处于 HEALTH_WARN 状态而不是 HEALTH_OK 状态。

如果一个警报的状态变差,则大多数健康状况也会消失。例如,如果有一个 OSD 停机并且警报变异,则 mute 会在一个或多个额外 OSD 停机时消失。对于涉及计数的任何健康警报也是如此,指明触发警告或错误的数量。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 对节点的根级别的访问权限。
  • 一个健康警告消息。

流程

  1. 登录到 Cephadm shell:

    示例

    [root@host01 ~]# cephadm shell

  2. 运行 ceph 运行 health details 命令,检查红帽 Ceph 存储集群的运行状况

    示例

    [ceph: root@host01 /]# ceph health detail
    
    HEALTH_WARN 1 osds down; 1 OSDs or CRUSH {nodes, device-classes} have {NOUP,NODOWN,NOIN,NOOUT} flags set
    [WRN] OSD_DOWN: 1 osds down
        osd.1 (root=default,host=host01) is down
    [WRN] OSD_FLAGS: 1 OSDs or CRUSH {nodes, device-classes} have {NOUP,NODOWN,NOIN,NOOUT} flags set
        osd.1 has flags noup

    您可以看到存储集群处于 HEALTH_WARN 状态,因为其中一个 OSD 已停机。

  3. 静默警报:

    语法

    ceph health mute HEALTH_MESSAGE

    示例

    [ceph: root@host01 /]# ceph health mute OSD_DOWN

  4. 可选:健康检查 mute 可以有一个时间与其关联的生存时间(TTL),以便在指定的时间段过后自动过期。在命令中使用可选的 TTL 作为指定持续时间的参数:

    语法

    ceph health mute HEALTH_MESSAGE DURATION

    DURATION 可以在 s、ss mminhhour 中指定。

    示例

    [ceph: root@host01 /]# ceph health mute OSD_DOWN 10m

    在本例中,警报 OSD_DOWN 变异了 10 分钟。

  5. 验证 Red Hat Ceph Storage 集群状态是否已改为 HEALTH_OK:

    示例

    [ceph: root@host01 /]# ceph -s
      cluster:
        id:     81a4597a-b711-11eb-8cb8-001a4a000740
        health: HEALTH_OK
                (muted: OSD_DOWN(9m) OSD_FLAGS(9m))
    
      services:
        mon: 3 daemons, quorum host01,host02,host03 (age 33h)
        mgr: host01.pzhfuh(active, since 33h), standbys: host02.wsnngf, host03.xwzphg
        osd: 11 osds: 10 up (since 4m), 11 in (since 5d)
    
      data:
        pools:   1 pools, 1 pgs
        objects: 13 objects, 0 B
        usage:   85 MiB used, 165 GiB / 165 GiB avail
        pgs:     1 active+clean

    在本例中,您可以看到警报 OSD_DOWNOSD_FLAG 处于静默状态,静默会持续 9 分钟。

  6. 可选:通过保持 粘性,即使在警报被清除后仍可以保留 mute

    语法

    ceph health mute HEALTH_MESSAGE DURATION --sticky

    示例

    [ceph: root@host01 /]# ceph health mute OSD_DOWN 1h --sticky

  7. 您可以运行以下命令来删除静默:

    语法

    ceph health unmute HEALTH_MESSAGE

    示例

    [ceph: root@host01 /]# ceph health unmute OSD_DOWN

其它资源