11.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 或纯文本格式的令牌文件。
Jira:RHEL-88569[1]
当 quorum 丢失时,Pacemaker 远程节点不再不必要的隔离
在此次更新之前,在某些集群配置中,当其分区丢失仲裁时,Pacemaker 远程节点可以被隔离,即使管理该节点的资源可以在不同的 quorate 节点上安全重启。这个行为会导致 Pacemaker 远程节点上运行的服务不必要的停机时间。
在这个版本中,引入了一个新的集群属性 fence-remote-without-quorum 来控制此行为。
因此,使用默认 fence-remote-without-quorum=false 设置,如果其管理资源可以在 quorate 节点上恢复,Pacemaker 不再隔离远程节点,从而提高了服务的可用性。
Jira:RHEL-86146[1]
pacemaker 不再需要为大型集群手动 IPC 缓冲调整
在此次更新之前,在有大量节点或资源的集群中,Pacemaker 的内部通信可能会超过默认缓冲区大小。这会导致记录错误,并可能导致命令行工具缓慢或无响应。用户有时必须手动增加 PCMK_ipc_buffer 设置来解决这个问题。
在这个版本中,Pacemaker 的进程间通信(IPC)代码已被改进,以处理大型信息,而无需固定缓冲区限制。
因此,不再需要 PCMK_ipc_buffer 设置,并已被弃用。命令行工具对复杂集群做出反应,缓冲区大小错误不再被记录。
Jira:RHEL-86144[1]
带有长启动或停止时间的 systemd 资源会被正确处理
在此次更新之前,Pacemaker 轮询用于带有固定超时的 systemd 资源启动和停止操作的结果。如果资源启动或停止的时间超过这个超时时间,Pacemaker 会错误地将资源标记为失败。
在这个版本中,Pacemaker 侦听来自 systemd 的 DBus 信息,以便在启动或停止操作完成后获得通知。
因此,Pacemaker 可以正确地检测到长时间运行的 systemd 服务的状态,因为超时资源不再被标记为失败。
Jira:RHEL-71181[1]