ローカルリカバリーポリシー

HANA システムレプリケーション(HSR)を利用した高い可用性の SAP HANA デプロイメントでは、プライマリーデータベースインスタンスからのデータが、スタンバイサーバー上で実行中のセカンダリーデータベースインスタンスに継続的にレプリケーションされます。この実行中のセカンダリーインスタンスはウォームスタンバイとして機能し、データベースの In-Service 中に起動するという時間のかかる要件を伴わずに、SAP HANA リソースをスタンバイサーバーにスイッチオーバー、フェールオーバーする機能を提供します。
このため、特に大規模なデータベースインスタンスを保護する場合、障害が検出されたときにプライマリーサーバーでデータベースを再起動するのではなく、直ちにスタンバイサーバーにフェールオーバーした方が高速に処理できる場合があります。

この動作は、SAP HANA リソースに対して LifeKeeper のローカルリカバリーポリシーを設定することで実行できます。以下で、ローカルリカバリーポリシーの設定方法をいくつか説明します。

リソース作成中のローカルリカバリーポリシーの設定

SAP HANA リソースの作成中にダイアログが表示され、リソースのローカルリカバリーを有効または無効にすることができます。リソースを作成するサーバー上でローカルリカバリーの試行を許可する場合は [Enable] を、そのサーバー上でデータベース障害が検出された場合にローカルリカバリーをすべてスキップし、リソース階層を直ちにスタンバイサーバーにフェールオーバーする場合は [Disable] を選択します。

リソース拡張中のローカルリカバリーポリシーの設定

SAP HANA リソースの拡張中にダイアログが表示され、リソースのローカルリカバリーを有効または無効にすることができます。リソースが拡張されるサーバー上でローカルでのリカバリーの試行を許可する場合は [Enable] を、そのサーバー上でデータベース障害が検出された場合にローカルでのリカバリーをすべてスキップし、リソース階層を直ちにスタンバイサーバーにフェールオーバーする場合は [Disable] を選択します。

LifeKeeper GUI を使用したローカルリカバリーポリシーの設定

LifeKeeper GUISAP HANA リソースを右クリックし、 [Enable/Disable Local Recovery…] を選択すると、選択したサーバー上のリソースのローカルリカバリーを有効または無効にするためのダイアログが表示されます。

LKCLI を使用したローカルリカバリーポリシーの設定

次の LKCLI コマンドを使用して、コマンドが実行されるサーバー上の SAP HANA リソースのローカルリカバリーを有効または無効にすることができます。コマンドの <HANA Tag> を、構成する SAP HANA リソースのタグ名に置き換えます。

# /opt/LifeKeeper/bin/lkcli resource config hana --tag <HANA Tag> --set_local_recovery_policy <enable|disable>

LKPolicy を使用したローカルリカバリーポリシーの設定

LKPolicy ユーティリティを使用して、ローカルリカバリーポリシーを作成できます。

次のコマンドを実行して、コマンドが実行されるサーバー上の特定のリソースのローカルリカバリーを無効にします。

# /opt/LifeKeeper/bin/lkpolicy --set-policy LocalRecovery --off tag=<Resource Tag>

次のコマンドを実行して、コマンドが実行されるサーバー上の特定のリソースのローカルリカバリーを有効にします。

# /opt/LifeKeeper/bin/lkpolicy --set-policy LocalRecovery --on tag=<Resource Tag>

一時的なリカバリーポリシー

状況によっては、必要なデータベースプロセスがすべて正常に開始できたにもかかわらず、その後すぐにサーバー側の問題により障害が発生する場合があります。SAP HANA リソースに対してローカルリカバリーが有効になっている場合、このような状況では、quickCheck の失敗とローカルリカバリーの成功が延々と繰り返される可能性があります。そのため、短時間のうちに何度もローカルリカバリーを試みた場合、すべての試行が成功したとしても、サーバーの問題が示唆されることがあります。

このように延々と続くローカルリカバリーサイクルを回避するために、 LKPolicy ユーティリティを使用して、各サーバーに一時的なリカバリーポリシーを確立することができます。
一時的なリカバリポリシーを使用するとY 分以内に X 回のローカルリカバリーの試行が発生した場合、LifeKeeper は障害の発生したサーバーからスタンバイサーバーにすべてのリソース階層を直ちにフェールオーバーします(X と Y はポリシーによって設定されたパラメーターです)。

たとえば、次のコマンドをサーバーで実行すると、10 分以内にそのサーバーで 3 回リカバリーを試行した後にフェールオーバーをトリガーする一時的なリカバリーポリシーを設定できます。

# /opt/LifeKeeper/bin/lkpolicy --set-policy TemporalRecovery --on recoverylimit=3 period=10

次のコマンドを実行すると、既存の一時的なリカバリーポリシーを削除できます。

# /opt/LifeKeeper/bin/lkpolicy --remove-policy TemporalRecovery

フィードバック

お役に立ちましたか?

はい いいえ
お役に立ちましたか
理由をお聞かせください
フィードバックありがとうございました

このトピックへフィードバック

送信