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% 的节点移出。
设置
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