SAP HANA 運用ガイド

このガイドでは、GCP への SAP HANA デプロイガイドに従って Google Cloud Platform(GCP)にデプロイした SAP HANA システムを運用する手順について説明します。このガイドは、標準の SAP ドキュメントに代わるものではありません。

GCP 上の SAP HANA システムの管理

このセクションでは、SAP HANA システムの運用に必要な管理タスク(システムの起動、停止、クローンの作成など)の実行方法を示します。

インスタンスの起動と停止

1 つまたは複数の SAP HANA ホストをいつでも停止できます。インスタンスを停止すると、インスタンスはシャットダウンされます。シャットダウンが 2 分以内に完了しない場合、インスタンスは強制停止されます。インスタンスを停止する前に、インスタンスで実行されている SAP HANA を停止することをおすすめします。

VM の停止

仮想マシン(VM)インスタンスを停止すると、Compute Engine は ACPI 電源切断信号をインスタンスに送信します。インスタンスの停止後、Compute Engine インスタンスは課金されません。インスタンスに永続ディスクを接続している場合、それらのディスクは削除されず、課金されます。

永続ディスクのデータが重要である場合は、永続ディスクを保持できます。または、コストを削減するために、永続ディスクのスナップショットを作成してディスクを削除することもできます。データが再度必要になったときは、スナップショットから別のディスクを作成します。

インスタンスを停止するには:

  1. Google Cloud Platform Console で、[VM インスタンス] ページに移動します。

    [VM インスタンス] ページに移動

  2. 停止するインスタンスを選択します。インスタンスは複数選択できます。

  3. [VM インスタンス] ページの上部にある [停止] stop をクリックします。

詳細については、インスタンスの停止をご覧ください。

VM の再起動

  1. GCP Console で、[VM インスタンス] ページに移動します。

    [VM インスタンス] ページに移動

  2. 再起動するインスタンスを選択します。

  3. ページの右上にある [起動] play_arrow をクリックしてインスタンスを再起動します。

詳細については、インスタンスの再起動をご覧ください。

SAP HANA のスナップショットを作成する

永続ディスクの特定の時点におけるバックアップを生成するには、スナップショットを作成します。Compute Engine は、各スナップショットの複数のコピーを複数の場所に重複して保存し、自動チェックサムを使用してデータの整合性を確保します。

スナップショットを作成するには、スナップショットの作成に記載されている Compute Engine の手順に従います。スナップショットの一貫性を確保するため、スナップショットを作成する前の準備手順(ディスク バッファをディスクにフラッシュするなど)に注意してください。

スナップショットは、次のユースケースに役立ちます。

ユースケース 詳細
ソフトウェアに依存しない簡単で費用対効果の高いデータ バックアップ ソリューションを提供する。 スナップショットを使用して、データ、ログ、バックアップ、共有ディスクをバックアップします。データセット全体の特定の時点におけるバックアップを保存するため、それらのディスクの日次バックアップのスケジュールを設定します。最初のスナップショットを作成したら、その後のスナップショットでは増分ブロック変更のみを格納します。これはコストの削減に役立ちます。
別のストレージ タイプに移行する。 永続ディスクには、標準(磁気ディスク)と SSD の 2 種類のストレージ タイプがあり、それぞれコストとパフォーマンス特性が異なります。たとえば、バックアップ ボリュームには標準タイプを使用し、より高いパフォーマンスが求められるログとデータのボリュームには SSD を使用します。別のストレージ タイプに移行するには、ボリュームのスナップショットを使用して新しいボリュームを作成し、別のストレージ タイプを選択します。
SAP HANA を別のリージョンまたはゾーンに移行する。 スナップショットを使用して、SAP HANA システムを同じリージョン内の別のゾーンか、または別のリージョンに移動します。スナップショットを GCP 内でグローバルに使用して、別のゾーンまたはリージョンにディスクを作成できます。別のリージョンまたはゾーンに移行するには、ルートディスクを含むディスクのスナップショットを作成した後、それらのスナップショットから作成したディスクを使用して、目的のゾーンまたはリージョンに仮想マシンを作成します。

SAP HANA システムのクローンを作成する

GCP 上に存在する SAP HANA システムのスナップショットを作成することにより、システムの正確なクローンを作成できます。

単一ホストの SAP HANA システムのクローンを作成するには:

  1. データとバックアップ ディスクのスナップショットを作成します。

  2. スナップショットを使用して新しいディスクを作成します。

  3. Google Cloud Platform Console で、[VM インスタンス] ページに移動します。

    [VM インスタンス] ページに移動

  4. クローンを作成するインスタンスをクリックしてインスタンスの詳細ページを開き、[クローンを作成] をクリックします。

  5. スナップショットから作成したディスクを接続します。

