Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第 24 章 集群

Pacemaker 可以正确地解释 systemd 响应和 systemd 服务,在集群关闭时以正确顺序停止

在以前的版本中,当使用 systemd 资源配置 Pacemaker 集群且集群停止时,Pacemaker 可能会错误地假设 systemd 服务在实际停止前停止。因此,服务可能无法停止,可能会导致停止失败。在这个版本中,Pacemaker 会正确地解释 systemd 响应,systemd 服务会在集群关闭时以正确顺序停止。(BZ#1286316)

Pacemaker 现在区分载入 systemd 单元时造成致命故障的临时故障

在以前的版本中,Pacemaker 将 systemd 单元载入的所有错误视为致命。因此,Pacemaker 不会在无法加载 systemd 单元的节点上启动 systemd 资源,即使负载因为 CPU 负载等临时状况而失败。在这个版本中,Pacemaker 在载入 systemd 单元时区分来自致命故障的临时故障。日志和集群状态现在显示更合适的信息,资源可以在临时错误清除后在节点上启动。(BZ#1346726)

现在,当清除已从集群中移除的节点时,Pacemaker 会从其内存中删除节点属性

在以前的版本中,Pacemaker 的节点属性管理器会从其内存中删除属性值,而不是在清除已从集群中删除的节点时的属性本身。因此,如果新节点稍后被添加到具有相同节点 ID 的集群,则无法为新节点设置原始节点上存在的属性。在这个版本中,Pacemaker 在删除节点时清除属性本身,且具有相同 ID 的新节点没有设置属性的问题。(BZ#1338623)

Pacemaker 现在可以正确地决定组中或依赖克隆的资源的预期结果

在以前的版本中,当重启服务时,Pacemaker 的 crm_resource 工具(以及 pcs resource restart 命令)可能无法正确地决定受影响的资源是否成功启动。因此,命令可能无法重启属于组成员的资源,或者如果重启的资源依赖于移到另一节点的克隆资源,命令可能会无限期挂起。在这个版本中,命令可以正确地决定组中或依赖克隆的资源的预期结果。所需的服务已重启,命令返回。(BZ#1337688)

现在,当 DLM 需要它时发生隔离,即使集群本身没有

在以前的版本中,因为仲裁问题,DLM 可能需要隔离,即使集群本身不需要隔离,但无法启动它,因此 DLM 和基于 DLM 的服务可能会挂起等待永不发生隔离的情况。在这个版本中,ocf :pacemaker:controld 资源代理现在检查 DLM 是否处于这个状态,并在请求隔离时请求隔离。现在,在这种情况下会出现隔离功能,允许 DLM 恢复。(BZ#1268313)

DLM 现在会检测并报告连接问题

在以前的版本中,分布式锁定管理器(DLM)用于集群通信预期的 TCP/IP 数据包交付,并无限期等待响应。因此,如果 DLM 连接丢失,没有问题通知。在这个版本中,DLM 会检测并报告集群通信何时丢失。因此,可以识别 DLM 通讯问题,在解决问题后,会重启变得无响应的集群节点。(BZ#1267339)

现在,当计算实例关闭时,非管理员用户创建的高可用性实例会被撤离

在以前的版本中,fence_compute 代理只搜索由 admin 用户创建的计算实例。因此,当计算实例关闭时,非管理员用户创建的实例不会被撤离。在这个版本中,确保 fence_compute 搜索以任何用户身份运行的实例,并且计算实例会按预期撤离到新的计算节点。(BZ#1313561)

启动 nfsserver 资源不再失败

var-lib-nfs-rpc_pipefs.mount 进程处于活跃状态时,nfs-idmapd 服务无法启动。此过程默认处于活动状态。因此,启动 nfsserver 资源会失败。在这个版本中,var-lib-nfs-rpc_pipefs.mount 会在这种情况中停止,并不会阻止 nfs-idmapd 启动。因此,nfsserver 会如预期启动。(BZ#1325453)

LRMd 日志错误如预期,不再崩溃

在以前的版本中,Pacemaker 的 Local Resource Management Daemon (lrmd)在日志记录某些罕见的 systemd 错误时使用无效的格式字符串。因此,lrmd 可能会意外终止并出现分段错误。已应用补丁来修复格式字符串。因此,lrmd 不再崩溃,并按预期记录上述错误信息。(BZ#1284069)

stonithd 现在可以正确地区分从设备移除中删除的属性。

在此次更新之前,如果用户从隔离设备中删除属性,Pacemaker 的 stonithd 服务有时会错误地删除整个设备。因此,集群不再使用隔离设备。现在,底层源代码已被修改来解决这个问题,s nis 现在可以正确地区分从设备删除中删除的属性。因此,删除隔离设备属性不再删除设备本身。(BZ#1287315)

HealthCPU 现在可以正确地测量 CPU 用量

在以前的版本中,oc f:pacemaker:HealthCPU 资源在 Red Hat Enterprise Linux 7 中错误地解析 top 命令的输出。因此,HealthCPU 资源无法正常工作。在这个版本中,资源代理可以正确地解析后续版本的 因此,HealthCPU 现在可以正确地测量 CPU 用量。(BZ#1287868)

Pacemaker 现在会在剥离敏感信息时检查所有收集的文件

Pacemaker 能够在提交系统信息与错误报告时分离敏感信息,无论是由 Pacemaker 的 crm_report 工具直接或通过 sosreport 间接进行。但是,Pacemaker 只检查某些收集的文件,而不检查日志文件提取。因此,敏感信息可能会保留在日志文件中提取中。在这个版本中,Pacemaker 会在诊断敏感信息时检查所有收集的文件,且不会收集敏感信息。(BZ#1219188)

corosync 内存占用不再增加每个节点

在以前的版本中,当用户重新加入 corosync 中的某个节点一些缓冲区时,不会释放,以便内存消耗增长。在这个版本中,不会泄漏内存,且每个重新加入的节点上内存占用不再增加。(BZ#1306349)

当配置为使用 IPv4 和 DNS 来同时返回 IPv4 和 IPv6 地址时,corosync 可以正确地启动

在以前的版本中,当 pcs 生成的 corosync.conf 文件使用主机名而不是 IP 地址和互联网协议版本 4 (IPv4)且 DNS 服务器被设置为返回 IPV4 和 IPV6 地址时,corosync 工具无法启动。在这个版本中,如果 Corosync 配置为使用 IPv4,则实际使用 IPv4。因此,corosync 会在上述情况下按预期启动。(BZ#1289169)

corosync-cmapctl 工具可以正确地处理 print_key () 函数中的错误

在以前的版本中,corosync-cmapctl 工具无法正确处理 print_key () 函数中的 corosync 错误。因此,如果 corosync 工具被终止,corosync-cmapctl 可能会输入一个无限循环。提供的修复可确保正确处理 Corosync 退出时返回的所有错误。因此,corosync-cmapctl 会离开循环,并在这种情况下显示相关的错误消息。(BZ#1336462)