コアインスタンスの場合には、障害検証機能によって次の手順が実行されます。
メッセージサーバーとディスパッチャのプロセス ID を取得します。
無限にループします (Thorough_probe_interval の間だけスリープします)。
SAP リソースを検査します。
異常終了- SAP プロセスツリーの中に異常があることを PMF が検出すると、障害モニターは、これを致命的な障害とみなします。障害モニターは、リソースの障害履歴に従って、SAP リソースを再起動するか、または別のノードにフェイルオーバーします。
検証機能による SAP リソースの検査 - 検証機能は、ps(1) コマンドを使って SAP メッセージサーバーとメインディスパッチャのプロセスを検査します。これらのプロセスの中にシステムのアクティブプロセスリストに存在しないものがあると、障害モニターはこれを致命的な障害とみなします。
パラメータ Check_ms_retry にゼロより大きい値が設定されていると、検証機能はメッセージサーバーの接続を検査します。拡張プロパティ Lgtst_ms_with_logicalhostname にデフォルト値 TRUE が設定されていると、検証機能は、メッセージサーバー接続のテストを lgtst ユーティリティーを使って行います。検証機能は、SAP リソースグループに指定されている論理ホスト名インタフェースを使って SAP 提供のユーティリティー lgtst を呼び出します。拡張プロパティ Lgtst_ms_with_logicalhostname が TRUE 以外に設定されていると、検証機能は、ノードの localhost 名 (ループバックアップインタフェース) を指定して lgtst を呼び出します。
lgtst ユーティリティーの呼び出しが失敗した場合、SAP メッセージサーバーの接続が機能していません。このような場合、障害モニターはこれを部分的な障害とみなし、SAP の再起動やフェイルオーバーをすぐにはトリガーしません。しかし、部分的な障害が 2 度起こると、障害モニターは、次の条件が真であれば、これを致命的な障害とみなします。
拡張プロパティ Check_ms_retry に 2 が構成されている。
2 度の部分的障害が、リソースプロパティ Retry_interval に設定されている再試行期間中に発生している。
致命的な障害では、リソースの障害履歴にもとづいてローカル再起動またはフェイルオーバーがトリガーされます。
検証機能によるデータベース接続の状態 - 検証機能は、SAP 提供のユーティリティー R3trans を使ってデータベース接続の状態を検査します。Sun Cluster HA for SAP 障害検証機能は、SAP がこのデータベースに接続できるかどうかを確認します。ただし、Sun Cluster HA for SAP は、高可用性データベースの障害検証機能を使ってデータベースが正常であるかどうかを判定します。データベース接続の状態検査で異常が検出されると、障害モニターは「Database might be down」というメッセージを syslog に書き込み、SAP リソースの状態を DEGRADED に設定します。検証機能は、データベースの状態を再び検査したときに接続が再確立されていれば、「Database is up」というメッセージを syslog に書き込み、SAP リソースの状態を OK に設定します。
障害履歴を調べます。
障害モニターは、障害履歴に基づいて次のアクションのどれかを行います。
アクションなし
ローカル再起動
フェイルオーバー