ロードバランサの VIP 実装を使用した SAP HANA HA の自動デプロイ

このガイドでは、内部 TCP / UDP 負荷分散を使用する Red Hat Enterprise Linux(RHEL)または SUSE Linux Enterprise Server(SLES)の高可用性(HA)クラスタで SAP HANA のデプロイを自動化して、仮想 IP(VIP)アドレスを管理する方法を説明します。

このガイドでは、Cloud Deployment Manager を使用して 2 つの Compute Engine 仮想マシン(VM)、2 つの SAP HANA スケールアップ システム、ロードバランサが実装された仮想 IP アドレス(VIP)、OS ベースの HA クラスタをデプロイします(すべて、Google Cloud、SAP、OS ベンダーのベスト プラクティスに従います)。

SAP HANA システムの 1 つがプライマリのアクティブ システムとして機能し、もう 1 つはセカンダリのスタンバイ システムとして機能します。両方の SAP HANA システムは同じリージョンにデプロイします(異なるゾーンにデプロイすることが理想的です)。

高可用性 Linux クラスタの単一ノード SAP HANA スケールアップ システムの概要

デプロイされたクラスタには、以下の機能が含まれます。

  • Pacemaker 高可用性クラスタ リソース マネージャー。
  • Google Cloud フェンシング メカニズム。
  • レベル 4 の TCP 内部ロードバランサの実装を使用する仮想 IP(VIP)。以下を含みます:
    • VIP 用に選択した IP アドレスの予約
    • 2 つの Compute Engine インスタンス グループ
    • TCP 内部ロードバランサ
    • Compute Engine ヘルスチェック
  • RHEL HA クラスタの場合:
    • Red Hat 高可用性パターン
    • Red Hat リソース エージェントとフェンシング パッケージ
  • SLES HA クラスタの場合:
    • SUSE 高可用性パターン。
    • SUSE SAPHanaSR リソース エージェント パッケージ。
  • 同期システム レプリケーション。
  • メモリ プリロード。
  • 障害が発生したインスタンスを新しいセカンダリ インスタンスとして自動的に再起動。

Linux 高可用性クラスタまたはスタンバイ ホストなしで SAP HANA システムをデプロイするには、SAP HANA デプロイガイドを使用してください。

このガイドは、SAP HANA 用の Linux 高可用性構成に精通している SAP HANA の上級ユーザーを対象としています。

前提条件

SAP HANA 高可用性クラスタを作成する前に、次の前提条件を満たしていることを確認してください。

  • 個人または組織で Google Cloud アカウントを所有していて、SAP HANA をデプロイするプロジェクトを作成済みである。Google Cloud アカウントとプロジェクトの作成方法については、SAP HANA デプロイガイドの Google アカウントの設定をご覧ください。
  • SAP HANA のインストール メディアが、ユーザーのデプロイ プロジェクトおよびリージョンで利用可能な Cloud Storage バケットに格納されている。SAP HANA インストール メディアを Cloud Storage バケットにアップロードする方法については、SAP HANA デプロイガイドの SAP HANA のダウンロードをご覧ください。
  • VPC 内部 DNS を使用している場合は、プロジェクト メタデータの VmDnsSetting 変数の値を GlobalOnly または ZonalPreferred にして、ゾーン間でノード名を解決できるようにします。VmDnsSetting のデフォルト設定は ZonalOnly です。詳細については、次のトピックをご覧ください。

ネットワークの作成

セキュリティ上の理由から、新しいネットワークを作成します。アクセスできるユーザーを制御するには、ファイアウォール ルールを追加するか、別のアクセス制御方法を使用します。

プロジェクトにデフォルトの VPC ネットワークがある場合、デフォルトは使用せず、明示的に作成したファイアウォール ルールが唯一の有効なルールとなるように、独自の VPC ネットワークを作成してください。

デプロイ中、VM インスタンスは通常、Google のモニタリング エージェントをダウンロードするためにインターネットにアクセスする必要があります。Google Cloud から入手できる SAP 認定の Linux イメージのいずれかを使用している場合も、ライセンスを登録して OS ベンダーのリポジトリにアクセスするために、VM インスタンスからインターネットにアクセスする必要があります。このアクセスをサポートするために、NAT ゲートウェイを配置し、VM ネットワーク タグを使用して構成します。ターゲット VM に外部 IP がない場合でもこの構成が可能です。

