このプランニング ガイドでは、Google Cloud の SAP 用エージェントのディスク スナップショット機能について説明します。他の機能の詳細については、Google Cloud の SAP 用エージェントのプランニング ガイドをご覧ください。
ディスク スナップショット機能を使用すると、Compute Engine インスタンスで実行されている SAP HANA スケールアップ システムのバックアップと復元を行うことができます。
プレビュー: /hana/data
ボリュームが複数のディスクにホストされている SAP HANA システムでこの機能を使用するには、カスタマーケアにお問い合わせください。カスタマーケアへのお問い合わせ方法については、Google Cloud での SAP に関するサポートを利用するをご覧ください。
この機能は SAP HANA のデータ スナップショット機能と統合されており、/hana/data
ボリュームをホストするディスクの標準スナップショットまたはアーカイブ スナップショットを使用して、SAP HANA データベースのバックアップと復元を行うことができます。
エージェントのこの機能を使用して SAP HANA をバックアップして復元する方法については、ディスク スナップショットを使用した SAP HANA のバックアップと復元をご覧ください。
毎月の費用の見積もり
作成した標準スナップショットに対して料金が発生します。料金については、ディスク スナップショットをご覧ください。
Google Cloud 料金計算ツールを使用すると、ディスク スナップショットを SAP HANA データ ボリュームのバックアップとして使用する場合の月額費用を見積もることができます。費用の見積もりには次の情報が役立ちます。
- 最初のディスク スナップショットのフルサイズの推定値。
- 後続の各ディスク スナップショットの差分サイズの推定値。
- スナップショットの頻度。たとえば、毎日 1 セットのスナップショットを作成する場合、スナップショットの頻度は 24 時間です。
- スナップショットの保持時間。
- スナップショット ストレージの冗長性: 単一リージョンまたはマルチリージョン。
- ネットワーク経由でのリージョン内およびリージョン間のデータ転送量の推定値。たとえば、ソースディスクとは異なるロケーションに標準スナップショット グループを作成または復元すると、ネットワーク料金が発生することがあります。
制限事項
Google Cloud の SAP 用エージェントのディスク スナップショット機能を使用して SAP HANA のバックアップと復元を行う場合、次のような制限があります。
- SAP HANA スケールアウト デプロイには、エージェントのディスク スナップショット機能を使用できません。詳細については、スケールアウト デプロイでのスナップショットの使用をご覧ください。
/hana/data
ボリュームについて、次のことを確認する必要があります。- 1 つ以上の SSD ベースの Persistent Disk または Hyperdisk ボリュームにホストされます。これらのディスクには、他の SAP HANA ボリュームがホストされないようにする必要があります。SAP Note 2039883 - FAQ: SAP HANA database and data snapshots (storage snapshots) に説明されているように、SAP HANA データベースを復元できるようにするため、ストレージ スナップショットにデータベースのログ領域が含まれないようにする必要があります。
- 論理ボリュームにマッピングされている。これにより、エージェントはディスク スナップショット ベースのバックアップや復元オペレーション中にマウント ポイントを正しく処理できます。
- 複数のディスクを使用して
/hana/data
ボリュームをホストしている場合、エージェントのこの機能は、基盤となるディスクが Hyperdisk ボリュームである場合にのみ使用できます。
- Terraform などの Infrastructure as Code(IaC)ツールを使用して SAP HANA システムをデプロイした場合、エージェントはスナップショット ベースのバックアップを作成できますが、復元オペレーションは実行できません。詳細については、IaC ツールベースのデプロイでスナップショットを使用するをご覧ください。
- バックアップと復元では、SAP HANA データベースをホストする Compute Engine インスタンスで実行されているエージェント インスタンスを使用する必要があります。他の Compute Engine インスタンスで実行されているエージェント インスタンスは使用できません。
- SAP HANA データベースのバックアップと復元を行うには、root のアクセス権を付与するか、適切な
sudo
グループを使用して、特定のオペレーティング システムのコマンドに対するsudo
のアクセス権を付与する必要があります。詳細については、権限を設定するをご覧ください。
Compute Engine ディスク スナップショットの一般的な制限については、制限事項をご覧ください。
必要な権限
Google Cloud の SAP 用エージェントがディスク スナップショットを使用して SAP HANA データベースのバックアップと復元を実行できるようにするには、以下のものに対して権限を設定する必要があります。
- SAP HANA システムが実行されている Google Cloud プロジェクト。
- オペレーティング システムでエージェント コマンドを実行しているユーザー(SAP HANA オペレーティング システムのユーザーまたは独自のユーザー)。
- エージェントが使用する SAP HANA データベース ユーザー。
付与する必要のある権限については、権限を設定するをご覧ください。
ディスク スナップショット ベースのバックアップを作成する
Google Cloud の SAP 用エージェントを使用して SAP HANA のディスク スナップショット ベースのバックアップを作成するには、エージェントの hanadiskbackup
コマンドを実行します。手順については、ディスク スナップショットを使用した SAP HANA のバックアップと復元をご覧ください。
単一ディスク
/hana/data
ボリュームが 1 つのディスクにホストされている場合、次のフローチャートは、エージェントが SAP HANA データベースのディスク スナップショット ベースのバックアップを作成するために実行する手順を示しています。
エージェントのディスク スナップショット機能が SAP HANA データベースのバックアップを作成する仕組み
hanadiskbackup
コマンドを実行すると、エージェントは次の処理を行います。
hanadiskbackup
コマンドに指定されたすべての入力引数を検証します。hanadiskbackup
コマンドに指定された入力を使用して、SAP HANA データベースに接続します。- 既存のスナップショットがないことを確認します。
/hana/data
ボリュームをホストしているディスクのスナップショットが存在し、hanadiskbackup
コマンドにabandon-prepared=TRUE
が指定されていない場合、エージェントはこの処理を終了します。バックアップは作成されません。この場合、hanadiskbackup
コマンドを確認して手動で再実行する必要があります。 - スナップショットの作成を開始したことを SAP HANA に通知します。
/hana/data
ディレクトリをホストする Persistent Disk または Hyperdisk ボリュームのスナップショットを作成します。- スナップショットの作成に成功したことを SAP HANA に通知します。
複数のディスク
/hana/data
ボリュームが複数のディスクにホストされている場合、次のフローチャートは、エージェントが SAP HANA データベースのディスク スナップショット ベースのバックアップを作成するために実行する手順を示しています。
エージェントのディスク スナップショット機能が SAP HANA データベースのバックアップを作成する仕組み
hanadiskbackup
コマンドを実行すると、エージェントは次の処理を行います。
hanadiskbackup
コマンドに指定されたすべての入力引数を検証します。hanadiskbackup
コマンドに指定された入力を使用して、SAP HANA データベースに接続します。/hana/data
ボリュームをホストしているディスクを検索します。/hana/data
ボリュームをホストしているすべてのディスクが同じ整合性グループ(CG)に属していることを確認します。- SAP HANA データベースで使用可能な既存のスナップショット ベースのバックアップがないことを確認します。
データベースのスナップショット ベースのバックアップが存在し、
hanadiskbackup
コマンドでabandon-prepared=TRUE
が指定されていない場合、エージェントはこの処理を終了し、バックアップは作成されません。この場合、hanadiskbackup
コマンドを確認して手動で再実行する必要があります。 - スナップショットの作成を開始したことを SAP HANA に通知します。
- SAP HANA HDBSQL を使用して SAP HANA データベースのスナップショットを作成します。
/hana/data
ボリュームをホストするディスクのインスタント スナップショット グループを作成します。- すべての即時スナップショットを標準スナップショットまたはアーカイブ スナップショットに変換します。
デフォルトでは、エージェントは標準スナップショットを作成します。
hanadiskbackup
コマンドでsnapshot-type=ARCHIVE
を指定して、アーカイブ スナップショットを作成できます。 - 即時スナップショット グループを削除します。
- スナップショット ベースのバックアップの作成に成功したことを SAP HANA に通知します。
このバックアップのステップのいずれかでエラーが発生すると、エージェントはスナップショットの作成を UNSUCCESSFUL
として処理を終了します。この場合、状況を確認して hanadiskbackup
コマンドを手動で再実行する必要があります。エージェントがバックアップ処理を終了した理由を確認するには、/var/log/google-cloud-sap-agent/hanadiskbackup.log
ファイルのエントリを表示します。
差分バックアップを作成する
hanadiskbackup
コマンドを実行すると、エージェントは /hana/data
ボリュームをホストするディスクのスナップショットを作成します。
ディスク スナップショットの利点は増分のみが保存されることです。2 回目以降のバックアップでは、まったく新しいバックアップが作成されるのではなく、増分ブロックの変更のみが格納されます。つまり、デフォルトでは、Google Cloud の SAP 用エージェントを使用して SAP HANA データベースの最初のスナップショット ベースのバックアップを作成した場合、その後に作成するスナップショット ベースのバックアップはすべて差分バックアップになります。差分バックアップを作成するために別の操作を行う必要はありません。
詳細については、増分標準スナップショットの仕組みをご覧ください。
ディスク スナップショットを暗号化する
デフォルトでは、Google Cloud のデータは保存時に AES-256 で暗号化されます。この処理はディスクとディスク スナップショットに保存されるデータに行われます。スナップショットの暗号化に顧客管理の暗号鍵(CMEK)または顧客指定の暗号鍵(CSEK)を使用することもできます。
また、/hana/data
ボリュームに対して SAP HANA で提供される暗号化を有効にして、セキュリティを強化することもできます。このオプションの詳細については、データ ボリュームとログボリュームの暗号化の有効化をご覧ください。
ディスク スナップショットを使用して SAP HANA データを復元する
ディスク スナップショット ベースのバックアップを使用して SAP HANA データベースを復元するには、エージェントの hanadiskrestore
コマンドを実行します。手順については、ディスク スナップショットを使用した SAP HANA のバックアップと復元をご覧ください。
単一ディスク
/hana/data
ボリュームが 1 つのディスクにホストされている場合、次のフローチャートは、エージェントのディスク スナップショット機能を使用して SAP HANA データベースを復元する方法を示しています。
エージェントのディスク スナップショット機能を使用して SAP HANA データベースを復元する
ディスク スナップショットを使用して SAP HANA データベースを復元する手順は次のとおりです。
- エージェントの
hanadiskrestore
コマンドを実行して、/hana/data
ボリュームをホストしているディスクを復元します。手順については、ディスク スナップショットを使用した SAP HANA のバックアップと復元をご覧ください。エージェントがディスク スナップショットを使用して SAP HANA データ ボリュームを復元する際の処理の流れは次のとおりです。このステップは上のフローチャートに示しています。
hanadiskrestore
コマンドに指定されたすべての入力引数を検証します。- SAP HANA を停止します。
/hana/data
ボリュームのマウントを解除します。/hana/data
ボリュームをホストしているディスクをホスト コンピューティング インスタンスから切断します。- ディスク スナップショットから
/hana/data
ボリュームに新しいディスクを作成します。 - 新しいディスクをホストのコンピューティング インスタンスにアタッチします。
- SAP HANA のボリューム グループを再スキャンします。
- 次のサブセクションで説明するように、スナップショットの時刻または特定の時点に SAP HANA データベースを手動で復元します。
複数のディスク
/hana/data
ボリュームが複数のディスクにホストされている場合、次のフローチャートは、エージェントのディスク スナップショット機能を使用して SAP HANA データベースを復元する方法を示しています。
エージェントのディスク スナップショット機能を使用して SAP HANA データベースを復元する
ディスク スナップショットを使用して SAP HANA データベースを復元する手順は次のとおりです。
- エージェントの
hanadiskrestore
コマンドを実行して、/hana/data
ボリュームをホストしているディスクを復元します。手順については、ディスク スナップショットを使用した SAP HANA のバックアップと復元をご覧ください。エージェントがディスク スナップショットを使用して SAP HANA データ ボリュームを復元する際の処理の流れは次のとおりです。このステップは上のフローチャートに示しています。
hanadiskrestore
コマンドに指定されたすべての入力引数を検証します。- SAP HANA を停止します。
/hana/data
ボリュームのマウントを解除します。/hana/data
ボリュームをホストしているディスクをホスト Compute Engine インスタンスから切断します。/hana/data
ボリュームをホストしているディスクを、対応するディスク整合性グループから削除します。- 入力整合性グループに対応するスナップショットをフィルタします。
- ソースディスク スナップショットを使用して、
/hana/data
ボリュームの新しいディスクを作成します。 - 新しいディスクをホスト Compute Engine インスタンスにアタッチします。
- 新しいディスクをディスク整合性グループに追加します。
- SAP HANA のボリューム グループを再スキャンします。
- 次のサブセクションで説明するように、スナップショットの時刻または特定の時点に SAP HANA データベースを手動で復元します。
この処理のいずれかのステップでエラーが発生すると、エージェントは処理を終了します。この場合、手動で確認して必要に応じてトラブルシューティングを行い、hanadiskrestore
コマンドを再実行する必要があります。エージェントがデータベース復元プロシージャを終了した理由を確認するには、/var/log/google-cloud-sap-agent/hanadiskrestore.log
ファイルのエントリを表示します。
SAP HANA を特定の時点に復元する
SAP HANA データベースを特定の時点に復元するには、/hana/data
ボリュームをホストしているディスクのスナップショットだけでなく、以前に作成したデータベースの SAP HANA の差分バックアップとログ バックアップが必要です。
SAP HANA ログのバックアップは、エージェントの Backint 機能か、SAP HANA データベースのファイル システム バックアップ機能を使用して作成できます。
復元の実行中に将来のタイムスタンプを指定すると、SAP HANA データベースは最新の状態に復元されます。
外部ソースから SAP HANA を復元する
ある SAP HANA システム用に作成したディスク スナップショット ベースのバックアップを使用して、別の SAP HANA システムを復元できます。また、テスト環境から品質保証環境に復元するなど、環境間でシステムを移動することもできます。
方法については、システムのコピーまたはシステムの更新を行うをご覧ください。
SAP HANA デプロイでのディスク スナップショットの使用
以降のセクションでは、Google Cloud の SAP 用エージェントのディスク スナップショット機能を使用して SAP HANA スケールアップ システムのバックアップと復元を行うための計画情報をシナリオ別に説明します。
HA デプロイでのスナップショットの使用
Google Cloud の高可用性(HA)クラスタで実行されている SAP HANA スケールアップ システムの場合、クラスタ内のプライマリ ノードとスタンバイ ノードの両方に Google Cloud の SAP 用エージェントをインストールする必要があります。
SAP HANA HA システムのディスク スナップショット ベースのバックアップを作成するには、プライマリ ノードの /hana/data
ボリュームに対してのみ hanadiskbackup
コマンドを実行する必要があります。フェイルオーバー イベントが発生した場合は、新しいプライマリ ノードで hanadiskbackup
コマンドを実行する必要があります。また、コマンドの実行時に、プライマリ ノードのホストの SAP HANA ホスト名または IP アドレスを指定する必要があります。クラスタで使用されている SAP HANA 仮想 IP(VIP)は指定しないでください。
復元オペレーションの実行中に、スナップショット ベースのバックアップを使用して、プライマリ ノードまたはスタンバイ ノードのいずれかに /hana/data
ボリュームをホストするディスクを復元できます。SAP HANA データベースは、ディスク スナップショットの作成時点または特定の時点に復元できます。
DR デプロイでのスナップショットの使用
Google Cloud の障害復旧(DR)デプロイの SAP HANA スケールアップ システムの場合は、プライマリ ホストとスタンバイ ホストの両方に Google Cloud の SAP 用エージェントをインストールする必要があります。
SAP HANA HA システムのディスク スナップショット ベースのバックアップを作成するには、プライマリ データベース インスタンスの /hana/data
ボリュームに対してのみ hanadiskbackup
コマンドを実行する必要があります。SAP HANA システム レプリケーションを中止してスタンバイ データベース インスタンスを昇格させる場合は、新しいプライマリ インスタンスで hanadiskbackup
コマンドを実行する必要があります。
DR デプロイでは、プライマリ データベース インスタンスで復元操作を行います。SAP HANA データベースは、ディスク スナップショットの作成時点または特定の時点に復元できます。
スケールアウト デプロイでのスナップショットの使用
Google Cloud の SAP 用エージェントのディスク スナップショット機能は、SAP HANA スケールアウト デプロイと互換性がありません。
しかし、スケールアウト デプロイで SAP HANA データベースのバックアップと復元を行うには、次のオプションを使用できます。
- Google Cloud の Backup & DR を使用する。詳細については、HANA 1+n と HANA スケールアウト データベースをバックアップするをご覧ください。
- Google Cloud の SAP 用エージェントの Backint 機能を使用する。詳細については、SAP HANA の Backint ベースのバックアップと復元をご覧ください。
IaC ツールベースのデプロイでスナップショットの使用
Google Cloud の SAP 用エージェントのディスク スナップショット機能は、Terraform などの Infrastructure as Code(IaC)ツールでデプロイされた SAP HANA システムと部分的に互換性があります。
エージェントは、これらのシステムのスナップショット ベースのバックアップを作成できますが、エージェントを使用して復元オペレーションを実行することはできません。エージェントによるスナップショット ベースの復元では /hana/data
ボリュームをホストするディスクが再作成されるため、IaC による状態管理と競合することや、問題が発生する可能性があります。
たとえば、エージェントを使用して復元を実行すると、IaC ツールは /hana/data
ボリュームをホストするディスクのステータスをチェックするたびに、以前のディスクを再アタッチするか、新しいディスクを削除して以前のディスクを再作成することで、システムで定義された構成に戻そうとします。これにより、SAP HANA データベースが使用不能になるほど、SAP HANA データベースに重大な影響が生じる可能性があります。
ただし、ほとんどの IaC ツールには、管理しているインフラストラクチャの変更に合わせてシステムの状態を変更できるワークフローが用意されています。IaC ツールを使用してデプロイした SAP HANA システムを復元する際の大まかな流れは次のとおりです。
SAP HANA データベースを停止します。手順については、SAP ドキュメントの Starting and Stopping SAP HANA Systems をご覧ください。
SAP HANA システムをホストする Compute Engine インスタンスを停止します。HA デプロイまたは DR デプロイの場合は、すべてのコンピューティング インスタンスを停止します。コンピューティング インスタンスを停止する方法については、VM を停止するをご覧ください。
SAP HANA システムの定義を含む IaC 構成ファイルで、
/hana/data
ボリュームに対応するディスクの定義を変更し、既存のディスク スナップショットを使用して再作成できるようにします。HA または DR デプロイの場合は、この操作をプライマリ SAP HANA ノードに対して行います。たとえば、Google Cloud によって提供される Terraform 構成のいずれかを使用して SAP HANA システムをデプロイした場合は、次のように
./terraform/modules/sap_hana/main.tf
ファイルにsnapshot
引数を指定します。# Split data/log/sap disks resource "google_compute_disk" "sap_hana_data_disks" { count = var.use_single_shared_data_log_disk ? 0 : var.sap_hana_scaleout_nodes + 1 name = format("${var.instance_name}-data%05d", count.index + 1) type = local.final_data_disk_type zone = var.zone size = local.data_pd_size snapshot = "hana-SID-snapshot-YYYYMMDD-HHMMSS" project = var.project_id provisioned_iops = local.final_data_iops }
変更した構成を適用します。たとえば、Terraform を使用している場合は、次のコマンドを実行します。
terraform validate terraform apply
SAP HANA データベースを復元します。手順については、ディスク スナップショットを使用してデータベースを復元するをご覧ください。
ロギングを有効にする
Google Cloud の SAP 用エージェントは、ディスク スナップショット ベースのバックアップと復元の実行中に、ログファイルに書き込みを行います。バックアップの場合は hanadiskbackup.log
、復元の場合は hanadiskrestore.log
を使用します。
これらのログファイルは、ホストの Compute Engine インスタンスの /var/log/google-cloud-sap-agent/
ディレクトリにあります。
デフォルトでは、バックアップと復元の実行中にロギングが有効になります。デフォルトのログレベルは info
です。ログレベルを変更するには、hanadiskbackup
コマンドと hanadiskrestore
コマンドを実行するときに -loglevel
引数を指定します。
モニタリングを有効化する
デフォルトでは、Google Cloud の SAP 用エージェントは、hanadiskbackup
コマンドを実行するたびに次の指標を Cloud Monitoring に出力します。これは、-send-metrics-to-monitoring
引数によって制御されます(デフォルト値は TRUE
)。
これらの指標に基づいてアラートを構成することで、SAP HANA データベースのモニタリングを設定できます。指標はダッシュボードでも確認できます。
次の表では、スナップショット ベースのバックアップと復元オペレーション中にエージェントが出力する指標を示します。
指標 | 説明 |
---|---|
workload.googleapis.com/sap/agent/hanadiskbackup/status |
ディスク スナップショット ベースのバックアップ オペレーションが成功したかどうかを通知します。値 |
workload.googleapis.com/sap/agent/hanadiskbackup/totaltime |
バックアップ オペレーションでディスク スナップショットの作成にかかった時間(秒単位)を通知します。これには、指定した Cloud Storage バケットにスナップショットをアップロードする時間も含まれます。 |
workload.googleapis.com/sap/agent/hanadiskbackup/dbfreezetime |
ディスク スナップショット ベースのバックアップ オペレーション中に SAP HANA ファイル システムがフリーズした時間を秒単位で示します。 |
ベスト プラクティス
ディスク スナップショットを使用して SAP HANA データベースのバックアップと復元を行う際は、次のベスト プラクティスに従うことをおすすめします。
- データベースの代替復元オプションを準備する。バックアップと復元の戦略を設計する際は、さまざまな方法を組み合わせることを強くおすすめします。たとえば、エージェントのディスク スナップショット機能と、エージェントの Backint 機能またはファイル システムのバックアップ機能で作成された SAP HANA データベースのフル バックアップと組み合わせて使用できます。
/hana/data
ボリュームとディスク スナップショットの整合性をチェックする。スナップショット ベースのバックアップ オペレーションではブロックレベルの整合性チェックは行われません。hdbpersdiag
ツールを使用して、次の整合性チェックを定期的に行うことをおすすめします。/hana/data
ボリュームのページ整合性チェックを実行します。データ ボリュームを使用するプロセス(SAP HANA インデックス サーバーなど)がある場合、ツールでは特定のデータ ボリュームのデータページをチェックできないため、このアクティティではダウンタイムが必要になります。- SAP HANA ホスト以外の Compute Engine インスタンスに、エージェントの
hanadiskbackup
コマンドで作成したスナップショットから一時ディスクをデプロイし、そのディスクで整合性チェックを実行します。これを行う方法については、スナップショットの整合性を検証するをご覧ください。
hdbpersdiag
ツールの詳細については、SAP ドキュメントの Perform Consistency Checks をご覧ください。ディスク スナップショットのメンテナンス アクティビティを実施する。Google Cloud の SAP 用エージェントは、ディスク スナップショットのメンテナンス アクティビティを実行しません。このため、定期的にスナップショットを確認し、古いスナップショットの削除などを行うことをおすすめします。
ディスク スナップショットに関するベスト プラクティスについては、Compute Engine のディスク スナップショットのベスト プラクティスをご覧ください。