7.10. 高可用性和集群
pcs 命令不再因为不正确的大写的 target-role 值而失败
在此次更新之前,如果资源的 target-role meta-attribute 设置为一个没有大写的值,如 stopped,而不是 Stopped,pcs 无法解析集群状态。此解析错误导致 pcs status query resource 命令和删除资源的命令(包括 pcs resource delete )失败。
有了这个更新,pcs 中的集群状态解析逻辑已变得更加灵活。
因此,即使资源具有不正确的大写值,pcs 命令也可以正常工作。
fence_ibm_powervs 支持纯文本令牌文件
在此次更新之前,fence_ibm_powervs 代理只能从格式为 JSON 的文件读取身份验证令牌。无法从纯文本文件读取令牌。
在这个版本中,修正了代理中的文件读取逻辑。
因此,fence_ibm_powervs 代理可以使用 JSON 或纯文本格式的令牌文件。
带有长启动或停止时间的 systemd 资源会被正确处理
在此次更新之前,Pacemaker 轮询用于带有固定超时的 systemd 资源启动和停止操作的结果。如果资源启动或停止的时间超过这个超时时间,Pacemaker 会错误地将资源标记为失败。
在这个版本中,Pacemaker 侦听来自 systemd 的 DBus 信息,以便在启动或停止操作完成后获得通知。
因此,Pacemaker 可以正确地检测到长时间运行的 systemd 服务的状态,因为超时资源不再被标记为失败。
Jira:RHEL-86143[1]
当 quorum 丢失时,Pacemaker 远程节点不再不必要的隔离
在此次更新之前,在某些集群配置中,当其分区丢失仲裁时,Pacemaker 远程节点可以被隔离,即使管理该节点的资源可以在不同的 quorate 节点上安全重启。这个行为会导致 Pacemaker 远程节点上运行的服务不必要的停机时间。
在这个版本中,引入了一个新的集群属性 fence-remote-without-quorum 来控制此行为。
因此,配置 fence-remote-without-quorum=false 设置(默认为 true),如果其管理资源可以在 quorate 节点上恢复,Pacemaker 不再隔离远程节点,从而提高了服务可用性。
Jira:RHEL-84018[1]
fence_kubevirt 即时关闭节点
在此次更新之前,fence_kubevirt 代理执行节点的正常关闭。这会在隔离过程中引入一个延迟,因为该节点没有立即关闭。
在这个版本中,代理已被修改为请求立即非正常关闭。
因此,在使用 fence_kubevirt 代理时,节点会立即关闭。
fence_sbd 现在对独立的 SBD 设备失败更具弹性
在以前的版本中,如果一个或多个配置的 SBD 设备失败,则 fence_sbd 代理会退出,并在其操作中失败。这导致隔离操作无法完成,即使其它 SBD 设备健康。
在这个版本中,代理中的错误处理会被改进。
因此,fence_sbd 代理会为任何失败的 SBD 设备记录错误,并使用剩余的健康设备继续隔离操作。这提高了 SBD 隔离的可靠性。
Jira:RHEL-13088[1]