Red Hat Training

A Red Hat training course is available for RHEL 8

19.7. 配置节点健康策略

节点可能工作正常,足以维护其集群成员身份,但在某些情况下会处于不健康状态,使它成为不受欢迎的资源位置。例如,磁盘驱动器可能会报告 SMART 错误,或者 CPU 可能负载过高。从 RHEL 8.7 开始,您可以使用 Pacemaker 中的节点健康策略来自动将资源从不健康节点移出。

您可以使用以下健康节点资源代理来监控节点的健康状况,该代理根据 CPU 和磁盘状态设置节点属性:

  • ocf:pacemaker:HealthCPU ,其监控 CPU 闲置
  • ocf:pacemaker:HealthIOWait,其监控 CPU I/O 等待
  • ocf:pacemaker:HealthSMART,其监控磁盘驱动器的 SMART 状态
  • ocf:pacemaker:SysInfo ,其指使用本地系统信息设置各种节点属性,并作为监控磁盘空间使用情况的健康代理

另外,任何资源代理都可能会提供可用于定义健康节点策略的节点属性。

流程

以下流程为集群配置了健康节点策略,该策略会将资源从任何 CPU I/O 等待超过 15% 的节点移出。

  1. 设置 health-node-strategy 集群属性,来定义 Pacemaker 如何对节点健康状况的更改做出响应。

    # pcs property set node-health-strategy=migrate-on-red
  2. 创建使用健康节点资源代理的克隆集群资源,设置 allow-unhealthy-nodes 资源元选项,来定义集群是否检测节点的健康状态是否恢复了,并将资源移回至该节点。使用重复的监控操作配置此资源,以持续检查所有节点的健康状况。

    本例创建了一个 HealthIOWait 资源代理来监控 CPU I/O 等待,将资源移出节点的红色限制设置为 15%。此命令将 allow-unhealthy-nodes 资源元选项设为 true,并配置 10 秒的重复的监控间隔。

    # pcs resource create io-monitor ocf:pacemaker:HealthIOWait red_limit=15 op monitor interval=10s meta allow-unhealthy-nodes=true clone