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

调节 Sun Cluster HA for SAP DB 故障监视器

使用以下故障监视器对 Sun Cluster HA for SAP DB 数据服务进行故障监视:

每种故障监视器包含在一种资源中,下表中显示了其资源类型。

表 1–3 Sun Cluster HA for SAP DB 故障监视器的资源类型

故障监视器 

资源类型  

SAP DB 

SUNW.sapdb

SAP xserver 

SUNW.sap_xserver

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

调节 Sun Cluster HA for SAP DB 故障监视器涉及到以下任务:

在注册和配置 Sun Cluster HA for SAP DB 时执行这些任务。 有关更多信息,请参阅注册和配置 Sun Cluster HA for SAP DB

Sun Cluster HA for SAP DB 故障监视器的操作

为了确定 SAP xserver 和 SAP DB 数据库实例是否正确运行,Sun Cluster HA for SAP DB 故障监视器定期探测这些资源。

在探测过程中,SAP DB 故障监视器执行以下操作:

  1. SAP DB 故障监视器确定 SAP DB 数据库实例是否联机。

  2. 如果 SAP DB 数据库实例处于联机状态,SAP DB 故障监视器将确定 SAP DB 数据库实例的父内核进程是否在运行。 如果父内核进程不在运行,您可以控制故障监视器如何做出响应。 有关更多信息,请参阅如果父内核进程被终止,强制重新启动 SAP DB 数据库实例

  3. SAP DB 故障监视器确定 SAP xserver 是否可用。 此故障监视是对 SAP xserver 故障监视器提供的故障监视的补充。

在探测过程中,SAP xserver 故障监视器将确定 SAP xserver 是否可用。

SAP DB 故障监视器对 SAP DB 中的以下故障做出响应:

SAP DB 故障监视器还对 SAP xserver 不可用做出响应。 此故障监视是对 SAP xserver 故障监视器提供的故障监视的补充。

SAP xserver 故障监视器对以下故障做出响应:

设置两次故障监视器探测之间的间隔

为了确定SAP xserver 和 SAP DB 数据库实例是否正确运行,Sun Cluster HA for SAP DB 故障监视器定期探测这些资源。 两次故障监视器探测之间的间隔将影响每个资源的可用性以及系统的性能,如下所述:

两次故障监视器探测之间的最佳间隔还与对资源中的故障做出响应所需的时间有关。 该时间依赖于资源的复杂性影响执行操作(如重新启动该资源)所需的时间的程度。

例如,SAP xserver 是比 SAP DB 简单得多的资源,其重新启动的速度也快得多。 因此,两次 SAP xserver 故障监视器探测之间的最佳间隔短于两次 SAP DB 故障监视器探测之间的最佳间隔。

要设置两次故障监视器探测之间的间隔,请将 Thorough_probe_interval 系统特性设置为所需的间隔(以秒为单位)。 为每个包含需要调节的 Sun Cluster HA for SAP DB 故障监视器的资源设置此特性。 表 1–3 中显示了这些资源的资源类型。

设置故障监视器探测超时时间

故障监视器探测超时时间指定故障监视器等待所探测的资源做出响应的时间长度。 如果故障监视器在这段超时时间内没有接收到响应,则故障监视器将认为资源出现故障。 资源对故障监视器探测做出响应所需的时间依赖于故障监视器探测该资源时所执行的操作。

在探测过程中,SAP DB 故障监视器执行以下操作:

  1. SAP DB 故障监视器确定 SAP DB 数据库实例是否联机。

  2. 如果 SAP DB 数据库实例处于联机状态,SAP DB 故障监视器将确定 SAP DB 数据库实例的父内核进程是否在运行。

  3. SAP DB 故障监视器确定 SAP xserver 是否可用。 此故障监视是对 SAP xserver 故障监视器提供的故障监视的补充。

在探测过程中,SAP xserver 故障监视器将确定 SAP xserver 是否可用。

资源做出响应所需的时间还依赖于与故障监视器或应用程序无关的因素,例如:

要设置故障监视器探测超时时间,请将 Probe_timeout 扩展特性设置为所需的超时时间(以秒为单位)。 为每个包含需要调节的 Sun Cluster HA for SAP DB 故障监视器的资源设置此特性。 表 1–3 中显示了这些资源的资源类型。

指定对故障做出的响应

SAP DB 故障监视器对 SAP DB 中的以下故障做出响应:

SAP DB 故障监视器还对 SAP xserver 不可用做出响应。 此故障监视是对 SAP xserver 故障监视器提供的故障监视的补充。

SAP xserver 故障监视器对以下故障做出响应:

Sun Cluster HA for SAP DB 故障监视器使您能够指定对这些故障做出的响应。 指定对故障做出的响应时,涉及以下任务:

定义持久性故障的标准

为了尽可能地降低由于资源中的瞬态故障引起的中断所带来的影响,故障监视器将重新启动资源以响应这类故障。 对于持久性故障,需要比重新启动资源更具破坏性的操作:

如果在指定的重试间隔内尝试重新启动资源的次数超过了指定的阈值,则故障监视器将认为故障是持久性的。 为持久性故障定义标准使您能够根据群集的性能特点和可用性要求来设置阈值和重试间隔。

阈值和重试间隔与其它特性的相关性

重新启动一次出现故障的资源所需的最长时间是以下特性的值的总和:

为了确保在重试间隔内达到阈值之前您具有足够的时间,请使用以下表达式来计算重试间隔和阈值:

retry-intervalthreshold × (thorough-probe-interval + probe-timeout)

用来设置阈值和重试间隔的系统特性

要设置阈值和重试间隔,请设置以下系统特性:

为每个包含需要调节的 Sun Cluster HA for SAP DB 故障监视器的资源设置这些特性。 表 1–3 中显示了这些资源的资源类型。

重试间隔的其它影响

除了定义持久性故障标准以外,重试间隔还影响故障监视器对以下故障做出的响应:

禁止对 SAP DB 资源进行故障切换

缺省情况下可以对 SAP DB 资源进行故障切换。 故障监视器对 SAP DB 资源进行故障切换以响应持久性故障。 如果在 Retry_interval 指定的时间内尝试重新启动的次数超过了 Retry_count,则发生持久性故障。

如果您需要故障监视器在对持久性故障做出响应时也重新启动 SAP DB,则禁止对 SAP DB 资源进行故障切换。 当禁止进行故障切换时,故障监视器通过将资源的状态设置成“faulted”来报告资源出现持久性故障。

要禁止对 SAP DB 资源进行故障切换,将 SUNW.sapdb 资源的 Failover_enabled 扩展特性设置为 False

如果父内核进程被终止,强制重新启动 SAP DB 数据库实例

缺省情况下,父内核进程的意外终止不会导致 SAP DB 故障监视器重新启动 SAP DB 数据库实例。 SAP DB 数据库实例可以在没有父内核进程的情况下继续发挥作用。 在这种情况下,重新启动 SAP DB 数据库实例可能会导致无谓的 SAP DB 数据库实例不可用故障。 因此,在需要父内核进程提供的功能(例如要维护日志历史的完整性)时, 才应该强制重新启动 SAP DB 数据库实例。

如果父内核进程被终止,要强制重新启动 SAP DB 数据库实例,将 SUNW.sapdb 资源的 Restart_if_Parent_Terminated 扩展特性设置为 True