用于 SAP 的 Sun Cluster 数据服务指南(适用于 Solaris OS)

了解 Sun Cluster HA for SAP 故障监视器

Sun Cluster HA for SAP 故障监视器可以检查 SAP 进程和数据库的可用性。 SAP 进程的可用性会影响 SAP 资源的故障历史记录。 SAP 资源的故障历史记录进而又决定了故障监视器的操作方式,其中包括不执行任何操作、重新启动或故障转移。

相对于 SAP 进程可用性,SAP 数据库可用性对 SAP 资源的故障历史记录没有影响。 但是,数据库可用性能够为使用数据库的 SAP 资源触发 SAP 故障监视器,以将所有 syslog 消息都记录到 /var/adm/messages 并相应地设置状态。

适用于中央实例的 Sun Cluster HA for SAP 故障探测

对于中央实例,故障探测执行以下步骤。

  1. 检索 SAP Message Server 和分发程序的进程 ID

  2. 不断地进行循环(如果为 Thorough_probe_interval,则休眠)

  3. 检查 SAP 资源的可用性

    1. 非正常退出 – 如果 Process Monitor Facility (PMF) 检测到 SAP 进程树失败,故障监视器就会将此问题视为完全失败。 故障监视器根据资源的故障历史记录重新启动或将 SAP 资源故障转移到其他节点。

    2. 通过探测来检查 SAP 资源的可用性 – 探测使用 ps(1) 命令来检查 SAP Message Server 和主分发程序进程。 如果在系统的活动进程列表中找不到任何 SAP Message Server 或主分发程序进程,则故障监视器会将此问题视为完全失败。

      如果您将参数 Check_ms_retry 配置为大于零的值,探测就会检查 SAP Message Server 连接。 如果将扩展特性 Lgtst_ms_with_logicalhostname 设置为缺省值 TRUE,则探测将通过公用程序 lgtst 来完成 SAP Message Server 连接的测试。 探测使用在 SAP 资源组中指定的逻辑主机名接口来调用 SAP 提供的公用程序 lgtst。 如果您将扩展特性 Lgtst_ms_with_logicalhostname 设置为 TRUE 以外的值,探测就会通过节点的本地主机名(回送接口)来调用 lgtst

      如果 lgtst 公用程序调用失败,说明 SAP Message Server 连接无效。 在这种情况下,故障监视器将该问题视为部分失败,因而不会立即触发 SAP 重新启动或故障转移。 如果发生以下情况,故障监视器会将两个部分失败计为一个完全失败。

      1. 将扩展特性 Check_ms_retry 配置为 2

      2. 在资源特性 Retry_interval 设置的重试时间间隔内,故障监视器累计发生的两个部分失败。

      根据资源的故障历史记录,完全失败将触发本地重新启动或故障转移。

    3. 通过探测来检查数据库的连接状态 – 探测调用 SAP 提供的公用程序 R3trans 来检查数据库连接的状态。 Sun Cluster HA for SAP 故障探测可以检验 SAP 是否能够连接到数据库。 但是,Sun Cluster HA for SAP 依赖于具有高可用性的数据库故障探测来确定数据库的可用性。 如果数据库连接状态检查失败,故障监视器将在 /var/adm/messages 中记录以下消息:数据库可能要关闭。 然后,故障监视器会将 SAP 资源的状态设置为 DEGRADED。 如果探测再次检查数据库的状态时连接已重新建立,则故障监视器将在 /var/adm/messages 中记录以下消息:数据库正在运行,同时将 SAP 资源的状态设置为 OK

  4. 评估故障历史记录

    根据故障历史记录,故障监视器可以完成以下操作之一。

    • 不执行任何操作

    • 本地重新启动

    • 故障转移

适用于应用服务器的 Sun Cluster HA for SAP 故障探测

对于应用服务器,故障探测执行以下步骤。

  1. 检索主分发程序的进程 ID

  2. 不断地进行循环(如果为 Thorough_probe_interval,则休眠)

  3. 检查 SAP 资源的可用性

    1. 非正常退出 – 如果 Process Monitor Facility (PMF) 检测到 SAP 进程树失败,故障监视器就会将此问题视为完全失败。 故障监视器根据资源的故障历史记录重新启动或将 SAP 资源故障转移到其他节点。

    2. 通过探测来检查 SAP 资源的可用性 – 探测使用 ps(1) 命令来检查 SAP Message Server 和主分发程序进程。 如果在系统的活动进程列表中没有找到 SAP 主分发程序进程,故障监视器就会将该问题视为完全失败。

    3. 通过探测来检查数据库的连接状态 – 探测调用 SAP 提供的公用程序 R3trans 来检查数据库连接的状态。 Sun Cluster HA for SAP 故障探测可以检验 SAP 是否能够连接到数据库。 但是,Sun Cluster HA for SAP 依赖于具有高可用性的数据库故障探测来确定数据库的可用性。 如果数据库连接状态检查失败,故障监视器将在 /var/adm/messages 中记录以下消息:数据库可能要关闭,并将 SAP 资源的状态设置为 DEGRADED。 如果探测再次检查数据库的状态时连接已重新建立,故障监视器将在 /var/adm/messages 中记录以下消息:数据库正在运行。 然后,故障监视器会将 SAP 资源的状态设置为 OK

  4. 评估故障历史记录

    根据故障历史记录,故障监视器可以完成以下操作之一。

    • 不执行任何操作

    • 本地重新启动

    • 故障转移

      如果应用服务器资源是故障转移资源,则故障监视器会对该应用服务器进行故障转移。

      如果应用服务器资源是可伸缩资源,则本地重新启动的次数用尽后,RGM 将在另一节点上启动该应用服务器(如果群集中有其他可用节点)。