Backint を使用した SAP HANA のバックアップと復元

このプランニング ガイドでは、Google Cloud の SAP 用エージェントの Backint 機能を中心に説明します。この機能を使用すると、SAP HANA のバックアップと復元のオペレーションを実行できます。エージェントとその他の機能の詳細については、Google Cloud の SAP 用エージェントのプランニング ガイドをご覧ください。

SAP HANA システムに対して、Google Cloud の SAP 用エージェントの Backint 機能を使用してバックアップと復元のオペレーションを実行できます。この機能は、Google Cloud、Bare Metal Solution、オンプレミス、その他のクラウド プロバイダで実行されている SAP HANA システムで使用できます。

エージェントの Backint 機能は SAP によって認定されています。この機能は SAP HANA と統合されているため、SAP ネイティブのバックアップと復元機能を使用して、Cloud Storage から直接バックアップの保存や取得を行うことができます。

この機能の構成方法については、SAP HANA の Backint ベースのバックアップと復元を構成するをご覧ください。

Backint を使用して SAP HANA のバックアップと復元を行う方法については、Backint を使用したバックアップと復元の実行をご覧ください。

Backint 機能の SAP 認定については、以下をご覧ください。

毎月の費用の見積もり

Cloud Storage で使用するストレージに対しては料金が発生します。料金については、Cloud Storage の料金をご覧ください。

Google Cloud 料金計算ツールを使用すると、Cloud Storage の毎月の費用を見積もることができます。

費用の見積もりには次の情報が役立ちます。

  • 1 か月に必要なフル バックアップ、差分バックアップ、増分バックアップの合計サイズ(予想される増加率を含む)。
  • SAP HANA データベースによって作成された SAP HANA ログボリュームのバックアップに関する 1 日あたりの変化率。この率に、バックアップ戦略に従ってログ バックアップを保持する日数を掛ける必要があります。
  • バックアップ戦略に適した Cloud Storage バケットのロケーションとタイプ。単一リージョンのバケットはテスト目的でのみ使用する必要があります。
  • Cloud Storage バケットのストレージ クラス。データへのアクセス頻度に合わせてクラスを選択してください。
  • バックアップと復元の両方における、Cloud Storage を使用した 1 か月のクラス A オペレーションとクラス B オペレーションの推定使用量。これらのオペレーションの詳細については、各クラスに分類されるオペレーションをご覧ください。
  • バックアップを使用してデータベースを復元する場合など、リージョン間、リージョン内、マルチリージョンのオペレーションで想定される下り(外向き)ネットワーク。詳細については、Google Cloud 内のデータ転送をご覧ください。

    Cloud Storage へのネットワーク上り(内向き)は無料です。見積もりに含める必要はありません。

Backint 構成ファイル

Google Cloud の SAP 用エージェントの Backint 機能を構成するには、この機能を有効にしたときにエージェントが作成した個々の構成ファイルにパラメータを指定します。

構成ファイルのデフォルトの名前は parameters.json で、デフォルトの保存場所は /usr/sap/SID/SYS/global/hdb/opt/backint/backint-gcs/parameters.json です。

SID は、SAP システムの SID のプレースホルダ変数です。

単一構成にすることも、SAP HANA データ ボリューム、SAP HANA ログボリューム、SAP HANA バックアップ カタログのそれぞれに別の構成ファイルを使用することもできます。ファイル名の変更や、別のディレクトリへの移動などのカスタマイズも可能です。こうしたカスタマイズ手順については、Backint 構成ファイルをカスタマイズするをご覧ください。

Cloud Storage バケットにバックアップを保存する

Google Cloud の SAP 用エージェントの Backint 機能は、SAP HANA バックアップを Cloud Storage バケットに保存します。以降のセクションでは、Cloud Storage バケットの作成と、Google Cloud の SAP 用エージェントがバケットにバックアップを保存する方法について説明します。

Cloud Storage バケットの作成

バケットを作成するときに、バケットのロケーションとバケット ストレージ クラスを選択する必要があります。

バケットのロケーションは、リージョン、デュアルリージョン、またはマルチリージョンのいずれかです。データの場所を制限する必要性、バックアップと復元のレイテンシ要件、リージョンの停止に対する保護要件に応じて、バケットを選択する必要があります。詳細については、バケットのロケーションをご覧ください。

SAP HANA インスタンスが実行されているリージョンと同じ、あるいは近いデュアルリージョン バケットまたはマルチリージョン バケットを選択します。