ネットワークを設定するには:

  1. Cloud Shell に移動します。

    Cloud Shell に移動

  2. カスタム サブネットワーク モードで新しいネットワークを作成するには、次のコマンドを実行します。

    gcloud compute networks create [YOUR_NETWORK_NAME] --subnet-mode custom

    [YOUR_NETWORK_NAME] は新しいネットワークの名前です。ネットワーク名に使えるのは、小文字、数字、ダッシュ(-)のみです。

    デフォルトの自動モードでは、各 Compute Engine リージョンにサブネットが自動的に作成されます。この自動モードを使用しないようにするには、--subnet-mode custom を指定します。詳しくは、サブネット作成モードをご覧ください。

  3. サブネットワークを作成し、リージョンと IP 範囲を指定します。

    gcloud compute networks subnets create [YOUR_SUBNETWORK_NAME] \
            --network [YOUR_NETWORK_NAME] --region [YOUR_REGION] --range [YOUR_RANGE]

    ここで

    • [YOUR_SUBNETWORK_NAME] は、新しいサブネットワークです。
    • [YOUR_NETWORK_NAME] は、前の手順で作成したネットワークの名前です。
    • [REGION] は、サブネットワークを配置するリージョンです。
    • [YOUR_RANGE] は、CIDR 形式で指定された IP アドレス範囲です(例: 10.1.0.0/24)。複数のサブネットワークを追加する場合は、ネットワーク内の各サブネットワークに重複しない CIDR IP 範囲を割り当ててください。各サブネットワークとその内部 IP 範囲は、単一のリージョンにマッピングされることに注意してください。
  4. 必要に応じて、前の手順を繰り返して、サブネットワークを追加します。

NAT ゲートウェイの設定

パブリック IP アドレスなしで 1 台以上の VM を作成する必要がある場合は、ネットワーク アドレス変換(NAT)を使用して、VM がインターネットにアクセスできるようにする必要があります。Cloud NAT は Google Cloud の分散ソフトウェア定義マネージド サービスであり、VM からインターネットへのパケットの送信と、それに対応するパケットの受信を可能にします。また、別個の VM を NAT ゲートウェイとして設定することもできます。

プロジェクトに Cloud NAT インスタンスを作成する方法については、Cloud NAT の使用をご覧ください。

プロジェクトに Cloud NAT を構成すると、VM インスタンスはパブリック IP アドレスなしでインターネットに安全にアクセスできるようになります。

ファイアウォール ルールの追加

デフォルトでは、暗黙のファイアウォール ルールにより、Virtual Private Cloud(VPC)ネットワークの外部からの受信接続がブロックされます。受信側の接続を許可するには、VM にファイアウォール ルールを設定します。VM との受信接続が確立されると、トラフィックはその接続を介して双方向に許可されます。

SAP HANA の HA クラスタには少なくとも 2 つのファイアウォール ルールが必要です。1 つは Compute Engine ヘルスチェックでクラスタノードの正常性をチェックするルール、もう 1 つはクラスタノードが相互に通信できるようにするルールです。

共有 VPC ネットワークを使用していない場合は、ノード間の通信用のファイアウォール ルールを作成する必要がありますが、ヘルスチェック用に作成する必要はありません。Deployment Manager テンプレートは、ヘルスチェック用のファイアウォール ルールを作成します。このファイアウォール ルールは、必要に応じてデプロイ完了後に変更できます。

共有 VPC ネットワークを使用している場合、ネットワーク管理者はホスト プロジェクトで両方のファイアウォール ルールを作成する必要があります。

特定のポートへの外部アクセスを許可するファイアウォール ルールや、同じネットワーク上の VM 間のアクセスを制限するファイアウォール ルールも作成できます。VPC ネットワーク タイプとして default が使用されている場合は、default-allow-internal ルールなどの追加のデフォルト ルールも適用されます。追加のデフォルト ルールは、同じネットワークであれば、すべてのポートで VM 間の接続を許可します。

ご使用の環境に適用可能な IT ポリシーによっては、データベース ホストへの接続を分離するか制限しなければならない場合があります。これを行うには、ファイアウォール ルールを作成します。

目的のシナリオに応じて、次の対象にアクセスを許可するファイアウォール ルールを作成できます。

  • すべての SAP プロダクトの TCP/IP にリストされているデフォルトの SAP ポート。
  • パソコンまたは企業のネットワーク環境から Compute Engine VM インスタンスへの接続。使用すべき IP アドレスがわからない場合は、社内のネットワーク管理者に確認してください。
  • VM インスタンスへの SSH 接続。ブラウザからの SSH 接続など。
  • Linux のサードパーティ製ツールを使用した VM への接続。ファイアウォール ルールを作成して、ツールのアクセスを許可します。

ファイアウォール ルールを作成するには:

