SAP HANA 運用ガイド

このガイドでは、Google Cloud 上の SAP HANA デプロイガイドに従って、Google Cloud にデプロイされた SAP HANA システムを操作する方法について説明します。このガイドは、標準の SAP ドキュメントに代わるものではありません。

Google Cloud 上での SAP HANA システムの管理

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

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

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

VM の停止

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

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

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

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

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

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

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

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

VM の再起動

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

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

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

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

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

VM の変更

VM のデプロイ後に、VM の種類など、VM のさまざまな属性を変更できます。変更の内容によって、SAP システムをバックアップから復元する必要がある場合や、VM の再起動のみを行う必要がある場合があります。

詳細については、SAP システムの VM 構成の変更をご覧ください。

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

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

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

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

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

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

Google Cloud 上の既存の SAP HANA システムのスナップショットを作成して、システムの正確なクローンを作成できます。

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

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

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

  3. Google Cloud 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 が自動的にインストールされます。

しかし、独自のオペレーティング システムをカスタム イメージとして Google Cloud に実装する場合や、Google Cloud により提供された古い公開イメージを使用している場合は、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 のサポート エンジニアに Google Cloud 上の 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 から Google Cloud 上の SAP HANA システムへのアクセスを許可する saprouttab ファイルを作成します。

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

ネットワークを構成する

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

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

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

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

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

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

セキュリティ

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

最小権限モデル

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

構成の変更

SAP HANA システムとオペレーティング システムを、推奨されるセキュリティ設定で構成する必要があります。たとえば、アクセスを許可するネットワーク ポートのみを一覧表示し、SAP HANA を実行しているオペレーティング システムを強化します。

以下の SAP ノートをご覧ください(SAP ユーザー アカウントが必要)。

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

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

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

監査ロギング

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

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

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

Cloud Storage バケットの保護

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

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

Google Cloud 上の SAP HANA 環境については、次の追加のセキュリティ リソースをご覧ください。

Google Cloud 上の SAP HANA の高可用性

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

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

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

障害復旧

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

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

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

バックアップと復元

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

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 か月に何度もバックアップにアクセスする場合は、標準 [storage class](/storage/docs/storage-classes) を選択します。
アクセス頻度が低い アクセス頻度が低いデータについては、Nearline または Coldline のストレージを選択します。Nearline は、バックアップ データにアクセスする頻度が最大でも 1 か月に 1 回程度と見込まれる場合に適しています。一方、Coldline はアクセスする頻度がかなり低い(1 年に 1 回程度)と見込まれる場合に適しています。
アーカイブ データ 長期アーカイブ データには Archive Storage を選択します。Archive は、長期間コピーを保持する必要があるが、1 年に 1 回しかアクセスしないデータに適しています。テープベースのバックアップ ソリューションは、Archive に置き換えることを検討してください。

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

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 を直接使用できます。

詳細については、Cloud Storage Backint agent for SAP HANA の概要をご覧ください。

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

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

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

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

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

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

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

    IAM の画面キャプチャ

バックアップの作成方法

デプロイガイドに従って Google Cloud にプロビジョニングされた 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 は、Google Cloud サービスへのアクセスに慣用的に使われている 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 ライブラリ、または Cloud 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 ドキュメントが参考になります。

以下の Google Cloud ドキュメントもご覧ください。