高可用性环境故障诊断技巧
如果遇到有关高可用性环境问题,请查看以下主题。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
在 Java 虚拟机启动之后,未显示消息 HMGR0218I
在设置正确的高可用性环境中,高可用性管理器可以重新评估它正在管理的环境,并且在新组件被添加至环境时接受它们。例如,将 Java™ 虚拟机 (JVM) 添加至基础结构时,发现进程就会开始运行。启动期间,JVM 尝试与核心组的其他成员联系。当发现另一个正在运行的 JVM 时,它会与此 JVM 启动合并进程,此进程确定该 JVM 是否可与核心组合并。如果接受新 JVM 成为核心组的成员,那么包括新 JVM 在内的所有 JVM 都会记录消息 HMGR0218I。此消息也显示在管理控制台中。
消息 HMGR0218I 表明当前在线的核心组中的应用程序服务器数。如果 JVM 启动后不显示此消息,那么发生了配置问题或通信问题。要解决此问题,通过使用 Deployment Manager 通知 Node Agent 进行同步来验证应用程序服务器是否在当前配置上运行,或者使用 syncNode 命令手动执行同步。如果 JVM 仍然无法加入核心组,那么可能存在网络配置问题。
![[IBM i]](../images/iseries.gif)
在服务器启动后,未显示消息 HMGR0218I
在设置正确的高可用性环境中,高可用性管理器可以重新评估它正在管理的环境,并且在新组件被添加至环境时接受它们。例如,将 Java 虚拟机(服务器)添加至基础结构时,发现进程就会开始运行。启动期间,服务器尝试与核心组的其他成员联系。当它发现另一个正在运行的服务器时,它会与此服务器启动合并进程,此进程确定该服务器是否可与核心组合并。如果接受新服务器成为核心组的成员,那么包括新服务器在内的所有服务器都会记录消息 HMGR0218I。此消息也显示在管理控制台中。
消息 HMGR0218I 表明当前在线的核心组中的应用程序服务器数。如果服务器启动后不显示此消息,那么发生了配置问题或通信问题。要解决此问题,通过使用 Deployment Manager 通知 Node Agent 进行同步来验证应用程序服务器是否在当前配置上运行,或者使用 syncNode 命令手动执行同步。 如果服务器仍然无法加入核心组,那么可能存在网络配置问题。
系统日志文件中出现消息 HMGR0123I
如果在活动协调程序更改的同时核心组成员的状态也更改,那么消息 HMGR0123I 可能会出现在系统日志文件中。例如,当核心组成员重新启动并成为活动协调程序时,可能会发出此消息。
此参考消息通常并不表示严重问题。即使此消息显示在系统日志文件中,新的活动协调程序还是会接收到已更新的组状态。如果要使出现此消息的频率降到最低,应选择重新启动频率低于首选核心组协调程序重新启动频率的核心组成员。
系统日志文件中出现 CPU 匮乏消息
在没有足够的物理内存可用于使高可用性管理器线程具有一致运行时的情况下,系统日志文件中会显示检测到 CPU 匮乏错误消息。在处理进入的工作时,如果 CPU 将主要时间花费在尝试装入已废弃的进程上,那么会出现线程匮乏的情况。高可用性管理器可检测到这种情况,并会记录这些 错误消息,通知您线程没有获得所需的运行时。
要获得良好的性能并避免接收到这些错误消息,建议您对单台机器上运行的每个 Java 进程至少分配 512 MB 的 RAM。
在启用了安全性的情况下,大型单元配置中的 CPU 使用率非常高
对于某些配置和状态,花费在发现上的时间相当可观。- 如果在核心组中定义了大量进程,就必须按比例地建立大量连接来支持这些进程。
- 如果在核心组中定义了大量不活动进程,在每个发现时间间隔中就必须按比例地尝试大量连接。
- 如果启用了管理安全性,那么 DCS 连接会处于受保护状态,并且打开的连接的影响会增大。
使用管理控制台中的“发现和失败检测”页面增大发现协议等待的时间长度,经过这段时间后,发现协议将计算未连接的核心组成员集,并尝试打开与这些成员的连接。增加连续发现周期之间的时长会缩短发现中耗费的 CPU 时间量。请阅读配置核心组的发现协议主题,以了解更多信息。
高负载下的瞬态高可用性脉动信号故障
当工作负载较高时,高可用性配置中的复制伙伴之间可能会发生瞬态脉动信号故障条件,即使这两个复制伙伴似乎都正常运行也是如此。
对于 Linux 操作系统,复制伙伴之间的复制通道的 TCP 连接问题可能会导致此问题。由于 TCP 缓冲区不够大,无法支持正在交换的大量复制数据,所以会发生这些连接问题。为了避免这些假的脉动信号故障条件,建议您按照用于描述如何为 Linux 调整 SIP Servlet 的主题的“Linux 内核调整”部分中的建议,来调整 TCP 缓冲区大小。