Console

  1. Cloud Console で、[ファイアウォール ルール] ページに移動します。

    ファイアウォール ルールを開く

  2. ページ上部の [ファイアウォール ルールを作成] をクリックします。

    • [ネットワーク] フィールドで、VM が配置されているネットワークを選択します。
    • [ターゲット] フィールドで、このルールが適用される Google Cloud 上のリソースを指定します。たとえば、[ネットワーク上のすべてのインスタンス] を指定します。Google Cloud 上の特定のインスタンスにルールを制限するには、[指定されたターゲットタグ] にタグを入力してください。
    • [ソースフィルタ] フィールドで、次のいずれかを選択します。
      • 特定の IP アドレスからの受信トラフィックを許可する場合は、[IP 範囲] を選択します。[ソース IP の範囲] フィールドで IP アドレスの範囲を指定します。
      • サブネット: 特定のサブネットワークからの受信トラフィックを許可する場合に使用します。次の [サブネット] フィールドにサブネットワーク名を指定します。このオプションを使用すると、3 層構成またはスケールアウト構成で VM 間のアクセスを許可できます。
    • [プロトコルとポート] セクションで、[指定したプロトコルとポート] を選択して tcp:[PORT_NUMBER] を指定します。
  3. [作成] をクリックしてファイアウォール ルールを作成します。

gcloud

次のコマンドを使用して、ファイアウォール ルールを作成します。

$ gcloud compute firewall-rules create firewall-name
--direction=INGRESS --priority=1000 \
--network=network-name --action=ALLOW --rules=protocol:port \
--source-ranges ip-range --target-tags=network-tags

SAP HANA がインストールされている高可用性 Linux クラスタを作成する

次の手順では、Cloud Deployment Manager を使用して、2 つの SAP HANA システムを備えた 1 つの RHEL クラスタまたは SLES クラスタを作成します。1 つの VM インスタンスにプライマリ単一ホストの SAP HANA システムを作成し、同じ Compute Engine リージョン内の別の VM インスタンスにスタンバイ SAP HANA システムを作成します。SAP HANA システムは同期システム レプリケーションを使用し、スタンバイ システムは複製されたデータをプリロードします。

SAP HANA 高可用性クラスタの構成オプションは、Deployment Manager 構成ファイルのテンプレートで定義します。

