用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster 数据服务指南(适用于 Solaris OS)

调谐 用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster HA 的故障监视器

用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster HA 的故障监视器包含在表示 Sun Java System Application Server EE (HADB) 的资源中。此资源是在注册和配置 用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster HA 时创建的。有关更多信息,请参见“注册和配置 用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster HA”。

此资源的系统属性和扩展属性控制故障监视器的行为。这些属性的缺省值确定了故障监视器的预设行为。预设行为应该适用于大多数 Sun Cluster 安装。因此,在需要修改此预设行为时才应该调谐故障监视器。

有关更多信息,请参见以下部分。

探测过程中故障监视器执行的操作

HADB 资源的 start 方法将启动被配置为在本地 Sun Cluster 节点上运行的 HADB 节点(如果它们不在运行)。然后,该方法将尝试启动 HADB 数据库。如果出现故障,则稍后在探测期间将启动数据库。

故障监视器探测将定期检查 HADB 数据库和 HADB 节点的状态。探测将重新启动出现故障的 HADB 节点。如果在 start 方法中,HADB 资源没有准备好启动数据库,则探测还将启动 HADB 数据库。对于此过程的每一次重复,探测执行以下步骤:

  1. 探测通过执行 hadbm statushadbm status --nodes 命令来检索 HADB 数据库和 HADB 节点的当前状态。

  2. 如果未运行数据库,探测将检查与该数据库对应的 HADB stopstate 文件是否存在于本地 Sun Cluster 节点上。当 hadbm start 命令启动数据库时,它将引用 stopstate 文件以进行节点的角色分配。

  3. 如果 stopstate 文件存在,HADB 资源将检查此文件以确定是否可以启动数据库。

    • 如果可以启动数据库,探测将启动数据库并将资源状态设置为 Online

    • 如果无法启动数据库,探测则将资源状态设置为 Online Degraded

  4. 如果数据库正在运行,探测将启动被配置为在 Sun Cluster 节点上运行的 HADB 节点。

  5. 如果运行了数据库和本地 HADB 节点,则资源状态为 Online Degraded 时,探测会把该资源状态设置为 Online

  6. 如果 HADB 资源组中的所有 Sun Cluster 节点上的 HADB 资源在 Online Degraded 状态下运行的时间超过 Stop_timeout 秒,HADB 资源将认为数据库无法启动。有关 Stop_timeout 属性的说明,请参见《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》中的附录 A “Standard Properties”中的 method_timeout 资源属性。

  7. 如果将 Auto_recovery 扩展属性设置为 TRUE,则 HADB 资源将尝试恢复数据库。

  8. 如果尝试恢复数据库,探测将执行以下步骤:

    • 在资源组节点列表的其中一个 Sun Cluster 节点上发布 hadbm clear --fast 命令。此命令将清除数据库内容并重新初始化和重新启动数据库。

    • 如果 hadbm clear 命令成功,将在发送 hadbm clear 命令的同一 Sun Cluster 节点上发送 Auto_recovery_command 中指定的命令。该命令通常是包含 asadmin create-session-store 命令的脚本。该命令也可以实现其他操作。例如,它可以向 Application Server 管理员发送邮件。

    • 如果两个步骤均成功,探测会将资源状态设置为 Online