Sun Cluster HA for SAP 障害モニターは、SAP のプロセスとデータベースの可用性を調べます。SAP プロセスの可用性は SAP リソースの障害履歴に影響を与えます。さらに SAP リソースの障害履歴は、障害モニターのアクション (アクションなし、再起動、またはフェイルオーバー) を促します。
SAP プロセスの可用性と異なり、SAP データベースの可用性は SAP リソースの障害履歴に影響を与えません。ただし、データベースの可用性に応じて SAP 障害モニターが起動され、その結果、あらゆる syslog メッセージが /var/adm/messages に記録され、データベースを使用する SAP リソースの状態が相応に設定されます。
セントラルインスタンスの場合、障害検証の手順は次のとおりです。
SAP Message Server とディスパッチャのプロセス ID を取得します。
無限にループします (Thorough_probe_interval の間スリープ)。
SAP リソースの可用性を検査します。
異常終了 – Process Monitor Facility (PMF) が SAP プロセスツリーの障害を検出すると、障害モニターはこの問題を全面的な障害とみなします。障害モニターは、SAP リソースの障害履歴に基づいて、このリソースを再起動するか、別のノードにフェイルオーバーします。
プローブによる SAP リソースの可用性チェック – プローブでは、ps(1) コマンドを使用して、SAP Message Server と主ディスパッチャのプロセスを検査します。SAP Message Server や主ディスパッチャのプロセスの中にシステムのアクティブプロセスリストにないものがあると、障害モニターは、この問題を全面的な障害とみなします。
検証では、パラメータ Check_ms_retry に 0 より大きな値を設定すると、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 の再起動やフェイルオーバーを引き起こすことはありません。次の条件が存在する場合、障害モニターは、2 つの部分的な障害を全面的な障害とみなします。
拡張プロパティ Check_ms_retry に 2 が設定されている。
リソースプロパティ Retry_interval で設定された再試行期間内に 2 つの部分的な障害があった。
全面的な障害が発生すると、リソースの障害履歴に応じてローカル再起動かフェイルオーバーが引き起こされます。
検証によるデータベース接続の状態 – 検証では、SAP 提供の R3trans ユーティリティーを使って データベース接続の状態を検査します。Sun Cluster HA for SAP の障害検証では、SAP がそのデータベースに接続できるかどうかが検査されます。ただし、Sun Cluster HA for SAP によるデータベースの可用性の判断は、高可用性のデータベース障害検証機能に大きく依存しています。データベース接続の状態検査で異常が検出されると、障害モニターは Database might be down というメッセージを /var/adm/messages に記録します。さらに、SAP リソースの状態として DEGRADED を設定します。プローブがデータベースの状態をもう一度検査し、接続が再確立されていると、障害モニターは Database is up というメッセージを /var/adm/messages に記録し、SAP リソースの状態を OK に設定します。
障害履歴を評価します。
障害モニターは、障害履歴に基づいて次のいずれかのアクションを行います。
アクションなし
ローカル再起動
フェイルオーバー
アプリケーションサーバーの場合、障害検証の手順は次のとおりです。
主ディスパッチャのプロセス ID を取得します。
無限にループします (Thorough_probe_interval の間スリープ)。
SAP リソースの可用性を検査します。
異常終了 – Process Monitor Facility (PMF) が SAP プロセスツリーの障害を検出すると、障害モニターはこの問題を全面的な障害とみなします。障害モニターは、SAP リソースの障害履歴に基づいて、このリソースを再起動するか、別のノードにフェイルオーバーします。
プローブによる SAP リソースの可用性チェック – プローブでは、ps(1) コマンドを使用して、SAP Message Server と主ディスパッチャのプロセスを検査します。SAP の主ディスパッチャプロセスがシステムのアクティブプロセスリストにないと、障害モニターはこの問題を全面的な障害とみなします。
検証によるデータベース接続の状態 – 検証では、SAP 提供の R3trans ユーティリティーを使って データベース接続の状態を検査します。Sun Cluster HA for SAP の障害検証では、SAP がそのデータベースに接続できるかどうかが検査されます。ただし、Sun Cluster HA for SAP によるデータベースの可用性の判断は、高可用性データベース障害検証機能に大きく依存しています。障害モニターは、データベース接続の状態検査に失敗すると、Database might be down というメッセージを /var/adm/messages に記録し、SAP リソースの状態を DEGRADED に設定します。検証機能はデータベースの状態を再び検査し、接続が再確立されていると、Database is up というメッセージを /var/adm/messages に記録します。SAP リソースのステータスに OK を設定します。
障害履歴を評価します。
障害モニターは、障害履歴に基づいて次のいずれかのアクションを行います。
アクションなし
ローカル再起動
フェイルオーバー
そのアプリケーションサーバーリソースがフェイルオーバーリソースであれば、障害モニターはアプリケーションサーバーをフェイルオーバーします。
アプリケーションサーバーリソースがスケーラブルリソースの場合は、RGM が一定回数のローカル再起動を試みた後で、クラスタに別のノードがあればそのノードでアプリケーションサーバーを起動します。