次の手順では Cloud Shell を使用していますが、Cloud SDK の場合も同様です。

  1. 永続ディスクや CPU などリソースの現在の割り当てが、インストールしようとしている SAP HANA システムに対して十分であることを確認します。割り当てが不足しているとデプロイは失敗します。SAP HANA の割り当て要件については、SAP HANA の料金と割り当てに関する考慮事項をご覧ください。

    [割り当て] ページに移動

  2. Cloud Shell を開くか、Cloud SDK をローカル ワークステーションにインストールしている場合はターミナルを開きます。

    Cloud Shell に移動

  3. Cloud Shell または Cloud SDK で次のコマンドを入力して、SAP HANA 高可用性クラスタの template.yaml 構成ファイル テンプレートを作業ディレクトリにダウンロードします。

    $ wget https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_hana_ha_ilb/template.yaml
  4. 必要に応じて template.yaml のファイル名を変更し、このファイルで定義する構成がわかるようにします。

  5. Cloud Shell コードエディタで template.yaml ファイルを開きます。Cloud SDK を使用している場合は、任意のテキスト エディタで開きます。

    Cloud Shell コードエディタを開くには、Cloud Shell ターミナル ウィンドウの右上にある鉛筆アイコンをクリックします。

  6. template.yaml ファイルでは、角かっこで囲まれた部分を各自のインストール環境に合わせた値に置き換えてプロパティ値を更新します。プロパティについては、次の表をご覧ください。

    SAP HANA をインストールせずに VM インスタンスを作成するには、sap_hana_ で始まるすべての行を削除またはコメントアウトします。

    特性 データ型 説明
    type 文字列

    デプロイ中に使用する Deployment Manager テンプレートの場所、タイプ、バージョンを指定します。

    YAML ファイルには 2 つの type 仕様が含まれており、そのうちの 1 つがコメントアウトされています。デフォルトでアクティブな type 仕様は、テンプレート バージョンを latest として指定します。コメントアウトされている type 仕様は、タイムスタンプを使用して特定のテンプレート バージョンを指定します。

    すべてのデプロイで同じテンプレート バージョンを使用する必要がある場合は、タイムスタンプを含む type 仕様を使用します。

    primaryInstanceName 文字列 プライマリ SAP HANA システムの VM インスタンスの名前。 小文字、数字またはハイフンを使用して名前を指定します。
    secondaryInstanceName 文字列 セカンダリ SAP HANA システムの VM インスタンスの名前。 小文字、数字またはハイフンを使用して名前を指定します。
    primaryZone 文字列 プライマリ SAP HANA システムがデプロイされているゾーン。プライマリ ゾーンとセカンダリ ゾーンは同じリージョンにする必要があります。
    secondaryZone 文字列 セカンダリ SAP HANA システムがデプロイされるゾーン。プライマリ ゾーンとセカンダリ ゾーンは同じリージョンにする必要があります。
    instanceType 文字列 SAP HANA を実行する Compute Engine 仮想マシンのタイプ。カスタムの VM タイプが必要な場合は、必要数に最も近く、かつ必要数以上の vCPU 数を持つ事前定義された VM タイプを指定します。デプロイが完了したら、vCPU 数とメモリ容量を変更してください。
    network 文字列 VIP を管理するロードバランサを作成するネットワークの名前。

    共有 VPC ネットワークを使用している場合は、ホスト プロジェクトの ID をネットワーク名の親ディレクトリとして追加する必要があります。例: host-project-id/network-name

    subnetwork 文字列 HA クラスタに使用するサブネットワークの名前。

    共有 VPC ネットワークを使用している場合は、ホスト プロジェクトの ID をサブネットワーク名の親ディレクトリとして追加する必要があります。例: host-project-id/subnetwork-name

    linuxImage 文字列 SAP HANA で使用する Linux オペレーティング システム イメージまたはイメージ ファミリーの名前。イメージ ファミリーを指定するには、ファミリー名に接頭辞 family/ を追加します例: family/rhel-8-2-sap-ha または family/sles-15-sp2-sap。特定のイメージを指定するには、イメージ名のみを指定します。利用可能なイメージ ファミリーの一覧については、Cloud Console の [イメージ] ページをご覧ください。
    linuxImageProject 文字列 使用するイメージを含む Google Cloud プロジェクト。このプロジェクトは独自のプロジェクトか、Google Cloud イメージ プロジェクトです。RHEL の場合は、rhel-sap-cloud を指定します。SLES の場合は、suse-sap-cloud を指定します。GCP イメージ プロジェクトの一覧については、Compute Engine のドキュメントにあるイメージのページをご覧ください。
    sap_hana_deployment_bucket 文字列 前のステップでアップロードした SAP HANA インストール ファイルを含む、プロジェクト内の GCP ストレージ バケットの名前。
    sap_hana_sid 文字列 SAP HANA システム ID。ID は英数字 3 文字で、最初の文字はアルファベットにする必要があります。文字は大文字のみ使用できます。
    sap_hana_instance_number 整数 SAP HANA システムのインスタンス番号(0〜99)。デフォルトは 0 です。
    sap_hana_sidadm_password 文字列 デプロイ時に使用されるオペレーティング システム管理者向けの仮のパスワード。デプロイの完了後にはパスワードを変更します。パスワードは 8 文字以上で設定し、少なくとも英大文字、英小文字、数字をそれぞれ 1 文字以上含める必要があります。
    sap_hana_system_password 文字列 データベースのスーパーユーザー向けの仮のパスワード。デプロイの完了後にはパスワードを変更します。パスワードは 8 文字以上で設定し、少なくとも英大文字、英小文字、数字をそれぞれ 1 文字以上含める必要があります。
    sap_hana_scaleout_nodes 整数 追加で必要な SAP HANA ワーカーホストの数。現在、高可用性構成ではスケールアウト ホストがサポートされていないため、0 を指定します。
    sap_vip 文字列 VIP に使用する IP アドレス。IP アドレスは、サブネットワークに割り当てられている IP アドレスの範囲内でなければなりません。この IP アドレスは、Deployment Manager テンプレートにより予約されます。アクティブな HA クラスタでは、この IP アドレスは常にアクティブな SAP HANA インスタンスに割り当てられます。
    primaryInstanceGroupName 文字列 プライマリ ノードの非マネージド インスタンス グループの名前を定義します。このパラメータを省略した場合、デフォルト名は ig-primaryInstanceName になります。
    secondaryInstanceGroupName 文字列 セカンダリ ノードの非マネージド インスタンス グループの名前を定義します。このパラメータを省略した場合、デフォルト名は ig-secondaryInstanceName になります。
    loadBalancerName 文字列 TCP 内部ロードバランサの名前を定義します。

    次の各タブには、Deployment Manager に高可用性クラスタ用の 2 つの n2-highmem-32 VM をデプロイ(1 つを us-central1-a ゾーンにデプロイし、us-central1-c ゾーンにセカンダリ SAP HANA システムがインストールされている)するよう指示する構成ファイルの例を示します。その後、起動スクリプトは各 VM に SAP HANA システムをデプロイし、SAP HANA システム レプリケーションと Linux HA クラスタを構成します。

    テンプレート ファイルは、Google Cloud sapdeploy バケットの sap_hana_ha_ilb フォルダを参照します。このフォルダには、ロードバランサの VIP 実装を使用する SAP HANA HA のデプロイ用のスクリプトが含まれます。

    構成ファイルでオペレーティング システムを指定する方法の例については、RHEL または SLES のタブをクリックしてください。

    RHEL

    resources:
    - name: sap_hana_ha
      type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_hana_ha_ilb/sap_hana_ha.py
      #
      # By default, this configuration file uses the latest release of the deployment
      # scripts for SAP on Google Cloud.  To fix your deployments to a specific release
      # of the scripts, comment out the type property above and uncomment the type property below.
      #
      # type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/202103310846/dm-templates/sap_hana_ha_ilb/sap_hana_ha.py
      #
      properties:
        primaryInstanceName: example-ha-vm1
        secondaryInstanceName: example-ha-vm2
        primaryZone: us-central1-a
        secondaryZone: us-central1-c
        instanceType: n2-highmem-32
        network: example-network
        subnetwork: example-subnet-us-central1
        linuxImage: family/rhel-8-2-sap-ha
        linuxImageProject: rhel-sap-cloud
        # SAP HANA parameters
        sap_hana_deployment_bucket: my-hana-bucket
        sap_hana_sid: HA1
        sap_hana_instance_number: 00
        sap_hana_sidadm_password: TempPa55word
        sap_hana_system_password: TempPa55word
        # VIP parameters
        sap_vip: 10.0.0.100
        primaryInstanceGroupName: ig-example-ha-vm1
        secondaryInstanceGroupName: ig-example-ha-vm2
        loadBalancerName: lb-ha1
        # Additional optional properties
        networkTag: hana-ha-ntwk-tag
        serviceAccount: sap-deploy-example@example-project-123456.iam.gserviceaccount.com

    SLES

    resources:
    - name: sap_hana_ha
      type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_hana_ha_ilb/sap_hana_ha.py
      #
      # By default, this configuration file uses the latest release of the deployment
      # scripts for SAP on Google Cloud.  To fix your deployments to a specific release
      # of the scripts, comment out the type property above and uncomment the type property below.
      #
      # type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/202103310846/dm-templates/sap_hana_ha_ilb/sap_hana_ha.py
      #
      properties:
        primaryInstanceName: example-ha-vm1
        secondaryInstanceName: example-ha-vm2
        primaryZone: us-central1-a
        secondaryZone: us-central1-c
        instanceType: n2-highmem-32
        network: example-network
        subnetwork: example-subnet-us-central1
        linuxImage: family/sles-15-sp1-sap
        linuxImageProject: suse-sap-cloud
        # SAP HANA parameters
        sap_hana_deployment_bucket: my-hana-bucket
        sap_hana_sid: HA1
        sap_hana_instance_number: 00
        sap_hana_sidadm_password: TempPa55word
        sap_hana_system_password: TempPa55word
        # VIP parameters
        sap_vip: 10.0.0.100
        primaryInstanceGroupName: ig-example-ha-vm1
        secondaryInstanceGroupName: ig-example-ha-vm2
        loadBalancerName: lb-ha1
        # Additional optional properties
        networkTag: hana-ha-ntwk-tag
        serviceAccount: sap-deploy-example@example-project-123456.iam.gserviceaccount.com
  7. 次のコマンドを実行して、インスタンスを作成します。

    $ gcloud deployment-manager deployments create deployment-name --config template-name.yaml

    上記のコマンドによって Deployment Manager が起動され、Google Cloud インフラストラクチャが設定され、SAP HANA と HA クラスタをインストールして構成するスクリプトに制御が渡されます。

    Deployment Manager により制御が行われる間、ステータス メッセージは Cloud Shell に書き込まれます。スクリプトが呼び出されると、Logging のログの確認で説明されているように、ステータス メッセージが Logging に書き込まれ、Cloud Console で表示できるようになります。

    完了までの時間は一定ではありませんが、通常 30 分未満でプロセス全体が完了します。

