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

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

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

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

復元スクリプト

復元スクリプトは /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 高速再起動のエントリをコメントアウトし、高速再起動のマウント ポイントをマウント解除します。復元後、2 段階のマウントと移行の最初の手順が完了したら、高速再起動マウントをマウントし、高速再起動マウントの /etc/fstab エントリのコメントを解除して、高速再起動を有効にします。

イメージをマウントする

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

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

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

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

2 つのユースケース

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

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

ワンステップのマウントと移行

イメージをマウントすると、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 マウント ポイントのディレクトリ /mmrestore/hana/data/HPR/mmrestore/hana/data/HSR に変更する必要があります。
  • hana_lvm_recover_migrate.sh スクリプトを実行する前に、/mmrestore/hana/log マウント ポイントでディレクトリ /mmrestore/hana/log/HPR/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]
  • DESCRIPTION: バックアップ/復元アプライアンスからスケールアウト クラスタまたはスタンドアロン クラスタに SAP HANA データを復元します。
  • OPERATION: 実行するオペレーションを指定します。これは必須です。
  • 統合: Actifio と本番環境のボリューム グループを統合します。
  • 移行: Actifio ディスクから本番環境ディスクにボリュームを移行します。
  • Recover: Actifio スケールアウト復元スクリプトを実行します。
  • RecoverMerge: RecoverMerge を実行します。
  • RecoverMigrate。RecoverMigrate を実行します。
  • ロールバック。復元を再度試行できる状態のクラスタを取得します。
  • テスト。ジョブ構成のテストに使用できます。

オプション パラメータ

スクリプトには、値をオーバーライドするための次の省略可能なパラメータも用意されています。

    -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 など、ジョブに必要なすべての情報を収集します。このターゲット サーバーの最後のジョブがマウントでない場合は、最後のマウント ジョブの ジョブ番号(-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>

復元が成功すると、データベースはバックアップ/リカバリ アプライアンスのマウントされたデバイスから実行されます。

merge

このオプションは、アプライアンスからマウントされたデバイスからデータベースが実行されている場合に、ステップ 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 オプションを使用して、最後のマウント ジョブの ジョブ番号を指定し、マウント ジョブのデフォルト値をオーバーライドする必要があります。

/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 の実行後に移行オプションを実行すると、データベースの実行中に、バックアップ/リカバリ アプライアンスから本番環境ストレージに提示されたストレージへのデータの移行を開始する準備が整います。

/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

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

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

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

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

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