SAP HANA スケールアウト バックアップをマウントして移行し、任意のターゲットに即時復元する

この情報は、SAP HANA スケールアウト インスタンスに関するものです。スケールアップと HA 1+1 の構成については、SAP HANA の Backup and DR サービスをご覧ください。

SAP HANA スケールアウトの即時復元(マウントと移行)

LVM 移行方法を使用して、バックアップ/リカバリ アプライアンスのステージング ディスクから本番環境ディスクへの HANA データ移行を自動化します。LVM 移行方法は、スケールアップ構成のバックアップ/リカバリ アプライアンスのステージング ディスクまたは共有されていない LVM マルチノード スケールアウト クラスタで SAP HANA データベースが復元された後に使用します。

復元スクリプト

復元スクリプトは /act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh です。

スクリプトの詳細を参照してください。

データベースの復元と移行

復元を開始する前の前提条件

  • SAP HANA データベースを停止します(スケールアウト構成の場合はすべてのノードで停止します)。
    • sapcontrol -nr <instance number> -function StopSystem
    • sapcontrol -nr <instance number> -function GetSystemInstanceList
  • /etc/fstab に、/hana/data マウントと /hana/log マウントの /dev/mapper エントリがあることを確認します。
    • df -kh を使用して、/hana/data と /hana/log の /dev/mapper エントリを取得します。
  • /hana/data と /hana/log がどのプロセスでも保持されていないことを確認します。
    • /hana/data と /hana/log のマウントを解除して再マウントします。
  • HANA 高速再起動が構成されている場合は、/etc/fstab で HANA 高速再起動のエントリをコメント化し、高速再起動のマウント ポイントをマウント解除します。高速再起動マウントをマウントし、高速再起動マウントの /etc/fstab エントリのコメント化を解除して、高速再起動を有効にします。復元後、2 段階のマウントの最初のステップを統合し、移行が完了します。

イメージをマウントする

  1. 管理コンソールを使用して、バックアップ イメージをターゲット サーバーにマウントします。

    1. 特権ユーザーとして管理コンソールにログインします。
    2. 必要なアプリを選択し、[アクセス] を選択します。
    3. イメージを選択し、[マウント] をクリックします。
    4. [CREATE NEW VIRTUAL APPLICATION] オプションを無効にして、それぞれのターゲット ノードまたはクラスタを選択します。スケールアウト クラスタにマウントする場合は、[すべてのクラスタ サーバーにマウント] オプションが有効になっていることを確認します。
    5. マウントポイントの場所を指定して、[送信] をクリックします。

マウント ジョブが完了すると、イメージはターゲット HANA サーバーの指定されたロケーションにマウントされます。

マウントと移行のユースケース

2 つのユースケース

  • ワンステップでマウントして移行。データベースを復元し、データベースの実行中にバックアップ/リカバリ アプライアンスから提供されるストレージから本番環境ストレージにデータを移行します。

  • 2 ステップのマウントおよび移行。データベースのコピーを復元します。復元されたデータベースは、バックアップ/リカバリ アプライアンスから動作します。本番環境ストレージの準備ができたら、データベースの実行中に本番環境ストレージへのデータの移行を開始できます。

1 ステップでマウントして移行する

イメージをマウントすると、1 回の実行でデータを復元して移行できます。

  1. このスクリプトは、イメージがマウントされているターゲット サーバーで実行します。

    /act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recovermigrate

    特定の時点に復元するには、-r オプションを使用します。

    /act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recovermigrate -r <time>

    このオプションでは、データベースが復元され、バックアップ/リカバリ アプライアンスからプロビジョニングされたディスクのボリューム グループがローカル ストレージと統合され、データベースの移行が開始されます。

  2. ジョブが正常に完了すると、データベースの実行中に、バックアップ/リカバリ アプライアンスからプロビジョニングされたディスクからローカル本番環境ストレージにデータが移動されます。

HANA のソース SID とターゲット SID が異なる場合

HANA のソース SID とターゲット SID が異なる場合は、hana_lvm_recover_migrate.sh スクリプトを実行する前に、データとログのマウントポイントで sid ディレクトリの名前をターゲット SID に変更します。

次に例を示します。

ソース SID: HPR ターゲット SID: HSR マウントポイント: /mmrestore

  • hana_lvm_recover_migrate.sh スクリプトを実行する前に、ディレクトリ /mmrestore/hana/data/HPR の名前を /mmrestore/hana/data マウントポイントで /mmrestore/hana/data/HSR に変更する必要があります。
  • hana_lvm_recover_migrate.sh スクリプトを実行する前に、ディレクトリ /mmrestore/hana/log/HPR の名前を /mmrestore/hana/log マウントポイントの /mmrestore/hana/log/HSR に変更する必要があります。