バックアップを保持する必要がある期間、ストレージにアクセスする頻度、料金に基づいてストレージ クラスを選択します。詳しくは、ストレージ クラスをご覧ください。

バケット内でのバックアップの編成

Google Cloud の SAP 用エージェントは、Cloud Storage バケット内のフォルダを使用して SAP HANA バックアップを整理します。

エージェントは、Backint 機能を使用してバックアップする SAP HANA データベース、システム、またはテナントごとにフォルダを作成します。エージェントは、データベースのフォルダ内に SAP HANA データ ボリューム、SAP HANA ログボリューム、SAP HANA バックアップ カタログのバックアップを保存するフォルダを個別に作成します。

バックアップの名前は、SAP HANA の命名規則に従って設定されます。

Cloud Storage バケット内の SAP HANA バックアップのパスの例を次に示します。

  • システム データベースのバックアップの場合:

    BUCKET_NAME/SID/usr/sap/SID/SYS/global/hdb/backint/SYSTEMDB
  • テナント データベースのバックアップの場合:

    BUCKET_NAME/SID/usr/sap/SID/SYS/global/hdb/backint/DB_TENANT_SID

    次のように置き換えます

    • BUCKET_NAME: Cloud Storage バケットの名前
    • SID: SAP システムのシステム ID
    • TENANT_SID: テナント データベースのシステム ID

バックアップの整理のベスト プラクティス

Cloud Storage バケット内のバックアップを整理するには、次のベスト プラクティスに従ってください。

  • Cloud Storage バケット内のフォルダやファイルの名前は変更しない。

    フォルダまたはファイルの名前を変更すると、実質的にバックアップ パスが変更されます。これは、サードパーティのバックアップ ツールに対して SAP が適用する標準に違反しています。フォルダまたはファイルの名前を変更すると、フォルダまたはファイルをバックアップ作成時の名前に戻すまで、データベースの復元オペレーション中に Backint メカニズムが失敗します。

  • 同じ SAP システム ID(SID)を持つ 2 つ以上の SAP HANA データベースのバックアップの保存に、同じ Cloud Storage バケットを使用しない。

    Cloud Storage では、Google Cloud の SAP 用エージェントが SID 固有のフォルダに SAP HANA バックアップを整理します。したがって、同じバケットに同じ SID の SAP HANA データベースのバックアップを保存すると、バックアップ オペレーションでバックアップが上書きまたは削除されます。

    ただし、すべての SAP HANA ノードに同じ SID を持つ高可用性(HA)、障害復旧(DR)、スケールアウトのデプロイにインストールされた SAP HANA データベースはこのベスト プラクティスの例外です。これらのシステムでは、通常のオペレーションでは 1 つの SAP HANA インスタンスのみがアクティブで、バックアップに書き込まれるため、バックアップは同じ Cloud Storage バケットに保存されます。詳細については、SAP HANA デプロイでの Backint の使用をご覧ください。

サポートされているカスタマイズ

SAP HANA データベースの Backint ベースのバックアップを作成する際に、次のカスタマイズを使用できます。

Backint 構成パラメータ ユースケース
metadata

バックアップのライフサイクル管理などのアクティビティをサポートするために、Key-Value をメタデータとして Cloud Storage バケット内のバックアップ ファイルに関連付けることができます。これを行うには、configurebackint コマンドを実行するときに metadata パラメータを追加します。

このオプションの構成パラメータは、Google Cloud の Agent for SAP バージョン 3.3 以降で使用できます。

folder_prefixrecovery_folder_prefix

異なる SAP HANA システムのバックアップを同じ Cloud Storage バケットに整理するには、バックアップの作成時に folder_prefix パラメータを指定する必要があります。このパラメータには、folder1 などの単一のフォルダ、または folder1/folder2/folder3 などのフォルダのマルチレベルのパスを指定できます。

この構成パラメータは、Google Cloud の Agent for SAP バージョン 3.1 以降で使用できます。

folder_prefix を指定すると、ファイルのパスが自動的に次の形式に変更されます。

  • システム データベースのバックアップの場合、パスは BUCKET_NAME/folder_prefix/SID/usr/sap/SID/SYS/global/hdb/backint/SYSTEMDB/basepath/ebid.bak です。
  • システム データベースの復元の場合、パスは BUCKET_NAME/recovery_folder_prefix/SID/usr/sap/SID/SYS/global/hdb/backint/SYSTEMDB/basepath/ebid.bak です。

