监控应用程序

PowerHA® SystemMirror® 使用监视器在启动应用程序之前检查应用程序是否正在运行,从而避免启动应用程序的不期望的第二个实例。

PowerHA SystemMirror 还会监视指定的应用程序,并在检测到进程死亡或应用程序失败时尝试重新启动这些应用程序。

应用程序监视以两种方式生效:

  • 进程应用程序监视使用 RSCT 资源监视和控制 (RMC) 检测应用程序的一个或多个进程的终止。
  • 定制应用程序监视按照用户指定的轮询时间间隔,使用定制监视方法来检查应用程序的运行状况。

PowerHA SystemMirror 使用监视器在启动应用程序之前检查应用程序是否正在运行。 您可以配置多个应用程序监视器并将其与一个或多个应用程序控制器相关联。 您可以在 SMIT 中为每个监视器分配一个唯一名称。

通过支持每个应用程序多个监视器, PowerHA SystemMirror 可以支持更复杂的配置。 例如,您可以为使用中的 Oracle 并行服务器的每个实例配置一个监视器。 或者,您也可以配置一个定制监视器以检查数据库以及进程终止监视器的运行状况,从而立即检测数据库进程的终止。

进程监视比较容易设置,因为它使用由 RSCT 提供的内置监视功能,并且不需要任何定制脚本;但是,这一选项可能不适合所有应用程序。 用户定义的监视可监视应用程序性能的更加细微方面,并且可定制性更高,但是它需要更多规划,因为您必须创建定制脚本。

在任一情况下,当监视器检测到问题时, PowerHA SystemMirror 会尝试在当前节点上重新启动应用程序并继续尝试,直到指定的重新启动计数耗尽为止。 如果无法在此重新启动计数内重新启动应用程序,那么 PowerHA SystemMirror 将执行您在配置应用程序监视器时指定的两个操作之一:

  • 选择失败转移将导致包含应用程序的资源组失败转移到根据资源策略而具有次最高优先级的节点。
  • 选择 notify 会导致 PowerHA SystemMirror 生成 server_down 事件以通知集群发生故障。

在您配置应用程序监视器时,将使用 SMIT 界面来指定要监视的应用程序,然后定义各种参数,如时间间隔、重新启动计数以及在应用程序无法重新启动时要执行的操作。 通过 Notify Method、Cleanup Method 和 Restart Method 这些 SMIT 字段,以及通过将前置和后置事件脚本添加到您选择的任何故障操作或重新启动事件,您可以控制应用程序重新启动过程。

您可以临时暂挂,然后恢复应用程序监视器以执行集群维护。

在定义应用程序监视器时,每个节点的配置数据库包含受监视应用程序的名称及其配置数据。 此数据在集群同步期间传播到所有节点,并且在创建集群快照时进行备份。 集群验证确保任何由用户指定的方法存在并且可以在所有节点上执行。

注: 如果指定 fallover 选项,这可能会导致资源组从其原始节点迁移,即使最高优先级节点已启动,该资源组也可能保持脱机状态。 除非您手动将该资源组联机,否则该资源组可以保持不活动状态。

有关应用程序监视器的注释

可在 PowerHA SystemMirror 中配置的应用程序监视器是 PowerHA SystemMirror 集群配置的关键部分; 它们使 PowerHA SystemMirror 能够使应用程序保持高可用性。 当 PowerHA SystemMirror 在节点上启动应用程序控制器时,它会使用您配置的监视器来检查应用程序是否已在运行,以避免启动应用程序的两个实例。 PowerHA SystemMirror 还会使用您配置的监视器定期管理应用程序,以确保应用程序已启动并正在运行。

错误的应用程序监视器可能无法检测到发生故障的应用程序。 因此, PowerHA SystemMirror 不会将其恢复,或者可能会错误地检测到应用程序失败,这可能会导致 PowerHA SystemMirror 将应用程序移至接管节点,从而导致不必要的停机时间。 例如,使用 sql 命令查询数据库以检测其功能是否正常的定制监视器可能未响应数据库进程正在本地节点上运行,因此这不足以与 PowerHA SystemMirror配合使用。

如果计划使用 管理资源> 手动选项来启动集群服务,或者在不停止应用程序的情况下停止集群服务,那么 PowerHA SystemMirror 将依赖于已配置的应用程序监视器来确定是否在节点上启动应用程序。

使用 unmanage 选项停止集群服务时,不会关闭长时间运行的应用程序监视器。 只要 clstrmgr 守护程序处于活动状态,就知道已经有一个监视器在运行,当 PowerHA SystemMirror 重新启动时将不会启动第二个实例。 如果监视器指示某个故障,那么不会在响应中生成事件。 因此,在此时间内,不会运行任何清除或重新启动方法。 如果应用程序监视器尝试自行恢复或重新启动,那么 PowerHA SystemMirror 将无法作出反应。 重要的是,将恢复操作与监视器自身进行隔离。

总之,我们强烈建议您使用 PowerHA SystemMirror来为所有要保持高可用性的应用程序正确配置和测试的应用程序监视器。 在验证期间,如果未配置应用程序监视器,那么 PowerHA SystemMirror 会发出警告。