HANA HA システムのデプロイを確認する

SAP HANA HA クラスタの検証では、いくつかの手順を行う必要があります。

  • Logging を確認する
  • VM と SAP HANA の構成を確認する
  • ロードバランサとインスタンス グループの健全性を確認する
  • SAP HANA Studio を使用して SAP HANA システムを確認する
  • フェイルオーバー テストを実行する

ログを確認する

  1. Logging を開いてエラーをチェックし、インストールの進行状況をモニタリングします。

    Cloud Logging に移動

  2. [ログ エクスプローラ] ページで、[クエリビルダー] のリソースとして [グローバル] を選択して、クエリを実行します。

    • 両方の VM インスタンスに "--- Finished" が表示されている場合は、次の手順に進みます。

      Logging の表示

    • ログにエラーがある場合:

      1. エラーを修正します。

        割り当てのエラーについては、Cloud Console の [IAM と管理の割り当て] ページで、SAP HANA プランニング ガイドに記載されている SAP HANA の要件を満たしていない割り当てを増やします。

      2. Cloud Console の Deployment Manager の [デプロイ] ページでデプロイメントを削除し、失敗したインストールからすべてのインフラストラクチャをクリーンアップします。

      3. Deployment Manager を再実行します。

VM と SAP HANA の構成を確認する

  1. SAP HANA システムが正常にデプロイされたら、SSH を使用して VM に接続します。Compute Engine の [VM インスタンス] ページで、VM インスタンスの SSH ボタンをクリックするか、お好みの SSH メソッドを使用します。

    Compute Engine VM インスタンス ページの SSH ボタン

  2. root ユーザーに変更します。

    sudo su -
  3. コマンド プロンプトで df -h を実行します。/hana/data などの /hana ディレクトリを含む出力が表示されていることを確認します。

    example-ha-vm1:~ # df -h
    Filesystem                        Size  Used Avail Use% Mounted on
    devtmpfs                          308G  8.0K  308G   1% /dev
    tmpfs                             461G   54M  461G   1% /dev/shm
    tmpfs                             308G  250M  307G   1% /run
    tmpfs                             308G     0  308G   0% /sys/fs/cgroup
    /dev/sda3                          30G  3.2G   27G  11% /
    /dev/sda2                          20M  3.6M   17M  18% /boot/efi
    /dev/mapper/vg_hana-shared        614G   50G  565G   9% /hana/shared
    /dev/mapper/vg_hana-sap            32G  278M   32G   1% /usr/sap
    /dev/mapper/vg_hana-data          951G  7.9G  943G   1% /hana/data
    /dev/mapper/vg_hana-log           307G  5.5G  302G   2% /hana/log
    /dev/mapper/vg_hanabackup-backup  1.3T  409G  840G  33% /hanabackup
  4. オペレーティング システムに固有の status コマンドを入力して、新しいクラスタのステータスを確認します。

    RHEL

    pcs status

    SLES

    crm status

    次のような結果が表示されます。この例では、両方の VM インスタンスが開始され、example-ha-vm1 がアクティブなプライマリ インスタンスになります。

    RHEL

    example-ha-vm1:~ # pcs status
    Cluster name: hacluster
    Cluster Summary:
    * Stack: corosync
    * Current DC: example-ha-vm1 (version 2.0.3-5.el8_2.3-4b1f869f0f) - partition with quorum
    * Last updated: Fri Mar 19 21:09:23 2021
    * Last change:  Fri Mar 19 21:08:27 2021 by root via crm_attribute on example-ha-vm1
    * 2 nodes configured
    * 8 resource instances configured
    
    Node List:
    * Online: [ example-ha-vm1 example-ha-vm2 ]
    
    Full List of Resources:
    * STONITH-example-ha-vm1    (stonith:fence_gce):    Started example-ha-vm2
    * STONITH-example-ha-vm2    (stonith:fence_gce):    Started example-ha-vm1
    * Resource Group: g-primary:
      * rsc_healthcheck_HA1 (service:haproxy):  Started example-ha-vm1
      * rsc_vip_HA1_00  (ocf::heartbeat:IPaddr2):   Started example-ha-vm1
    * Clone Set: SAPHanaTopology_HA1_00-clone [SAPHanaTopology_HA1_00]:
      * Started: [ example-ha-vm1 example-ha-vm2 ]
    * Clone Set: SAPHana_HA1_00-clone [SAPHana_HA1_00] (promotable):
      * Masters: [ example-ha-vm1 ]
      * Slaves: [ example-ha-vm2 ]
    
    Daemon Status:
    corosync: active/enabled
    pacemaker: active/enabled
    pcsd: active/enabled

    SLES

    example-ha-vm1:~ # crm status
    Stack: corosync
    Current DC: example-ha-vm1 (version 2.0.1+20190417.13d370ca9-3.15.1-2.0.1+20190417.13d370ca9) - partition with quorum
    Last updated: Thu Nov 19 16:34:14 2020
    Last change: Thu Nov 19 16:34:04 2020 by root via crm_attribute on example-ha-vm1
    
    2 nodes configured
    8 resources configured
    
    Online: [ example-ha-vm1 example-ha-vm2 ]
    
    Full list of resources:
    
    STONITH-example-ha-vm1 (stonith:external/gcpstonith):  Started example-ha-vm2
    STONITH-example-ha-vm2 (stonith:external/gcpstonith):  Started example-ha-vm1
    Resource Group: g-primary
       rsc_vip_int-primary        (ocf::heartbeat:IPaddr2):       Started example-ha-vm1
       rsc_vip_hc-primary (ocf::heartbeat:anything):      Started example-ha-vm1
    Clone Set: cln_SAPHanaTopology_HA1_HDB00 [rsc_SAPHanaTopology_HA1_HDB00]
       Started: [ example-ha-vm1 example-ha-vm2 ]
    Clone Set: msl_SAPHana_HA1_HDB00 [rsc_SAPHana_HA1_HDB00] (promotable)
       Masters: [ example-ha-vm1 ]
       Slaves: [ example-ha-vm2 ]
  5. 次のコマンドの [SID] を構成ファイルのテンプレートで指定した [SID] 値で置き換え、SAP 管理ユーザーに変更します。

    su - [SID]adm
    
  6. 次のコマンドを入力して、hdbnameserverhdbindexserver などの SAP HANA サービスがインスタンス上で実行されていることを確認します。

    HDB info
    