バックアップの作成時に folder_prefix パラメータを使用した場合、recovery_folder_prefix パラメータを指定しない限り、復元オペレーション中にエージェントが自動的に使用します。

shorten_folder_path

Cloud Storage バケット内のファイルへのパスを自動的に短縮するには、configurebackint コマンドを実行するときに shorten_folder_path ブール値パラメータを指定します。

この構成パラメータは、Google Cloud の Agent for SAP バージョン 3.3 以降で使用できます。

このパラメータを指定すると、ファイルのパスが自動的に次の形式に短縮されます。

  • システム データベースのバックアップの場合、パスは BUCKET_NAME/SID/usr/sap/SID/SYS/global/hdb/backint/SYSTEMDB/basepath/ebid.bak から BUCKET_NAME/SID/SYSTEMDB/basepath/ebid.bak に短縮されます。
  • テナント データベースのバックアップの場合、パスは BUCKET_NAME/SID/usr/sap/SID/SYS/global/hdb/backint/DB_TENANT_SID/basepath/ebid.bak から BUCKET_NAME/SID/DB_TENANT_SID/basepath/ebid.bak に短縮されます。

folder_prefix パラメータと recovery_folder_prefix パラメータも使用する場合、短縮パスにはフォルダの接頭辞(BUCKET_NAME/FOLDER_PREFIX/SID/...)が含まれます。

バックアップの暗号化オプション

Cloud Storage は設計上、バケットに保存する前に必ずデータの暗号化を行います。データに追加の暗号化レイヤを適用するには、次のいずれかのオプションを使用します。

暗号化オプション 説明
Google Cloud の SAP 用エージェントの Backint 機能で顧客管理の暗号鍵を使用します。 顧客管理の暗号鍵を使用するには、PARAMETERS.json ファイルの kms_key パラメータで鍵のパスを指定する必要があります。また、エージェントが使用するサービス アカウントに鍵へのアクセス権を付与する必要があります。サービス アカウントに暗号鍵へのアクセス権を付与する方法については、Cloud Key Management Service 鍵をサービス エージェントに割り当てるをご覧ください。
Google Cloud の SAP 用エージェントの Backint 機能とともに顧客指定の暗号鍵を使用します。 顧客指定の暗号鍵を使用するには、PARAMETERS.json ファイル内の encryption_key パラメータに鍵のパスを指定します。鍵は、顧客指定の暗号鍵で説明されているように、base64 でエンコードされた AES-256 鍵文字列である必要があります。
SAP HANA バックアップ暗号化を使用します。

このオプションは SAP HANA 2.0 SP01 から利用できます。AES 256 ビットの暗号化を使用して、SAP HANA のデータ ボリュームとログボリュームのバックアップを暗号化できます。SAP HANA バックアップ カタログのバックアップは暗号化されません。この暗号化を使用するには、バックアップの暗号化ルート鍵を作成し、SAP HANA ドキュメントの Encryption Configuration の説明に従って追加の構成を行う必要があります。

SAP HANA 2.0 SPS07 以降では、無効にしない限り、/hana/data/hana/log/hanabackup ボリュームの暗号化はインストール中にデフォルトで有効になります。

ルート鍵のバックアップを作成する方法については、SAP ドキュメントの Back Up Root Keys をご覧ください。

バックアップの暗号化では、バックアップと復元のオペレーション中に追加のメモリと CPU リソースが必要になります。通常、バックアップを暗号化してもバックアップや復元を行っているデータベースのパフォーマンスに影響はありませんが、SAP HANA データベースのサイズが増加したり、CPU 使用率が高くなる可能性があります。

暗号化の制限

バックアップの暗号化には、次の制限が適用されます。

  • kms_keyencryption_key の両方のパラメータを指定すると、Google Cloud の SAP 用エージェントは処理に失敗し、ステータス 1 で終了します。
  • parallel_streams パラメータと一緒に kms_key または encryption_key パラメータを指定すると、Google Cloud の SAP 用エージェントは処理に失敗し、ステータス 1 で終了します。

バックアップの圧縮オプション

バックアップを圧縮するとサイズが小さくなるため、Cloud Storage バケットで使用されるスペースが削減され、ストレージ費用を抑えることができます。ただし、バックアップを圧縮すると、バックアップ オペレーション中により多くの CPU 使用率が必要になり、バックアップと復元の両方のオペレーションの全体的なパフォーマンスに影響する可能性があります。

