19.7. 配置节点健康策略
节点可能运行良好,足以维护其集群成员身份,但在某些情况下可能会处于不健康状态,使它成为资源不受欢迎的位置。例如,磁盘驱动器可能会报告 SMART 错误,或者 CPU 可能负载过高。从 RHEL 9.1 开始,您可以在 Pacemaker 中使用节点健康状况策略,以自动将资源从不健康节点移出。
您可以使用以下健康节点资源代理监控节点的健康状况,该代理根据 CPU 和磁盘状态设置节点属性:
-
ocf:pacemaker:HealthCPU
,其监控 CPU 空闲 -
ocf:pacemaker:HealthIOWait
,其监控 CPU I/O 等待 -
ocf:pacemaker:HealthSMART
,其监控磁盘驱动器的 SMART 状态 -
ocf:pacemaker:SysInfo
其使用本地系统信息设置各种节点属性,并作为健康代理监控磁盘空间的使用情况
另外,任何资源代理都可能会提供可用于定义健康节点策略的节点属性。
步骤
以下流程为集群配置了健康节点策略,该策略会将资源从任何 CPU I/O 等待超过 15% 的节点移出。
设置
health-node-strategy
集群属性,以定义 Pacemaker 如何对节点健康状况中的变化做出响应。# pcs property set node-health-strategy=migrate-on-red
创建使用健康节点资源代理的克隆的集群资源,设置
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