2 段階のマウントと移行

イメージをマウントしたら、データベースのコピーを復元します。復元されたデータベースは、バックアップ/リカバリ アプライアンスから動作します。

  1. recovermerge オプションを実行して、マウントされたイメージから実行されているデータベース コピーを取得します。

    /act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recovermerge

    特定の時点に復元するには、-r オプションを使用します。

    /act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recovermerge -r <time>

    復元が正常に完了すると、データベースはバックアップ/リカバリ アプライアンスにマウントされたデバイスで実行されます。データベースが稼働しており、アプリケーションで使用できます。

  2. 本番環境ストレージが使用可能になったら、データベースの実行中に本番環境ストレージへのデータの移行を開始します。

/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh migrate

マウントされたイメージをマウント解除してバックアップ/リカバリ アプライアンスから削除する

  1. 特権ユーザーとして管理コンソールにログインします。
  2. 手順 1 でマウントしたイメージを選択します。
  3. [Unmount & Delete] をクリックします。

スクリプトの詳細(hana_lvm_recover_migrate.sh)

スクリプトには次の詳細情報が含まれています。

  • NAME: SAP HANA 復元ヘルパー スクリプト
  • PATH: /act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh
  • 概要: hana_lvm_recover_migrate.sh <OPERATION> [OPTIONS]
  • 説明: バックアップ/リカバリ アプライアンスからスケールアウト クラスタまたはスタンドアロン クラスタに SAP HANA データを復元します。
  • OPERATION: 実行するオペレーションを指定します。これは必須です。
  • Merge: Actifio ボリューム グループと本番環境ボリューム グループを統合します。
  • Migrate: Actifio ディスクから本番環境ディスクにボリュームを移行します。
  • Recover: Actifio スケールアウト復元スクリプトを実行します。
  • RecoverMerge: RecoverMerge を実行します。
  • RecoverMigrate[Recover] と [Migrate] を実行します。
  • ロールバック。復元を再試行できる状態のクラスタを取得します。
  • テスト。ジョブ構成をテストするために使用できます。

オプション パラメータ

このスクリプトには、値をオーバーライドするためのオプション パラメータも用意されています。

    -a \<name\>: mount job name override

    -A \<log|params\>: Method to discover job name, log file or params file

    -C \<count\>: Expected node count override

    -D \<path\>: Path to the HANA data mount point, expected to be the same
    for all nodes

    -h: Display help documentation and exit, specify operation for more info

    -I \<name\>: HANA database SID override

    -K \<user\>: HANA keystore user to use for the restore

    -L \<path\>: Path to the HANA log mount point, expected to be the same
    for all nodes

    -r \<time\>: Timepoint to which to recover the HANA database

    -R: Assert that the recover script has already been run

    -S \<path\>: Path to the shared directory, expected to be the same for
    all nodes

    -t \<minutes\>: Number of minutes without an update before a job is
    considered timed out

    -T \<minutes\>: Number of minutes to allow for starting the HANA DB
    service

    -u \<user\>: HANA service account username \<adm user\>

    -v: Enable verbose logging

    -V \<version\>: HANA version

    -w \<seconds\>: Base wait time, job status checks 1x, file system
    operations 4x

スクリプト オプション

復元

データを本番環境ストレージに移行しない場合は、復元オプションを実行します。

/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recover

デフォルトでは、スクリプトは UDSAgent ログから最新の Job# を取得し、ターゲット マウントポイントやデータベース SID など、ジョブに必要なすべての情報を収集します。このターゲット サーバーの最後のジョブがマウントでない場合は、最後のマウント ジョブの Job #(-a オプションを使用)を指定して、マウント ジョブのデフォルト値をオーバーライドする必要があります。

/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recover -a <Job_#>

特定の時点へのポイントインタイム リカバリの場合(-r オプションを使用)

/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recover -a <Job_#> -r <time>

復元が正常に完了した後、データベースでバックアップ/リカバリ アプライアンス マウント デバイスが不足しています。

統合

このオプションは、アプライアンスからマウントされたデバイスからデータベースが実行されている場合に、ステップ A の復元オペレーション後に実行できます(本番環境ストレージへのデータの移行)。このプロセスでは、データベースが停止し、本番環境ストレージのボリューム グループがバックアップ/リカバリ アプライアンスのボリューム グループと統合されます。マージ オペレーションが正常に完了すると、データベースがオンラインになります。