バックアップを圧縮する代わりに、Cloud Storage の Autoclass 機能の使用を検討してください。この機能は、オブジェクトのアクセス パターンに基づいて、バケット内のオブジェクトを適切なストレージ クラスに自動的に移行します。

SAP HANA のバックアップを圧縮するには、次のいずれかのオプションを使用します。

圧縮オプション 説明
SAP HANA データ バックアップ圧縮を使用する

バックアップの圧縮が必要な場合は、このオプションをおすすめします。

SAP HANA 2.0 SPS06 以降では、バックアップ オペレーションの実行時に LZ4 圧縮アルゴリズムがサポートされます。デフォルトでは、圧縮は無効になっています。この圧縮を有効にする手順については、SAP HANA ドキュメントの Configure Data Backup Compression をご覧ください。

Cloud Storage 圧縮を使用する

Cloud Storage バケットにバックアップを書き込む際にエージェントが実行できる組み込み圧縮機能を使用するには、PARAMETERS.jsoncompress パラメータを使用します。

この圧縮は有効にしないことをおすすめします。

マルチストリーミング データのバックアップ

SAP HANA 2.0 SP05 より前のバージョンの場合、SAP HANA は 128 GB を超えるデータベースのマルチストリーミングをサポートしています。SAP HANA 2.0 SP05 では、このしきい値は SAP HANA パラメータ parallel_data_backup_backint_size_threshold で構成できます。このパラメータにより、マルチストリーミングを有効にするための最小のデータベース バックアップ サイズを GB 単位で指定できます。

マルチストリーミングは、スループットの向上や、Cloud Storage 内の単一オブジェクトの最大サイズである 5 TB を超えるデータベースのバックアップに役立ちます。

マルチストリーミングを有効にするには、SAP HANA パラメータ parallel_data_backup_backint_channels に、使用するチャネル数を設定します。マルチストリーミングに使用する最適なチャネル数は、実行している SAP HANA によって異なります。

また、SAP HANA インスタンスに接続されているデータディスクのスループット能力と、管理者がバックアップ アクティビティに割り当てる帯域幅についても考慮する必要があります。ストリーム数を変更して、スループットを調整できます。また、PARAMETERS.jsonrate_limit_mb パラメータを使用して、スループットを制限することもできます。

マルチリージョンの Cloud Storage バケットの場合は、8 個のチャネルから始めます。リージョン バケットの場合は、12 個のチャネルから始めます。バックアップのパフォーマンス目標を達成するため、必要に応じてチャネル数を調整してください。

SAP HANA のドキュメントに記載されているように、追加チャネルにはそれぞれ 512 MB の I/O バッファが必要です。global.ini ファイルの backup セクションにある data_backup_buffer_size パラメータを適切に使用して、I/O バッファのサイズを指定します。I/O バッファサイズがバックアップ時間に与える影響の詳細については、SAP Note 2657261 - Long Backup duration with Backint in HANA DB をご覧ください。HANA 2.0 SP05 では、このパラメータの最大値は 4 GB に設定されています。Google Cloud でのテストでは、バッファサイズをデフォルトより大幅に増やすメリットは確認できませんでしたが、これはワークロードによって異なる場合があります。

マルチストリーミングの詳細については、使用している SAP HANA バージョンに対応する SAP HANA 管理ガイドの Multistreaming Data Backups with Third-Party Backup Tools をご覧ください。

並列アップロード

SAP HANA ログ バックアップ ファイルの場合、Google Cloud の SAP 用エージェントの並列アップロード機能を有効にすることで、アップロードのパフォーマンスを改善できます。SAP HANA ログ バックアップ ファイルは SAP HANA からマルチストリーミングできないため、この機能は特に便利です。

SAP HANA データ バックアップの場合は、SAP HANA パラメータ parallel_data_backup_backint_channels を使用して、SAP HANA バックアップ チャネルの数を調整できます。

並列アップロードを有効にすると、Google Cloud の SAP 用エージェントは SAP HANA から受信した個々のバックアップ ファイルを複数の部分に分割し、それらを並行してアップロードするため、アップロードのパフォーマンスが向上します。これらの部分は Cloud Storage に受信されると、SAP HANA から Google Cloud の SAP 用エージェントが受信した元の単一ファイルとして再構成されてから保存されます。単一のファイルには、Cloud Storage 内のオブジェクトに対する 5 TB のサイズ上限が適用されます。

