3.9. hdbindexserver プロセス失敗アクション (オプション) に対する SAP HANA srServiceStateChanged() フックの有効化


HANA は、indexserver プロセスの問題を検出すると、SAP HANA に組み込まれている機能を使用して、indexserver プロセスを自動的に停止および再起動することで問題を回復します。

ただし、場合によっては、サービスの "停止" フェーズに非常に長い時間がかかることがあります。その間、システムレプリケーションは同期されなくなる可能性がありますが、HANA は引き続き動作し、新しい接続を受け入れます。最終的に、サービスは停止と再起動のプロセスを完了し、回復します。

データの一貫性にリスクをもたらすこの長時間実行される再起動を待つ代わりに、その間にインスタンスで何か他の障害が発生した場合、ChkSrv.py フックスクリプトが状況に反応し、HANA インスタンスを停止して、より迅速な回復を行うことができます。自動フェイルオーバーが有効になっているセットアップでは、セカンダリーノードが正常な状態であれば、インスタンスが停止するとテイクオーバーが開始します。それ以外の場合、リカバリーはローカルで続行しますが、強制インスタンスの再起動によってリカバリーが高速化されます。

global.ini 設定ファイルで設定していると、SAP HANA はインスタンス内のすべてのイベントに対して ChkSrv.py フックスクリプトを呼び出します。スクリプトはイベントを処理し、イベントの詳細に適用したフィルターの結果に基づいてアクションを実行します。これにより、障害後に HANA によって停止および再起動する HANA indexserver プロセスと、インスタンスのシャットダウンの一環として停止する同じプロセスを区別できます。

実行可能なさまざまなアクションを以下に示します。

  • Ignore (無視): このアクションは、解析されたイベントと決定情報を専用のログファイルに書き込むだけなので、フックスクリプトが何を実行するかを確認するのに役立ちます。
  • Stop (停止): このアクションは、sapcontrol コマンドを通じてインスタンスに対して正常な StopSystem を実行します。
  • Kill (強制終了): このアクションは、設定可能なデフォルトのシグナル 9 を使用して HDB kill-<signal> コマンドを実行します。

停止アクションと強制終了アクションの両方で HANA インスタンスが停止しますが、最終的には強制終了の方が少し速くなることに注意してください。

この時点で、クラスターは HANA リソースの障害を認識し、設定された方法で対応します。通常はインスタンスを再起動し、有効になっている場合はテイクオーバーも行います。

3.9.1. resource-agents-sap-hana パッケージのバージョンの確認

Pacemaker cluster does not trigger a takeover of HANA System Replication when the hdbindexserver process of the primary HANA instance hangs/crashes に記載されているように、RHEL 9 のバージョンで srServiceStateChanged() フックを有効にするために必要なコンポーネントを提供する正しいバージョンの resource-agents-sap-hana パッケージがインストールされていることを確認してください。

3.9.2. すべての SAP HANA インスタンスで srServiceStateChanged() フックをアクティブ化する

注記

srServiceStateChanged() フックをアクティブ化する手順は、すべての HA クラスターノード上の SAP HANA インスタンスごとに実行する必要があります。

  1. 各ノードの SAP HANA global.ini ファイルを更新して、(ファイル /hana/shared/RH1/global/hdb/custom/config/global.ini などの) 両方の SAP HANA インスタンスでフックスクリプトを使用できるようにします。

    [ha_dr_provider_chksrv]
    provider = ChkSrv
    path = /usr/share/SAPHanaSR/srHook
    execution_order = 2
    action_on_lost = stop
    
    [trace]
    ha_dr_saphanasr = info
    ha_dr_chksrv = info

    オプションのパラメーターを以下のように設定します。

    • action_on_lost (デフォルト: ignore)
    • stop_timeout (デフォルト: 20)
    • kill_signal (デフォルト: 9)

    以下は、action_on_lost で使用可能なオプションの説明です。

    • ignore: この機能を有効にしますが、イベントのみをログに記録します。これは、設定された環境でのフックのアクティビティーを監視するのに役立ちます。
    • stop: sapcontrol -nr <nr> -function StopSystem を正常に実行します。
    • kill: 最速の停止のために HDB kill-<signal> を実行します。
    • stop_timeout は stop および kill アクションのコマンド実行に追加され、kill_signalHDB kill-<signal> コマンドの一部として kill アクションで使用されることに注意してください。
  2. HANA の実行中に HA/DR プロバイダーを再ロードして、新しいフックをアクティブ化します。

    [rh1adm]$ hdbnsutil -reloadHADRProviders
  3. 新しいトレースファイルをチェックしてフックの初期化を確認します。

    [rh1adm]$ cdtrace
    [rh1adm]$ cat nameserver_chksrv.trc
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る