ロードバランサとインスタンス グループの健全性を確認する

ロードバランサとヘルスチェックが正しくセットアップされていることを確認するには、Cloud Console でロードバランサとインスタンス グループを確認します。

  1. Cloud Console の [負荷分散] ページを開きます。

    Cloud Load Balancing に移動

  2. ロードバランサのリストで、HA クラスタ用のロードバランサが作成されたことを確認します。

  3. [バックエンド] セクションの [インスタンス グループ] の [正常] 列の [ロードバランサの詳細] ページで、片方のインスタンス グループで「1/1」と、もう片方で「0/1」と表示されていることを確認します。フェイルオーバー後、正常なインジケーター「1/1」が新しいアクティブなインスタンス グループに切り替わります。

    ロードバランサの詳細ページ。アクティブなプライマリ インスタンス グループは「1/1」で、非アクティブなセカンダリ インスタンス グループは「0/1」で示されます。

SAP HANA Studio を使用して SAP HANA システムを確認する

  1. SAP HANA Studio を使用して HANA システムに接続します。接続を定義するときに、次の値を指定します。

    • [Specify System] パネルで、ホスト名としてフローティング IP アドレスを指定します。
    • [Connection Properties] パネルのデータベース ユーザー認証で、データベースのスーパーユーザー名と、template.yaml ファイルの sap_hana_system_password プロパティで指定したパスワードを入力します。

    SAP から提供されている SAP HANA Studio のインストール情報については、SAP HANA Studio のインストールおよび更新ガイドをご覧ください。

  2. SAP HANA Studio が HANA HA システムに接続したら、ウィンドウ左側のナビゲーション パネルでシステム名をダブルクリックして、システム概要を表示します。

    SAP HANA Studio のナビゲーション パネルのスクリーンショット

  3. [Overview] タブの [General Information] で次のことを確認します。

    • [Operational Status] に「All services started」と表示されます。
    • [System Replication Status] に「All services are active and in sync」と表示されます。

    SAP HANA Studio の [Overview] タブのスクリーンショット

  4. [General Information] の [System Replication Status] をクリックして、レプリケーション モードを確認します。同期レプリケーションの場合、[System Replication] タブの [REPLICATION_MODE] 列に SYNCMEM が表示されます。

    SAP HANA Studio の [System Replication Status] タブのスクリーンショット