並列アップロードの構成

並列アップロード機能を有効にするには、PARAMETERS.json ファイルで parallel_streams パラメータを指定します。

このパラメータの詳細については、構成パラメータをご覧ください。

並列アップロードの制限

並列アップロード機能には、次の制限が適用されます。

  • encryption_key または kms_key パラメータを使用して暗号化を有効にした場合、並列アップロードを使用できません。暗号化は並列アップロードに対応していません。これらの暗号化パラメータのいずれかで parallel_streams パラメータを指定すると、Google Cloud の SAP 用エージェントは処理に失敗し、ステータス 1 で終了します。
  • 圧縮を有効にした場合、並列アップロードを使用できません。圧縮は並列アップロードに対応していません。構成で parallel_streams パラメータを指定し、compress パラメータを省略すると、Google Cloud の SAP 用エージェントは処理に失敗し、ステータス 1 で終了します。
  • Cloud Storage バケットに保持ポリシーが実装されている場合、バケットは並列アップロードをサポートしていません。保持ポリシーにより、各パートを単一のファイルに再構築することが妨げられるため、アップロードは失敗します。

並列アップロードの調整

SAP HANA ではログ バックアップがマルチストリーミングされません。このため、SAP HANA ログボリュームのバックアップで並列アップロードを使用すると、バックアップ スループットが大幅に向上します。

ほとんどの場合、Backint 構成ファイルの parallel_streams パラメータの値は 32 以下で十分です。ログボリュームが非常に大きい場合は、parallel_streams32 などの大きな値を指定し、SAP HANA パラメータ log_segment_size_mbmax_log_backup_size の値を大きくすることで、スループットを最大にすることができます。

バックアップで使用するネットワーク帯域幅を制限するには、Backint 構成パラメータ rate_limit_mb を使用して、並列アップロードで使用できる最大帯域幅を設定します。

認証とアクセス制御

Google Cloud では、サービス アカウントを使用して Google Cloud の SAP 用エージェントなどのプログラムを識別し、プログラムがアクセスできる Google Cloud リソースを制御します。

必要な Cloud Storage 権限