マルチホストの SAP HANA システムのクローンを作成するには:

  1. クローンを作成する SAP HANA システムと同じ構成の新しい SAP HANA システムをプロビジョニングします。

  2. 元のシステムのデータ バックアップを実行します。

  3. 元のシステムのバックアップを新しいシステムとして復元します。

Cloud SDK のインストールと更新

SAP HANA 用の VM をデプロイしてオペレーティング システムをインストールしたら、さまざまな目的のために最新の Cloud SDK が必要になります。たとえば、Cloud Storage とのファイルの転送、ネットワーク サービスとの通信などです。

SAP HANA デプロイガイドの手順を実施すれば、Cloud SDK は自動的にインストールされます。

しかし、独自のオペレーティング システムをカスタム イメージとして GCP に実装する場合や、GCP により提供された古い公開イメージを使用している場合は、Cloud SDK を手動でインストールまたは更新する必要があります。

Cloud SDK がインストールされているかどうか、および更新が可能かどうかを確認するには、ターミナルまたはコマンド プロンプトを開いて次のコマンドを入力します。

 gcloud version

このコマンドが認識されない場合、Cloud SDK はインストールされていません。

Cloud SDK をインストールするには、Cloud SDK クイックスタートの手順に従います。

SLES に統合された Cloud SDK のバージョン 140 以前を差し替えるには:

  1. ssh を使用して VM にログインします。

  2. スーパー ユーザーに切り替えます。

     sudo su
    
  3. 次のコマンドを入力します。

     bash <(curl -s https://dl.google.com/dl/cloudsdk/channels/rapid/install_google_cloud_sdk.bash) --disable-prompts --install-dir=/usr/local
     update-alternatives --install /usr/bin/gsutil gsutil /usr/local/google-cloud-sdk/bin/gsutil 1 --force
     update-alternatives --install /usr/bin/gcloud gcloud /usr/local/google-cloud-sdk/bin/gcloud 1 --force
     gcloud --quiet compute instances list
    

SAProuter を使用して SAP サポート チャネルを設定する

SAP のサポート エンジニアが GCP 上の SAP HANA システムにアクセスできるようにする必要がある場合は、SAProuter でそれを実現できます。手順は次のとおりです。

  1. SAProuter ソフトウェアをインストールする Compute Engine VM インスタンスを起動し、インスタンスがインターネットにアクセスできるように外部 IP アドレスを割り当てます。

  2. 新しい静的外部 IP アドレスを作成し、インスタンスにこの IP アドレスを割り当てます。

  3. ネットワークに特定の SAProuter ファイアウォール ルールを作成して構成します。このルールでは、SAProuter インスタンスに対して、SAP サポート ネットワークへの必要な受信アクセスと送信アクセスのみを許可します。

    受信アクセスと送信アクセスを、SAP が接続用に提供する特定の IP アドレスと、TCP ポート 3299 に制限します。ターゲットタグをファイアウォール ルールに追加してインスタンス名を入力します。これにより、ファイアウォール ルールは新しいインスタンスにのみ適用されます。ファイアウォール ルールの作成と構成に関する詳細については、ファイアウォール ルールのドキュメントをご覧ください。

  4. SAP ノート 1628296 に従って SAProuter ソフトウェアをインストールし、SAP から GCP 上の SAP HANA システムへのアクセスを許可する saprouttab ファイルを作成します。

  5. SAP との接続を設定します。インターネット接続には、セキュア ネットワーク コミュニケーションを使用します。詳細については、SAP リモート サポートのヘルプをご覧ください。

ネットワークを構成する

GCP 上の SAP HANA システムは、GCP 仮想ネットワークで VM を使用してプロビジョニングされています。GCP は、最先端のソフトウェア定義ネットワークと分散システム技術により、世界中でサービスをホストし、配信しています。

SAP HANA に対しては、ネットワーク内の各サブネットワークの CIDR IP アドレス範囲と重複しないような、デフォルトでないサブネット ネットワークを作成します。各サブネットワークとその内部 IP アドレス範囲は、単一のリージョンにマッピングされることに注意してください。

サブネットワークは、サブネットワークが作成されたリージョン内のすべてのゾーンにわたって広がります。ただし、VM インスタンスを作成する際には、VM のゾーンとサブネットワークを指定します。たとえば、必要に応じて、subnetwork1region1zone1 に 1 組のインスタンスを作成し、subnetwork2region1zone2 にもう 1 組のインスタンスを作成できます。

新しいネットワークにはファイアウォール ルールがなく、したがってネットワーク アクセスもありません。最小権限モデルに基づいて、SAP HANA インスタンスへのアクセスを可能にするファイアウォール ルールを作成する必要があります。ファイアウォール ルールはネットワーク全体に適用されますが、タグ付けメカニズムにより特定のターゲット インスタンスに適用されるように構成することもできます。

ルートは 1 つのネットワークに接続されるグローバルなリソースであり、リージョンに限定されません。ユーザーが作成したルートは、ネットワーク内のすべてのインスタンスに適用されます。つまり、外部 IP アドレスを指定しなくても、同じネットワーク内のインスタンス間で、サブネットワークを越えてトラフィックを転送するルートを追加できます。

SAP HANA インスタンスについては、外部 IP アドレスを指定せずにインスタンスを起動し、別の VM を外部アクセス用の NAT ゲートウェイとして構成します。この構成では、SAP HANA インスタンスのルートとして NAT ゲートウェイを追加する必要があります。この手順については、デプロイガイドをご覧ください。

セキュリティ

このセクションでは、セキュリティの運用について説明します。

最小権限モデル

防御の最前線として、インスタンスにアクセスできるユーザーを制限するファイアウォールを使用します。ファイアウォール ルールを作成すると、特定のポートでネットワークやターゲット マシンに流れ込むすべてのトラフィックを、特定のソース IP アドレスからのものだけに制限できます。最小権限モデルに従って、アクセスを必要とする特定の IP アドレス、プロトコル、ポートにのみアクセスを許可する必要があります。たとえば、踏み台インスタンスを常時設定して、そこから SAP HANA システムにアクセスする SSH のみを許可します。

構成の変更

SAP HANA システムとオペレーティング システムを、推奨されるセキュリティ設定で構成する必要があります。たとえば、必要なネットワーク ポートのみがアクセス用のホワイトリストに登録されていることを確認して、SAP HANA を実行するオペレーティング システムのセキュリティを強化します。

以下の SAP ノートをご覧ください。

不要な SAP HANA サービスを無効にする

SAP HANA 拡張アプリケーション サービス(SAP HANA XS)が不要な場合は、このサービスを無効にします。SAP ノート 1697613: Remove XS Engine out of SAP HANA database をご覧ください。

サービスを無効にした後、そのサービス用に開いていたすべての TCP ポートを削除します。これは、GCP では、ネットワークのファイアウォール ルールを編集して、ホワイトリストからそれらのポートを削除することを意味します。

監査ロギング

Cloud Audit Logs は、管理アクティビティとデータアクセスという 2 つのログストリームで構成されます。どちらのログも GCP によって自動的に生成されます。これらは、Google Cloud Platform プロジェクトで「誰がいつどこで何をしたか」という疑問に答えるのに役立ちます。

管理アクティビティ ログには、サービスまたはプロジェクトの構成またはメタデータを変更する API 呼び出しや管理アクションのログエントリが記録されます。このログは常時有効になっており、プロジェクトの全員が見ることができます。

データアクセス ログには、サービスが管理するユーザー入力データ(データベース サービスに格納されているデータなど)の作成、変更、読み取りを行う API 呼び出しのログエントリが記録されます。このロギングは、プロジェクトでデフォルトで有効になっており、Stackdriver Logging またはアクティビティ フィードを通じて参照できます。

Cloud Storage バケットの保護

Cloud Storage でデータとログのバックアップをホストする場合、転送中のデータを保護するために、インスタンスから Cloud Storage にデータを送信する際は必ず TLS(HTTPS)を使用してください。Cloud Storage は保存データを自動的に暗号化します。独自の鍵管理システムを使用している場合は、独自の暗号鍵を指定できます。

Cloud Storage のおすすめの方法については、Cloud Storage のセキュリティのドキュメントをご覧ください。

GCP 上の SAP HANA 環境については、以下のセキュリティ リソースもご覧ください。

GCP 上の SAP HANA の高可用性

GCP には、Compute Engine のライブ マイグレーションや自動再起動機能など、SAP HANA システムの高可用性を確保するためのさまざまなオプションがあります。それらの機能を使用すれば、Compute Engine VM の 1 か月あたりの稼働率が高いこともあって、スタンバイ システムに対する支払いやメンテナンスが不要になることもあります。

ただし、必要であれば、SAP HANA ホストの自動フェイルオーバー用のスタンバイ ホストを含む、マルチホストのスケールアウト システムをデプロイできます。また、可用性の高い Linux クラスタ内にスタンバイ SAP HANA インスタンスを設定したスケールアップ システムをデプロイすることもできます。

GCP 上の SAP HANA の高可用性オプションの詳細については、SAP HANA 高可用性および障害復旧プランニング ガイドをご覧ください。

障害復旧

SAP HANA システムには、ソフトウェア レベルまたはインフラストラクチャ レベルの障害に対して SAP HANA データベースの耐久性を確保する高可用性機能がいくつか用意されています。そうした機能の中に SAP HANA システム レプリケーションと SAP HANA バックアップがあり、いずれも GCP でサポートされています。

SAP HANA バックアップの詳細については、バックアップと復元をご覧ください。

システム レプリケーションの詳細については、SAP HANA 高可用性および障害復旧プランニング ガイドをご覧ください。

バックアップと復元

バックアップは、記録システム(データベース)を保護するために不可欠です。SAP HANA はインメモリ データベースなので、データが破損したインスタンスを復元できるように、定期的にバックアップを作成する必要があります。そのために、SAP HANA システムに元から備わっているバックアップと復元機能を利用できます。SAP HANA バックアップのバックアップ先として、Cloud Storage などの GCP サービスを使用できます。

Cloud Storage Backint agent for SAP HANA をインストールして、バックアップと復元に Cloud Storage を直接使用することもできます。

このドキュメントは、読者が SAP HANA のバックアップと復元に加えて、以下の SAP サービスノートに精通していることを前提としています。

Compute Engine の永続ディスクと Cloud Storage をバックアップに使用する

こちらのデプロイ手順を実施していれば、/hanabackup ディレクトリを含む SAP HANA がインストールされています。これは、標準の永続ディスクでバックアップされます。標準の SAP ツールを使用して、/hanabackup ディレクトリにオンライン データベース バックアップを作成します。バックアップが完了したら、Cloud Storage バケットにアップロードして保存します。復元する必要が生じたときは、そこからバックアップをダウンロードできます。

Compute Engine を使用してバックアップとディスク スナップショットを作成する

Compute Engine を使用して SAP HANA をバックアップできます。また、永続ディスク スナップショットを使用して、データとログをホストしているディスク全体をバックアップすることもできます。

デプロイガイドの手順を実施していれば、オンライン データベース バックアップ用の /hanabackup ディレクトリを含む SAP HANA がインストールされています。このディレクトリにバックアップ ボリュームのスナップショットを格納し、データとログの特定の時点におけるバックアップを保持できます。

スナップショットの利点は増分のみが保存されることです。2 回目以降の各バックアップでは、まったく新しいバックアップが作成されるのではなく、増分ブロック変更のみが格納されます。Compute Engine は、各スナップショットの複数のコピーを複数の場所に重複して保存し、自動チェックサムを使用してデータの整合性を確保します。

次の図は増分バックアップを表しています。

スナップショットの図

バックアップ先として Cloud Storage を使用する

Cloud Storage はデータの耐久性と可用性が高いため、SAP HANA のバックアップ先として適しています。

Cloud Storage は、あらゆるタイプや形式のファイルを格納できるオブジェクト ストアです。容量は事実上無制限であり、プロビジョニングや容量の追加を気にする必要がありません。Cloud Storage 内のオブジェクトはファイルデータとそれに関連付けられたメタデータで構成され、最大許容サイズは 5 TB です。Cloud Storage バケットには、任意の数のオブジェクトを格納できます。

Cloud Storage では、データが複数の場所に保存されるため、耐久性と可用性が高くなります。Cloud Storage へのデータのアップロードや Cloud Storage 内のデータのコピーを行った場合、Cloud Storage はオブジェクトの冗長性が確保されたときだけ操作が成功したと報告します。

Cloud Storage を使用する場合の各種のストレージ オプションを次の表に示します。

必要なデータアクセス 推奨される Cloud Storage オプション
アクセス頻度が高い 1 か月に何度もバックアップにアクセスする場合は、Multi-Regional Storage クラスまたは Regional Storage クラスを選択します。Multi-Regional Storage は、データがバケットのマルチリージョン ロケーション内で最短で 100 マイル離れた最低 2 つのリージョンに重複して保存されるため、障害復旧に役立ちます。Multi-Regional Storage として保存するデータは、米国、EU、アジアなど、マルチリージョンのロケーションにのみ配置できます。us-central1asia-east1. など、特定のリージョンのロケーションには配置できません。
アクセス頻度が低い アクセス頻度が低いデータについては、Nearline または Coldline のストレージを選択します。Nearline は、バックアップ データにアクセスする頻度が最大でも 1 か月に 1 回程度と見込まれる場合に適しています。一方、Coldline はアクセスする頻度がかなり低い(1 年に 1 回程度)と見込まれる場合に適しています。テープベースのバックアップ ソリューションは、Nearline または Coldline に置き換えることを検討してください。

上記のストレージ オプションの使用を計画する場合は、アクセスする頻度が高い順に、バックアップ データを保存する階層を検討します。一般的に、バックアップは古くなるにつれて使用する機会が減少します。3 年前のバックアップが必要になる可能性はきわめて低いので、そうしたバックアップを Coldline 階層に保存することでコストを削減できます。Coldline のコストは、現在 1 GB あたり月額 0.7 セントです。

Cloud Storage とテープ バックアップの比較

従来のオンプレミスのバックアップ先は、テープです。Cloud Storage にはテープよりも多くの利点があります。たとえば、Cloud Storage のデータは複数の施設で複製されるため、ソースシステムのバックアップを「オフサイト」に自動的に保存できます。これは、Cloud Storage に保存されるバックアップの可用性が高いことも意味します。

もう 1 つの大きな違いは、バックアップが必要になったときにバックアップを復元する速度です。バックアップから新しい SAP HANA システムを作成したり、バックアップから既存のシステムを復元したりする必要がある場合、Cloud Storage はデータアクセスが高速なので、速やかにシステムを構築できます。

Cloud Storage Backint agent for SAP HANA

SAP 認定の Cloud Storage Backint agent for SAP HANA(Backint エージェント)を使用すると、オンプレミス インストールとクラウド インストールの両方のバックアップと復元に、Cloud Storage を直接使用できます。

は、

Backint エージェントは SAP HANA と統合されているため、SAP に元から備わっているバックアップと復元機能を使用して、Cloud Storage から直接バックアップの保存と取得ができます。

Backint エージェントを使用する場合、バックアップに永続ディスク ストレージを使用する必要はありません。

Backint エージェントのインストール手順については、Cloud Storage Backint agent for SAP HANA インストール ガイドをご覧ください。

Backint エージェントの SAP 認定の詳細については、以下をご覧ください。

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

バックアップと復元にバケットを使用する SAP HANA インスタンスがそのバケットと同じリージョンで実行されることが確実でない限り、マルチリージョン バケットを使用してください。

GCP 上で SAP HANA を実行している場合、デフォルトのアプリケーション認証を使用できるように、バケットを使用する SAP HANA インスタンスと同じ GCP プロジェクトにバケットを作成します。

Backint エージェントを使用したデータ バックアップのマルチストリーミング

Backint エージェントは、128 GB を超えるバックアップのマルチストリーミングをサポートしています。

マルチストリーミングは、スループットを向上させる効果があります。また、Cloud Storage に保存される各オブジェクトの最大サイズである 5 TB を超えるデータベースをバックアップするのに役立ちます。

マルチストリーミングに使用するチャネルの最適な数は、使用している Cloud Storage バケットのタイプと SAP HANA を実行している環境によって異なります。また、HANA インスタンスに接続されているデータディスクのスループット能力と、管理者がバックアップ アクティビティに割り当てる帯域幅についても考慮する必要があります。

ストリーム数を変更すれば、スループットを調整できます。また、Backint エージェントの構成ファイル parameters.txt#RATE_LIMIT_MB パラメータにより、スループットを制限できます。

マルチリージョン バケットの場合は、SAP HANA の global.ini 構成ファイルの parallel_data_backup_backint_channels パラメータを 8 に設定して、8 個のチャネルから始めます。

リージョン バケットの場合は、global.ini ファイルの parallel_data_backup_backint_channels12 に設定して、12 個のチャネルから始めます。

バックアップのパフォーマンス目標を達成するため、必要に応じてチャネル数を調整してください。

SAP HANA のドキュメントに記載されているように、追加チャネルにはそれぞれ 512 MB の I/O バッファが必要です。I/O バッファのサイズを指定するには、global.ini ファイルの「backup」セクションにある data_backup_buffer_size appropriately パラメータを使用します。バックアップ時間に対する I/O バッファサイズの影響の詳細については、SAP ノート 2657261 をご覧ください。

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

Backint エージェントの認証

GCP は、Cloud Storage バケットに対して Backint エージェントを認証するためにサービス アカウントを使用します。

SAP HANA を GCP 上で実行している場合

SAP HANA と Cloud Storage バケットが同じ GCP プロジェクトにある場合、Backint エージェントは、プロジェクトのデフォルトのサービス アカウントを使用して Cloud Storage に対する認証を行えます。これにより、手動で認証を設定する手間を省くことができます。

会社がカスタム認証方法を使用しているためにデフォルトのサービス アカウントを使用できない場合は、Backint エージェント用の GCP サービス アカウントを作成し、サービス アカウント キーを作成して、そのサービス アカウントにストレージのオブジェクト管理者の役割を割り当てます。これにより、Backint エージェントは Cloud Storage バケットでバックアップを作成および削除できるようになります。

SAP HANA を GCP 上で実行していない場合

SAP HANA をオンプレミスまたは別のクラウド プラットフォームで実行している場合は、Backint エージェント用の GCP サービス アカウントを作成し、サービス アカウント キーを SAP HANA VM に保存して、そのサービス アカウントにストレージのオブジェクト管理者の役割を割り当てます。これにより、Backint エージェントは Cloud Storage バケットでバックアップを作成および削除できるようになります。

GCP プロジェクトには、Backint エージェントが使用する Cloud Storage バケットの所有者として新しいサービス アカウントを作成します。

この構成方法を使用する場合は、不正アクセスを防ぐために、キーを定期的にローテーションすることをおすすめします。

Backint エージェントの自動更新

Backint エージェントの自動更新機能を使用するには、SAP HANA VM が https://www.googleapis.com/ へのリモート HTTP リクエストをサポートすることが必要です。

利用可能な新しいバージョンがある場合は、Backint エージェントの実行前にダウンロードおよびインストールされます。

Backint エージェントの構成オプション

parameters.txt 構成ファイルでは、Backint エージェントの各種のオプションを指定できます。

各パラメータは別個の行に指定します。パラメータと値はスペースで区切ります。

パラメータと値 説明
#BUCKET bucket-name Backint エージェントが書き込みと読み取りを行う Cloud Storage バケットの名前を指定する必須パラメータ。Backint エージェントはバケットのストレージ クラスでバックアップ オブジェクトを作成します。すべてのストレージ クラスがサポートされます。Backint エージェントは、Compute Engine のデフォルトの暗号を使用して、保存データを暗号化します。
#SERVICE_ACCOUNT path/to/key/file Compute Engine のデフォルト認証が使用されていない場合に、JSON でエンコードされた GCP サービス アカウント キーの完全修飾パスを指定する省略可能なパラメータ。#SERVICE_ACCOUNT を指定すると、Cloud Storage サービスの認証時に Backint エージェントがキーを使用するように設定されます。Compute Engine のデフォルト認証を使用することをおすすめします。
#DISABLE_COMPRESSION Backint エージェントが Cloud Storage バケットにバックアップを書き込む際に、デフォルトのオンザフライ圧縮を無効にする省略可能なパラメータ。圧縮すると、Cloud Storage にバックアップを保存するコストを削減できますが、バックアップ操作で必要になる CPU 処理が増えます。この設定の有無にかかわらず、Backint エージェントは復元の際に、圧縮されたバックアップ ファイルまたは圧縮されていないバックアップ ファイルのいずれかをサポートします。
#CHUNK_SIZE_MB MB バックアップまたは復元時における Cloud Storage への HTTPS リクエストのサイズを制御する省略可能なパラメータ。デフォルトのチャンクサイズは 100 MB です。つまり、Cloud Storage とやり取りされる単一の HTTP リクエスト ストリームは、100 MB のデータが転送されるまで開放されたままになります。100 MB は、ほとんどのユーザーにとってスループットと信頼性のバランスを取るのに適したサイズです。Backint エージェントは、失敗した HTTP リクエストを何度か再試行した後でオペレーションを失敗させるため、チャンクサイズを小さくすると、リクエストが失敗した場合に再送信が必要なデータの量が少なくなります。チャンクサイズを大きくするとスループットが向上しますが、リクエストが失敗した場合、データの再送信に必要なメモリ使用量と時間が増えます。
#RATE_LIMIT_MB MB バックアップまたは復元時における Compute Engine への送信帯域幅の上限を設定する省略可能なパラメータ。デフォルトでは、GCP は Backint エージェントのネットワーク帯域幅を制限しません。このパラメータを設定すると、スループットは状況に応じて変化しますが、指定した上限を超えることはありません。

Backint エージェントのロギング

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

ログファイルのサイズが 10 MB に達すると、Backint エージェントはログファイルをローテーションします。

必要であれば、/usr/sap/SID/SYS/global/hdb/opt/backint/backint-gcs/logging.properties で Backint エージェントのロギング構成を編集できます。

Backint エージェントは Stackdriver Logging もサポートしています。Stackdriver Logging を有効にするには、Cloud Storage Backint agent for SAP HANA インストール ガイドをご覧ください。

バックアップに関する ID とアクセスの管理

Cloud Storage または Compute Engine を使用して SAP HANA データをバックアップする場合、バックアップへのアクセスは Cloud Identity and Access Management(Cloud IAM)によって制御されます。管理者は Cloud IAM を使用して、特定のリソースにアクションを実行するユーザーを承認できます。Cloud IAM では、バックアップを含むすべての GCP リソースを完全に一元管理でき、可視性が向上します。

また、Cloud IAM は、権限の承認、削除、委任の完全な監査証跡履歴を管理者に自動的に提供します。したがって、バックアップ内のデータへのアクセスをモニタリングするポリシーを構成して、データに対するアクセス制御サイクル全体を管理できます。Cloud IAM は、組織全体のセキュリティ ポリシーを一元管理し、コンプライアンス プロセスを簡素化する組み込みの監査機能を提供します。

Cloud Storage 内のバックアップへのアクセスを許可するには:

  1. GCP Console で、[IAM と管理] ページに移動します。

    [IAM と管理] ページに移動

  2. アクセスを許可するユーザーを指定して、[ストレージ] > [ストレージのオブジェクト作成者] の役割を割り当てます。

    IAM の画面キャプチャ

バックアップの作成方法

デプロイガイドに従って GCP にプロビジョニングされた SAP HANA システムには、NFS でマウントされたバックアップ先として使用される一連の永続ディスク ボリュームが構成されています。SAP HANA バックアップは、最初はこれらのローカル永続ディスク ボリュームに保存されますが、その後、長期保存のために Cloud Storage にコピーする必要があります。手動で Cloud Storage にバックアップをコピーするか、Cloud Storage にコピーするスケジュールを crontab で設定します。

Cloud Storage Backint agent for SAP HANA を使用している場合は、Cloud Storage バケットで直接バックアップと復元を行えます。永続ディスク ストレージは必要ありません。

SAP HANA Studio、SQL コマンド、DBA Cockpit のいずれかを使用して、SAP HANA データのバックアップを開始またはスケジュールすることもできます。ログのバックアップは、無効にしない限り、自動的に書き込まれます。次のスクリーンショットの例をご覧ください。

バックアップの画面キャプチャ

SAP HANA の global.ini を構成する

デプロイガイドの手順を実施していれば、SAP HANA の global.ini 構成ファイルは、/backup/data/ に格納されるデータベース バックアップ用にカスタマイズされ、自動ログアーカイブ ファイルが次のように /backup/log/ に保存されます。

[persistence]
basepath_datavolumes = /hana/data
basepath_logvolumes = /hana/log
basepath_databackup = /hanabackup/data
basepath_logbackup = /hanabackup/log

[system_information]
usage = production

Cloud Storage Backint agent for SAP HANA の global.ini 構成ファイルをカスタマイズするには、Cloud Storage Backint agent for SAP HANA インストール ガイドをご覧ください。

スケールアウト デプロイメントに関する注意事項

スケールアウト実装では、ライブ マイグレーションと自動再起動を使用する高可用性ソリューションは、単一ホスト設定と同じように機能します。主な違いは、/hana/shared ボリュームがすべてのワーカーホストに NFS でマウントされ、HANA マスターがマスターとなる点です。マスターホストのライブ マイグレーションまたは自動再起動の実行中は、NFS ボリュームにしばらくアクセスできなくなります。マスターホストが再起動すると、NFS ボリュームはすべてのホストですぐに再び機能し始め、通常のオペレーションが自動的に再開されます。

バックアップと復元に際しては、バックアップ ボリューム /hanabackup がすべてのホストで利用できることが必要です。障害が発生したときは、/hanabackup がすべてのホストにマウントされていることを確認し、それ以外のボリュームを再マウントしてください。バックアップ セットを別のボリュームまたは Cloud Storage にコピーする場合は、IO パフォーマンスを向上させてネットワーク使用量を減らすため、マスターホストでコピーを実行する必要があります。バックアップと復元のプロセスを簡素化するには、Cloud Storage Fuse を使用して各ホストに Cloud Storage バケットをマウントします。

スケールアウトのパフォーマンスは、データ分散と同程度です。データを分散すればするほど、クエリのパフォーマンスは向上します。したがって、使用するデータを熟知し、データがどのように使用されるかを理解して、それに合わせてテーブルの分散とパーティショニングを設計する必要があります。SAP ノート 2081591 をご覧ください。

Gcloud Python

Gcloud Python は、GCP サービスへのアクセスに慣用的に使われている Python クライアントです。このガイドでは、Gcloud Python を使用して、SAP HANA データベースを Cloud Storage にバックアップし、そこから復元する操作について説明します。

デプロイガイドの手順を実施していれば、Compute Engine インスタンスで Gcloud Python ライブラリが利用可能になっています。

このライブラリはオープンソースであり、Cloud Storage バケットを操作してバックアップ データを保存および取得するために使用できます。

次のコマンドを実行すると、Cloud Storage バケット内のオブジェクトを一覧表示できます。これにより、使用可能なバックアップ オブジェクトを表示できます。

python 2>/dev/null - <<EOF
from google.cloud import storage
storage_client = storage.Client()
bucket = storage_client.get_bucket("<bucket_name>")
blobs = bucket.list_blobs()
for fileblob in blobs:
     print(fileblob.name)
EOF

Gcloud Python の詳細については、ストレージ クライアント ライブラリのリファレンス ドキュメントをご覧ください。

バックアップの例

SAP HANA Studio を例にして、一般的なバックアップ タスクを実行する手順を次に示します。

  1. SAP HANA バックアップ エディタで、[Open Backup Wizard] を選択します。

    バックアップ ウィザード

    1. 宛先タイプとして [File] を選択します。これにより、指定されたファイル システム内のファイルにデータベースがバックアップされます。
    2. バックアップ先 /hanabackup/data/[SID] とバックアップの接頭辞を指定します。[SID] は適切な SAP SID に置き換えてください。
    3. [Next] をクリックします。
  2. 確認フォームで [Finish] をクリックして、バックアップを開始します。

  3. バックアップが開始されると、バックアップの進捗状況がステータス ウィンドウに表示されます。バックアップが完了するまで待ちます。

    バックアップの進捗状況

    バックアップが完了すると、完了を示すメッセージがバックアップ サマリーに表示されます。

  4. SAP HANA システムにログインして、バックアップがファイル システム内の指定した場所にあることを確認します。例:

    バックアップ リスト 1 バックアップ リスト 2

  5. /hanabackup ファイル システムから Cloud Storage にバックアップ ファイルを push または同期します。次のサンプル Python スクリプトは、/hanabackup/data/hanabackup/log のデータを、[NODENAME]/[DATA] または [LOG]/YYYY/MM/DD/HH/[BACKUP_FILE_NAME] の形式で、バックアップに使用するバケットに push します。これにより、バックアップがコピーされた時間でバックアップ ファイルを識別できます。オペレーティング システムの bash プロンプトで、この gcloud Python スクリプトを実行します。

    python 2>/dev/null - <<EOF
    import os
    import socket
    from datetime import datetime
    from google.cloud import storage
    storage_client = storage.Client()
    today = datetime.today()
    current_hour = today.strftime('%Y/%m/%d/%H')
    hostname = socket.gethostname()
    bucket = storage_client.get_bucket("hanabackup")
    for subdir, dirs, files in os.walk('/hanabackup/data/H2D/'):
      for file in files:
          backupfilename = os.path.join(subdir, file)
          if 'COMPLETE_DATA_BACKUP' in backupfilename:
                only_filename = backupfilename.split('/')[-1]
                backup_file = hostname + '/data/' + current_hour + '/' + only_filename
                blob = bucket.blob(backup_file)
                blob.upload_from_filename(filename=backupfilename)
    for subdir, dirs, files in os.walk('/hanabackup/log/H2D/'):
      for file in files:
          backupfilename = os.path.join(subdir, file)
          if 'COMPLETE_DATA_BACKUP' in backupfilename:
              only_filename = backupfilename.split('/')[-1]
              backup_file = hostname + '/log/' + current_hour + '/' + only_filename
              blob = bucket.blob(backup_file)
              blob.upload_from_filename(filename=backupfilename)
    EOF
    
  6. Gcloud Python ライブラリ、または GCP Console を使用してバックアップ データを一覧表示します。

復元の例

SAP HANA データベースをバックアップから復元するには:

  1. バックアップ ファイルが /hanabackup ファイル システムで使用可能になっておらず、Cloud Storage に存在する場合は、オペレーティング システムの bash プロンプトで次のスクリプトを実行して、Cloud Storage からファイルをダウンロードします。

    python - <<EOF
    from google.cloud import storage
    storage_client = storage.Client()
    bucket = storage_client.get_bucket("hanabackup")
    blobs = bucket.list_blobs()
    for fileblob in blobs:
      blob = bucket.blob(fileblob.name)
      fname = str(fileblob.name).split('/')[-1]
      blob.chunk_size=1<<30
      if 'log' in fname:
          blob.download_to_filename('/hanabackup/log/H2D/' + fname)
      else:
          blob.download_to_filename('/hanabackup/data/H2D/' + fname)
    EOF
    
  2. SAP HANA データベースを復元するには、[Backup and Recovery] > [Recover System] をクリックします。

    Recover System

  3. [Next] をクリックします。

  4. ローカル ファイル システム内のバックアップの場所を指定して、[Add] をクリックします。

  5. [Next] をクリックします。

  6. [Recover without the backup catalog] を選択します。

    Recover Nocat

  7. [Next] をクリックします。

  8. 宛先タイプとして [File] を選択し、バックアップ ファイルの場所と正しい接頭辞を指定します(バックアップの例で、接頭辞に COMPLETE_DATA_BACKUP を指定したことを思い出してください)。

  9. [Next] を 2 回クリックします。

  10. [Finish] をクリックして、復元を開始します。

  11. 復元が完了したら、通常の運用を再開し、バックアップ ファイルを /hanabackup/data/[SID]/* ディレクトリから削除します。

次のステップ

以下の標準の SAP ドキュメントが参考になります。

以下の GCP ドキュメントも役に立ちます。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...