マージ オプションが渡された場合、データベースの復元プロセスが完了することが期待されます。このスクリプトを使用せずに復元を手動で行った場合は、-R オプションを指定して復元が実行されたことを確認できます。復元が完了していない場合、スクリプトは統合プロセスを続行しません。

/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh merge

recovermerge

データを本番環境ストレージに移行する場合は、recovermerge オプションを実行します。recovermerge オプションは、復元プロセスと統合プロセスのスーパーセットであり、統合オペレーションは復元の一部として実行されます。これにより、移行プロセスの開始時にデータベースが再起動されることはありません。

/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recovermerge

このターゲット サーバーの最後のジョブがマウントではない場合は、-a オプションを使用して、最後のマウント ジョブの Job # を指定して、マウント ジョブのデフォルト値をオーバーライドする必要があります。

/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recovermerge -a <Job_#>

特定の時点へのポイントインタイム リカバリの場合は、-r オプションを使用します。

/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recovermerge -a <Job_#> -r <time>

復元が正常に完了すると、スクリプトは、本番環境ストレージのボリューム グループがバックアップ/リカバリ アプライアンスのボリューム グループと統合される統合オペレーションを続行します。このプロセス中、データベースは停止し、統合オペレーションが正常に完了すると、データベースはオンラインになります。

migrate

スクリプトの recover または recovermerge の実行後に migrate オプションを実行すると、データベースの実行中にバックアップ/リカバリ アプライアンスから提示されたストレージから本番環境ストレージへのデータの移行を開始できます。

/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh migrate

復元が完了していない場合、スクリプトは移行プロセスを続行しません。移行プロセス中に、スクリプトは統合オペレーションが完了しているかどうかを確認し、完了している場合はデータベースを再起動せずに移行を続行します。完了していない場合は、本番環境ストレージのボリューム グループをバックアップ/リカバリ アプライアンスのボリューム グループと統合します。このプロセス中、データベースは停止し、統合オペレーションが正常に完了すると、データベースはオンラインになります。

recovermigrate

recovermigrate は、recover、recovermerge、migrate オペレーションのスーパーセットです。このプロセスでは、データベースが復元され、バックアップ/リカバリ アプライアンスからプロビジョニングされたディスクのボリューム グループがローカル ストレージと統合され、データベースの移行が開始されます。

スクリプトは /act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recovermigrate です。

このターゲット サーバーの最後の Job がマウントでない場合は、-a オプションを使用して、最後のマウント ジョブの Job # を指定して、マウント ジョブのデフォルト値をオーバーライドする必要があります。

/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recovermigrate -a <Job_#>

特定の時点へのポイントインタイム リカバリの場合は、-r オプションを使用します。

/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recovermigrate -a <Job_#> -r <time>

スケールアウト構成の場合、移行はクラスタ内のすべてのノードで並列に開始されます。

ジョブが正常に完了すると、データベースの実行中に、バックアップ/リカバリ アプライアンスからプロビジョニングされたディスクからローカル本番環境ストレージにデータが移動されます。

rollback

ロールバック オプションは、ジョブログを調べて、recover、merge、migrate、recovermerge、recovermigrate ジョブのステージを特定し、データベース サーバーに行われた変更をすべて元に戻します。ボリューム グループがローカル本番環境ディスクとバックアップ/リカバリ アプライアンスのステージング ディスクの間で統合されている場合、ステージング ディスクの物理ボリュームは本番環境ボリューム グループから削除され、ロールバック オペレーションが実行されます。

/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh rollback

test

Test オペレーションを使用すると、実際の復元オペレーションを開始する前に、環境が正しく構成されていることを確認できます。テスト オペレーションでは変更が行われないため、必要に応じて何度でも実行できます。また、完全にスキップすることもできます。

テスト実行中にチェックされる項目が次の項目であることを確認します。

  • ノードチェック。このタスクはすべてのオペレーションで実行されます。
  • 予想されるノード数が実際のノード数と一致しているかどうかを確認します。
  • 必要に応じて、マスター以外のノードに SSH アクセスが可能かどうかを確認します。
  • ノードが共有ディレクトリにアクセスできるかどうかを確認します。

SAP HANA スケールアウト用の Backup and DR サービス ドキュメント

このページは、Backup and DR サービスを使用して SAP HANA スケールアウト インスタンスを保護および復元する方法に関する一連のページの 1 つです。詳細については、以下のページをご覧ください。