Google Cloud の SAP 用エージェントが Cloud Storage バケットからバックアップを保存および取得できるようにするには、ホストが使用するサービス アカウントに IAM ロールの Storage オブジェクト管理者(storage.objectAdminを付与する必要があります。

IAM ロールの設定手順については、IAM ロールを設定するをご覧ください。

サービス アカウントに関する考慮事項

SAP HANA が Compute Engine インスタンスで実行されている場合、デフォルトでは、Google Cloud の SAP 用エージェントはコンピューティング インスタンスのサービス アカウントを使用します。コンピューティング インスタンスのサービス アカウントを使用する場合、エージェントには、コンピューティング インスタンスのサービス アカウントを使用する他のすべてのプログラムおよびプロセスと同じプロジェクト レベルの権限が付与されます。

最も厳密なアクセス制御を行うには、エージェント用に別のサービス アカウントを作成し、サービス アカウントにバケットレベルで Cloud Storage バケットへのアクセス権を付与します。

SAP HANA が Compute Engine インスタンスで実行されていない場合は、エージェントにサービス アカウントを作成する必要があります。Google Cloud の SAP 用エージェントがバックアップと復元に使用する Cloud Storage バケットを含む Google Cloud プロジェクトにサービス アカウントを作成します。

Google Cloud の SAP 用エージェントのサービス アカウントを作成する場合は、サービス アカウント キーを作成する必要もあります。鍵を SAP HANA ホストに保存し、鍵のパスを PARAMETERS.jsonservice_account_key パラメータに指定します。SAP HANA が Compute Engine インスタンスで実行されている場合、鍵のパスを指定すると、Google Cloud の SAP 用エージェントは、コンピューティング インスタンスのサービス アカウントではなく、鍵に関連付けられたサービス アカウントを使用します。

Cloud Key Management Service によって生成された顧客管理の暗号鍵を使用して Cloud Storage のバックアップを暗号化する場合は、サービス アカウントに暗号鍵へのアクセス権を付与する必要があります。詳細については、Cloud Key Management Service 鍵をサービス エージェントに割り当てるをご覧ください。

Google Cloud APIs とメタデータ サーバーへのアクセス

Google Cloud の SAP 用エージェントは、バックアップと復元のオペレーション中に Google Cloud の IP アドレスとホストにアクセスする必要があります。

詳細については、Cloud APIs とメタデータ サーバーへのアクセスを有効にするをご覧ください。

プロキシ サーバーとエージェント

デフォルトでは、Google Cloud の SAP 用エージェントは HTTP プロキシをバイパスし、オペレーティング システムの http_proxyhttps_proxyno_proxy などのプロキシ環境変数を読み取りません。

ほかに代替手段がないか、組織がパフォーマンスの影響を理解し、プロキシ サーバー経由のバックアップ ルーティングのパフォーマンスをサポートするために必要な専門知識がある場合は、プロキシを使用するようにエージェントを構成できます。

Google Cloud の SAP 用エージェントのプロキシ設定は、net.properties ファイルに含まれています。

/usr/sap/SID/SYS/global/hdb/opt/backint/backint-gcs/jre/conf/net.properties

バックアップと復元のためにプロキシ サーバーをバイパスする

Google Cloud の SAP 用エージェントは、デフォルトではプロキシ サーバーをバイパスしますが、必要な Google Cloud ドメイン名と IP アドレスを net.properties ファイル(/usr/sap/SID/SYS/global/hdb/opt/backint/backint-gcs/jre/conf/net.properties)の http.nonProxyHosts パラメータに指定することで、明示的にバイパスすることができます。例:

http.nonProxyHosts=localhost|127.*|[::1]|*.googleapis.com|169.254.169.254|metadata.google.internal

バックアップと復元にプロキシ サーバーを使用する

プロキシ サーバー経由でバックアップを送信するように Google Cloud の SAP 用エージェントを構成するには、net.properties ファイル(/usr/sap/SID/SYS/global/hdb/opt/backint/backint-gcs/jre/conf/net.properties)にプロキシホストとポート番号のパラメータを指定します。

Compute Engine インスタンス メタデータに対するクエリに対して、Google Cloud の SAP 用エージェントはプロキシを使用できないため、インスタンス メタデータのドメイン名と IP アドレスを http.nonProxyHosts パラメータに指定する必要があります。

次の例は、net.properties ファイルの Google Cloud の SAP 用エージェントの有効なプロキシ構成を示しています。

http.proxyHost=PROXY_HOST
http.proxyPort=PROXY_PORT
http.nonProxyHosts=localhost|127.*|[::1]|169.254.169.254|metadata.google.internal
https.proxyHost=PROXY_HOST
https.proxyPort=PROXY_PORT

パフォーマンスの調整

SAP HANA データベースのバックアップと復元のパフォーマンスは、データベースの合計サイズと SAP HANA ホストで使用可能なリソースによって異なります。パフォーマンスを向上させるには、SAP HANA と Google Cloud の SAP 用エージェントで使用可能な次の構成オプションを使用します。

  • SAP HANA パラメータ parallel_data_backup_backint_channels を使用してマルチストリーミングを有効にします。また、SAP HANA パラメータ data_backup_buffer_size を使用して、I/O バッファのサイズを指定します。詳細については、マルチストリーミング データのバックアップをご覧ください。
  • 並列アップロードを有効にするには、Backint 構成ファイル PARAMETERS.jsonparallel_streams パラメータの値を指定します。この構成により、SAP HANA ログ バックアップを Cloud Storage に送信するパフォーマンスが大幅に向上します。詳細については、並列アップロードをご覧ください。
  • バックアップを圧縮する必要がある場合は、推奨の圧縮オプションである SAP HANA の組み込み圧縮機能を使用してください。詳細については、バックアップの圧縮オプションをご覧ください。
  • SAP HANA ドキュメントの Find the Optimal Log Backup Configuration の説明に従って、SAP HANA ログのバックアップに関連する構成を最適化します。ご使用の SAP HANA バージョンの SAP HANA 管理ガイドをご覧ください。
  • SAP HANA システムが Compute Engine インスタンスで実行されている場合は、SAP 認定の Persistent Disk または Hyperdisk ボリュームを使用していることを確認します。他のディスクタイプを使用すると、特に SAP HANA データ ボリュームの場合、バックアップのパフォーマンスに悪影響を及ぼす可能性があります。認定されたディスクタイプについては、サポートされているディスクタイプをご覧ください。

自己診断

ネットワーク接続と Cloud Storage バケットへのアクセスをテストできるように、Google Cloud の SAP 用エージェントのバージョン 3.0 以降には自己診断ツールが用意されています。

このツールを実行すると、ファイル システム上にいくつかの一時ファイルが作成されます。これらの一時ファイルを作成するには、/tmp に少なくとも 18 GB のディスク空き容量が必要です。これらのファイルは Cloud Storage バケットにアップロードされ、復元、検証、削除されます。このツールは、API アクセスの問題を出力します。

compress パラメータを有効にし、parallel_streamsthreads などのパラメータに異なる値を指定して、バックアップのパフォーマンスをテストすることもできます。このツールを使って、オプションのパラメータ diagnose_file_max_size_gbdiagnose_tmp_directory を使用できます。これらのパラメータの詳細については、構成パラメータの説明をご覧ください。

Google Cloud の SAP 用エージェントの自己診断の手順については、バックアップと復元を検証するをご覧ください。

Backint 指標を収集する

Backint ベースのオペレーションの場合、Google Cloud の SAP 用エージェントは、アップロード ファイルとダウンロード ファイルのステータスとスループットを示す指標を収集できます。これらの指標は、ファイルのアップロードまたはダウンロードの直後に収集されます。これは、デフォルトで有効になっているオプション機能です。この機能を無効にするには、PARAMETERS.json 構成ファイルで send_metrics_to_monitoring パラメータの値を false に設定します。Monitoring の料金については、Monitoring の費用をご覧ください。

次の表に、Google Cloud の SAP 用エージェントが収集できる Backint 関連の指標を示します。この表の指標文字列は workload.googleapis.com/ で始まりますが、この表のエントリでは省略しています。

指標 ラベル 説明
sap/agent/backint/backup/status fileName: アップロードしたファイルの名前。
fileSize: アップロードされたファイルのサイズ(バイト単位)。値 0 は、アップロードが失敗したことを示します。
この指標は、Cloud Storage バケットにアップロードされたすべてのファイルに対して送信されます。
  • true は、ファイルが正常にアップロードされたことを示します。
  • false は、ファイルのアップロードに失敗したことを示します。
sap/agent/backint/backup/throughput fileName: アップロードしたファイルの名前。
fileSize: アップロードされたファイルのサイズ(バイト単位)。
transferTime: 転送が完了するまでに要した合計時間(秒)。これには、ネットワーク、ディスク、メモリに関するすべてのオペレーションが含まれます。
この指標は、アップロードが成功し、fileSize が少なくとも 1 GB の場合に送信されます。指標の値は、平均ネットワーク転送速度(MBps)を示します。
sap/agent/backint/restore/status fileName: ダウンロードされたファイルの名前。
fileSize: ダウンロードされたファイルのサイズ(バイト単位)。値 0 は、ダウンロードが失敗したことを示します。
この指標は、Cloud Storage バケットからダウンロードされたすべてのファイルに対して送信されます。
  • true は、ファイルが正常にダウンロードされたことを示します。
  • false は、ファイルのダウンロードに失敗したことを示します。
sap/agent/backint/restore/throughput fileName: ダウンロードされたファイルの名前。
fileSize: ダウンロードされたファイルのサイズ(バイト単位)。
transferTime: 転送が完了するまでに要した合計時間(秒)。これには、ネットワーク、ディスク、メモリに関するすべてのオペレーションが含まれます。
この指標は、ダウンロードが成功し、fileSize が 1 GB 以上の場合に送信されます。この値は、平均ネットワーク転送速度(Mbps)を示します。

ロギング

SAP HANA では backup.log にログが保存されますが、Google Cloud の SAP 用エージェントの Backint 機能は、それに加えて、オペレーション イベントと通信エラーイベントを /usr/sap/SID/SYS/global/hdb/opt/backint/backint-gcs/logs ディレクトリのログファイルに記録します。

これらのログは、/var/log/google-cloud-sap-agent/ ディレクトリにある Google Cloud の SAP 用エージェントのメイン ログファイルにも記録されています。

ログファイルのサイズが 25 MB に達すると、Google Cloud の SAP 用エージェントがログファイルをローテーションします。

デフォルトでは、Google Cloud の SAP 用エージェントは Backint 関連のログファイルを Cloud Logging に送信します。これを無効にするには、PARAMETERS.json ファイルで log_to_cloud パラメータの値を false に設定します。

SAP HANA デプロイでの Backint の使用

以降のセクションでは、SAP HANA で Google Cloud の SAP 用エージェントの Backint 機能を使用するための計画情報をシナリオ別に説明します。

HA デプロイでの Backint の使用

SAP HANA 高可用性(HA)クラスタでは、クラスタ内の各ノードに Google Cloud の SAP 用エージェントをインストールし、Backint 機能を有効にする必要があります。

HA クラスタ内の SAP HANA インスタンスごとに、同じ Backint 構成と同じ Cloud Storage バケット仕様を使用します。通常のオペレーションでは、HA 構成のアクティブな SAP HANA インスタンスのみが Cloud Storage にバックアップを書き込み、セカンダリ システムはレプリケーション モードであるため、同じバケット仕様を使用できます。SAP HANA データ ボリューム、SAP HANA ログボリューム、SAP HANA バックアップ カタログのバックアップがこれに該当します。さらに、Pacemaker などのアプリケーション クラスタリング ソフトウェアは、スプリット ブレインのシナリオを回避します。これは、クラスタ内の複数の SAP HANA インスタンスが、複数のシステムをプライマリ インスタンスと見なすためです。

メンテナンス動作中にクラスタリングが無効になると、スタンバイのデータベースがレプリケーションから削除されてオンラインに戻ったときに、プライマリ データベースでのみバックアップがトリガーされるようにする必要があります。次のオプションを使用できます。

  • PARAMETERS.json ファイルで、別の Cloud Storage バケットを指すように bucket パラメータを更新します。
  • Cloud Storage へのバックアップの送信が失敗するように、/usr/sap/SID/SYS/global/hdb/opt/hdbbackint のシンボリック リンクを解除します。短期的には、このオプションは新しいデータベースをスタンバイ データベースとして再構成する場合に有用です。

Google Cloud の SAP 用エージェントは、どの SAP HANA インスタンスがアクティブなインスタンスであるかを認識しません。また、エージェントにはバックアップをスケジュールまたはトリガーするメカニズムがないため、SAP ABAP トランザクション DB13 などの SAP メカニズムを使用して、バックアップのスケジュールとトリガーを管理します。SAP ABAP アプリケーションは仮想 IP 経由で HA クラスタに接続するため、バックアップ トリガーは常にアクティブな SAP HANA インスタンスにルーティングされます。

バックアップ トリガーが各サーバーでローカルに定義されており(たとえば、ローカル オペレーティング システムのスクリプトとして)、プライマリ システムとセカンダリ システムの両方が、両方ともアクティブ システムであるとみなした場合は、両システムとも Cloud Storage バケットにバックアップの書き込みを試みる可能性があります。

これらの状況を管理しないと、HA クラスタ内の複数の SAP HANA インスタンスが Cloud Storage にバックアップを書き込み、バックアップが上書きされたり、削除される可能性があります。

DR シナリオでの Backint の使用

非同期 SAP HANA システム レプリケーションを使用して、別の Google Cloud リージョンにある SAP HANA のリカバリ インスタンスの同期を維持する障害復旧(DR)構成では、バックアップと復元オペレーションに異なる Cloud Storage バケットを使用します。これを構成するには、PARAMETERS.json ファイルの bucket パラメータと recovery_bucket パラメータにバケット名を指定します。

通常、DR システムはレプリケーション モードのため、バックアップ自体を実行できませんが、定期的な障害復旧テスト中は、リカバリ インスタンスがオンラインになり、バックアップをトリガーすることがあります。その状況で、復旧システムが別の Cloud Storage バケットを使用していない場合は、バックアップによってプライマリ データベースのデータが上書きされる可能性があります。

実際の障害の場合は、バックアップから DR リージョンへの復旧が必要となるため、Backint 機能の構成を更新して、プライマリ HA システムが使用するマルチリージョン Cloud Storage バケットを参照できます。

スケールアウト システムでの Backint の使用

SAP HANA スケールアウト システムでは、システム内の各ノードに Google Cloud の SAP 用エージェントをインストールする必要があります。

PARAMETERS.json ファイルの管理を簡素化するために、エージェントのサービス アカウント キーを使用している場合は、これらのファイルを共有 NFS ディレクトリに配置できます。

SAP HANA のファイル システム レイアウトに関する SAP の推奨事項については、ご使用の SAP HANA バージョンの SAP HANA Server Installation and Update Guide で推奨されるファイル システム レイアウトをご確認ください。