確認ステップの途中でインストールに失敗したことが示された場合、次の手順を行います。

  1. エラーを解決します。
  2. [Deployments] ページからデプロイを削除します。
  3. 前のセクションの最後の手順で説明したように、インスタンスを再作成します。

フェイルオーバー テストを実行する

フェイルオーバーを行うには:

  1. SSH を使用してプライマリ VM に接続します。各 VM インスタンスの SSH ボタンをクリックして、Compute Engine の [VM インスタンス] ページから接続するか、任意の SSH メソッドを使用できます。

  2. コマンド プロンプトで、次のコマンドを入力します。

    sudo ip link set eth0 down

    ip link set eth0 down コマンドは、プライマリ ホストとの通信を切断し、フェイルオーバーをトリガーします。

  3. SSH を使用していずれかのホストに再接続し、root ユーザーに変更します。

  4. セカンダリ ホストの格納に使用していた VM でプライマリ ホストがアクティブになっていることを確認します。クラスタで自動再起動が有効になっているため、停止したホストが再起動し、セカンダリ ホストの役割を引き継ぎます。

    • RHEL の場合は「pcs status」と入力します。
    • SLES の場合は「crm status」と入力します。

    次の例は、各ホストでの役割が切り替えられていることを示しています。

    RHEL

    [root@example-ha-vm1 ~]# pcs status
    Cluster name: hacluster
    Cluster Summary:
      * Stack: corosync
      * Current DC: example-ha-vm1 (version 2.0.3-5.el8_2.3-4b1f869f0f) - partition with quorum
      * Last updated: Fri Mar 19 21:22:07 2021
      * Last change:  Fri Mar 19 21:21:28 2021 by root via crm_attribute on example-ha-vm2
      * 2 nodes configured
      * 8 resource instances configured
    
    Node List:
      * Online: [ example-ha-vm1 example-ha-vm2 ]
    
    Full List of Resources:
      * STONITH-example-ha-vm1  (stonith:fence_gce):    Started example-ha-vm2
      * STONITH-example-ha-vm2  (stonith:fence_gce):    Started example-ha-vm1
      * Resource Group: g-primary:
        * rsc_healthcheck_HA1   (service:haproxy):  Started example-ha-vm2
        * rsc_vip_HA1_00    (ocf::heartbeat:IPaddr2):   Started example-ha-vm2
      * Clone Set: SAPHanaTopology_HA1_00-clone [SAPHanaTopology_HA1_00]:
        * Started: [ example-ha-vm1 example-ha-vm2 ]
      * Clone Set: SAPHana_HA1_00-clone [SAPHana_HA1_00] (promotable):
        * Masters: [ example-ha-vm2 ]
        * Slaves: [ example-ha-vm1 ]
    

    SLES

    プライマリ ホストとセカンダリ ホストが VM を切り替えたことを示す crm status の出力

  5. コンソールの [ロードバランサの詳細] ページで、[正常] 列に新しいアクティブなプライマリ インスタンスのステータスが「1/1」と表示されていることを確認します。必要に応じてページを更新します。

    Cloud Load Balancing に移動

    例:

    ロードバランサの詳細ページ。ig-example-ha-vm2 インスタンスの [正常] 列に「1/1」が表示されています。

  6. SAP HANA Studio で、ナビゲーション ペインのシステム エントリをダブルクリックしてシステム情報を更新し、システムに接続していることを確認します。

  7. [System Replication Status] リンクをクリックして、プライマリ ホストとセカンダリ ホストでホストが切り替わり、アクティブになっていることを確認します。

    SAP HANA Studio の [System Replication Status] タブのスクリーンショット

