Sun Cluster Data Service for SAP DB ガイド (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 データベースインスタンスがオンラインかどうかを判定します。

  2. SAP DB データベースインスタンスがオンラインなら、SAP DB 障害モニターは、SAP DB データベースインスタンスの親カーネルプロセスが動作しているか判定します。 親カーネルプロセスが動作していない場合、それに対して障害モニターがどのように対応するかは、ユーザーが指定できます。 詳細については、親カーネルプロセスが異常終了した場合には SAP DB データベースインスタンスを強制的に再起動 を参照してください。

  3. 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 DB よりもずっと短時間で再起動されます。 したがって、SAP xserver 障害モニターの適切な検証間隔は、SAP DB 障害モニターの適切な検証間隔よりも短くなります。

障害モニターの検証間隔を設定する場合は、必要な間隔を Thorough_probe_interval システムプロパティに秒単位で指定します。 調整したい Sun Cluster HA for SAP DB 障害モニターが含まれているリソースごとにこの設定を行ってください。 このようなリソースのリソース型については、表 1–3 を参照してください。

障害モニターの検証タイムアウトの設定

障害モニターの検証タイムアウトでは、検証に対するリソースからの応答にどのくらいの時間を許すかを指定します。 このタイムアウト内にリソースからの応答がないと、障害モニターは、このリソースに障害があるものとみなします。 障害モニターの検証に対するリソースの応答にどの程度の時間がかかるかは、障害モニターがこの検証に使用する操作によって異なります。

SAP DB 障害モニターは検証の中で次の操作を行います。

  1. SAP DB データベースインスタンスがオンラインかどうかを判定します。

  2. SAP DB データベースインスタンスがオンラインならば、SAP DB 障害モニターは、SAP DB データベースインスタンスの親カーネルプロセスが動作しているかを判定します。

  3. 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 障害モニターでは、次の障害への対応を指定できます。 障害への対応を指定する際には、次の作業が必要です。

継続的な障害とみなす基準の定義

一時的な障害による中断を最小限に抑えるために、障害モニターは、このような障害が発生するとこのリソースを再起動します。 継続的な障害の場合は、リソースの再起動よりも複雑なアクションをとる必要があります。

障害モニターは、指定された再試行間隔の中で、リソースの再起動回数が、指定されたしきい値を超えると障害を継続的であるとみなします。 ユーザーは、継続的な障害とみなす基準を定義することによって、 可用性要件とクラスタの性能特性を満たすしきい値や再試行間隔を設定できます。

しきい値や再試行間隔と他のプロパティとの関係

障害のあるリソースが再起動するのに必要な最大時間は、次のプロパティの値を合計したものです。

再試行回数がしきい値に達しないうちに再試行間隔がきてしまうのを避けるためには、再試行間隔としきい値の値を次の式に従って計算します。

再試行間隔しきい値 × (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 リソースのフェイルオーバーを無効にします。 フェイルオーバーが無効になっていると、障害モニターは、リソースに障害があることをそのステータスに設定することによって、継続的な障害の発生を報告します。

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 拡張プロパティに SUNW.sapdb リソースを指定します。