SAP HANA 用の Google モニタリング エージェントの設定

必要に応じて、SAP HANA 用に Google のモニタリング エージェントを設定できます。これは、SAP HANA から指標を収集して、Monitoring に送信するものです。Monitoring を使用すると、指標に関するダッシュボードの作成や、指標のしきい値に基づいたカスタム アラートの設定が可能になります。

HA クラスタをモニタリングするには、クラスタの外部の VM インスタンスにモニタリング エージェントをインストールします。モニタリングするホスト インスタンスの IP アドレスとして、クラスタのフローティング IP アドレスを指定します。

SAP HANA 用の Google モニタリング エージェントの設定と構成の詳細については、SAP HANA モニタリング エージェント ユーザーガイドをご覧ください。

SAP HANA への接続

この手順では SAP HANA に外部 IP を使用しないため、SAP HANA インスタンスに接続できるのは、SSH を使用して踏み台インスタンスを経由するか、SAP HANA Studio を使用して Windows サーバーを経由する場合だけになるのでご注意ください。

  • 踏み台インスタンスを介して SAP HANA に接続するには、踏み台インスタンスに接続してから、任意の SSH クライアントを使用して SAP HANA インスタンスに接続します。

  • SAP HANA Studio を経由して SAP HANA データベースに接続するには、リモート デスクトップ クライアントを使用して、Windows Server インスタンスに接続します。接続後、手動で SAP HANA Studio をインストールし、SAP HANA データベースにアクセスします。

デプロイ後のタスクの実行

SAP HANA インスタンスを使用する前に、次のデプロイ後の手順を実行することをおすすめします。詳細については、SAP HANA のインストールおよび更新ガイドをご覧ください。

  1. SAP HANA システム管理者とデータベースのスーパーユーザーの仮のパスワードを変更します。

  2. SAP HANA ソフトウェアを、最新のパッチで更新します。

  3. アプリケーション機能ライブラリ(AFL)またはスマートデータ アクセス(SDA)などの、追加コンポーネントがあればインストールします。

  4. 新しい SAP HANA データベースを、構成してバックアップをとります。詳細については、SAP HANA オペレーション ガイドをご覧ください。

次のステップ