Bare Metal Solution 向け SAP HANA のデプロイガイド

このガイドでは、SAP HANA に固有、または関連する Bare Metal Solution 環境を設定する際の特性について説明します。

Bare Metal Solution 環境で、SAP のドキュメントに沿って SAP HANA と他の SAP ソフトウェアをご自身でインストールしてください。

このガイドでは、Bare Metal Solution 環境の SAP HANA で必須またはオプションの SAP 用 Google Cloud 基本サービスについても説明します。

デプロイの計画に役立つ Bare Metal Solution 向けの SAP HANA の概要については、Bare Metal Solution プランニング ガイドをご覧ください。

手順の概要

以下のリストに、マシンの準備が整ったことを Google Cloud が通知した後、Bare Metal Solution に SAP HANA をデプロイするために完了する必要がある手順を示します。

  1. Bare Metal Solution のドキュメントに従って、新しいマシンへの接続を完了します。設定手順については、Bare Metal Solution ドキュメントの Bare Metal Solution 環境の設定をご覧ください。
  2. SAP HANA のマシン構成を検証します
Google Cloud リソースにアクセスする必要のあるアプリケーションの IAM サービス アカウントを作成します。サービス アカウントを設定するをご覧ください。
  1. ソフトウェア アップデートのためにインターネットの接続を確立します。Bare Metal Solution ドキュメントのインターネットにアクセスするをご覧ください。
  2. Google Cloud APIs への接続を確立します。Bare Metal Solution ドキュメントの Google Cloud APIs とサービスへのアクセスの設定をご覧ください。
  3. Google Cloud の SAP 用エージェントをインストールします。必要に応じて、エージェントの Backint 機能を有効にできます。
  4. ネットワーク タイム プロトコル(NTP)サーバーへのアクセスを設定します(このガイドでは説明しません)。
  5. ドメイン ネーム システム(DNS)サーバーを設定します(このガイドでは説明しません)。

SAP HANA のマシン構成を検証する

初めてマシンにログインする際は、マシン、オペレーティング システム、ストレージを受信したときの順番と、すべてが正しく構成されていることを確認する必要があります。

Bare Metal Solution ドキュメントに記載されている一般的な検証チェックに加えて、SAP HANA に固有の次の項目を検証します。

  • オペレーティング システムが、SAP 固有の正しいバージョンであること
  • SAP HANA ボリュームとファイル システムのマウントが正しくマッピングされていること
  • ストレージが正しく構成されていること
  • 時刻がサーバー間で同期されていること

Bare Metal Solution のマシン検証については、Bare Metal Solution マシンに初めてログインするをご覧ください。

アプリケーションのサービス アカウントを設定する

Bare Metal Solution 環境から Google Cloud リソースにアクセスするアプリケーション プログラム、エージェント、またはプロセスには、認証と認可用の IAM サービス アカウントが必要です。

サービス アカウントの作成:

  1. Google Cloud コンソールで、[サービス アカウント] ページに移動します。

    [サービス アカウント] ページに移動

  2. Google Cloud プロジェクトを選択します。

  3. [サービス アカウントを作成] をクリックします。

  4. サービス アカウントの名前を指定します。必要であれば、説明も入力します。

  5. [作成して続行] をクリックします。

  6. [このサービス アカウントにプロジェクトへのアクセスを許可する] パネルで、アプリケーションに必要な権限を含むロールを選択します。

    たとえば、高可用性クラスタで使用される fence_gce エージェントには、IAM ロール roles/baremetalsolution.editorroles/baremetalsolution.admin に含まれる baremetalsolution.service.resetInstance 権限が必要です。

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

  8. 必要に応じて、他のユーザーにサービス アカウントへのアクセス権を付与します。

  9. [完了] をクリックします。

  10. Google Cloud コンソールの [サービス アカウント] ページで、作成したサービス アカウントのメールアドレスをクリックします。

  11. サービス アカウント名で [キー] タブをクリックします。

  12. [鍵を追加] プルダウン メニューをクリックして [新しい鍵を作成] を選択し、サービス アカウント キーを作成します。

  13. 鍵のタイプとして JSON を選択し、[作成] をクリックします。秘密鍵がパソコンに保存されます。

  14. JSON キーファイルを、必要とするアプリケーションからアクセスできる Bare Metal Solution サーバーの安全な場所にアップロードします。

  15. アプリケーションを構成して、JSON キーファイルにアクセスします。

    たとえば、fence_gce エージェントを使用する高可用性クラスタ リソースを作成する場合は、fence_gce 構成プロパティで JSON キーファイルのパスとファイルの名前を指定します。

IAM サービス アカウントの詳細については、以下をご覧ください。

アプリケーション サーバーへの接続の確認

SAP HANA サーバーとアプリケーション サーバーの間にネットワーク接続があることを確認します。

Google Cloud とゲスト オペレーティング システムのファイアウォール ルールで、サーバー間のトラフィックが許可されていることを確認します。

ボリュームからストレージへのマッピングの検証

SAP HANA ボリュームはすでにストレージにマッピングされていますが、念のために検証する必要があります。

48 TiB のストレージの場合、Bare Metal Solution サーバーでの SAP HANA のボリューム レイアウトは次のようになります。

  • /hana/log: 4 つの 768 GiB LUNS。64 KiB ブロックサイズを使用して LVM でストライプ化
  • /hana/data: 4 つの 10.5 TiB LUNS。256 KiB ブロックサイズを使用して LVM でストライプ化
  • /hana/shared: 3 TiB ボリューム
  • /usr/sap: 200 GiB ボリュームをオペレーティング システムと共有

次の表に、ボリューム グループと論理ボリュームの構成を示します。

ボリューム グループ 論理ボリューム 構成
hanadatavg data それぞれ最低 10 TiB 以上の 4 台のデバイスでストライプ化。ブロックサイズは 256 KiB
hanalogvg log それぞれ 768 GiB 以上の 4 台のデバイスでストライプ化。ブロックサイズは 64 KiB
hanasharedvg shared 3 TiB デバイスで線形化(ストライプ化なし)

SAP HANA の Bare Metal Solution へのインストール

Bare Metal Solution ホストマシンに SAP HANA をインストールするには、SAP HANA のバージョンに応じた SAP のインストール ドキュメントの説明に従ってください。

ご使用の SAP HANA のバージョンのインストール ドキュメントを確認するには、SAP ヘルプポータルをご覧ください。

高可用性クラスタを構成する

ビジネス クリティカルなワークロードに、クラスタリングまたは最適な高可用性ソリューションを構成します。Pacemaker クラスタリングをおすすめします。

いくつかの要件と推奨事項を除き、オペレーティング システム ベンダーが提供するクラスタリングの手順に沿って、Bare Metal Solution マシンで高可用性クラスタを構成します。

Google Cloud の要件と、Bare Metal Solution で高可用性の SAP HANA システムを構成するための推奨事項については、Bare Metal Solution での SAP HANA 用の高可用性クラスタをご覧ください。

フローティング IP アドレス

高可用性クラスタは、フローティング IP アドレスまたは仮想 IP アドレス(VIP)を使用して、アクティブな SAP HANA システムとネットワーク通信を行います。VIP を構成するときは、標準の IPaddr2 Pacemaker リソースを使用します。次の例は、SUSE の IPaddr2 リソース定義を示しています。

crm configure primitive rsc_ip_HA1_HDB10 IPaddr2 \
    params ip=10.0.0.79 \
    op monitor interval=10 timeout=20

HANA サービスとのコロケーションの関係で IPaddr2 リソースを構成することで、フェイルオーバー時にアクティブ データベースとともに移行されます。例:

colocation col_saphana_ip_HA1_HDB10 2000: rsc_ip_HA1_HDB10:Started \
   msl_SAPHana_HA1_HDB10:Master

フェンシング デバイスを構成する

SAP HANA 用の Linux 高可用性クラスタでは、スプリット ブレインを避けるため、障害が発生したノードをリセットできるフェンシング デバイスが必要です。

Bare Metal Solution 環境では、フェンシング デバイスを実装する方法が 2 つあります。

  • ソフトウェア ウォッチドッグと共有ブロック ストレージを備えた SBD。SBD をおすすめしますが、すべてのオペレーティング システムが SBD によるソフトウェア ウォッチドッグをサポートしているわけではありません。
  • fence_gce エージェントと Bare Metal Solution API の resetInstance メソッド。

共有ブロック ストレージを使用して SBD フェンシングを構成する

SBD フェンシングを構成するには、ソフトウェア ベンダーから提供された手順を行う必要があります。

このセクションでは、Google Cloud が SBD フェンシング用にプロビジョニングしたストレージ デバイスを特定して検証する方法について説明します。

SUSE の SBD フェンシングを構成するには、以下をご覧ください。

SBD フェンシング用ブロック ストレージ デバイスを検証する

Google Cloud では、SBD フェンシングを使用する高可用性クラスタをプロビジョニングするときに、SBD ブロック ストレージ用に 3 つの共有 LUN を作成します。

SBD 用の共有ストレージ デバイスを識別するには、multipath -ll コマンドを発行して、両方のサーバーのマルチパス デバイスのリストを取得します。

multipath -ll | grep "size=Size of your LUN" -B1

各リストで、同じサイズの 3 つのデバイスを探し、それらの名前をメモしておきます。デフォルトのサイズは 50 GB です。

次の例では、multipath -ll コマンドから返されるマルチパス デバイスのリストをフィルタするため、文字列 size=50G を使用しています。

multipath -ll | grep "size=50G" -B1

上記のコマンドの出力例には、SBD フェンシングに使用される 50 GB のマルチパス デバイスが 3 つ含まれています。

3600a098038314566785d5150506a594b dm-16,LUN C-Mode
size=50G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 alua' wp=rw
--
3600a098038314566785d5150506a594c dm-15,LUN C-Mode
size=50G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 alua' wp=rw
--
3600a098038314566785d5150506a594d dm-11,LUN C-Mode
size=50G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 alua' wp=rw

3 つのデバイスの名前は両方のサーバーで完全に一致しているはずです。これは、共有 LUN であることを意味します。

オペレーティング システム ベンダーが提供する SBD の構成手順を行う場合は、この 3 つのデバイス名を使用します。

たとえば、SBD を使用するように各デバイスを初期化し、待機時間とタイムアウト値を設定する場合は、次のようにデバイス名を指定します。

sbd -d /dev/mapper/3600a098038314566785d5150506a594b -1 60 -4 180 create

/etc/sysconfig/sbd で SBD 構成を設定する場合は、デバイス名も指定する必要があります。例:

SBD_DEVICE="/dev/mapper/3600a098038314566785d5150506a594b;/dev/mapper/3600a098038314566785d5150506a594c;/dev/mapper/3600a098038314566785d5150506a594d"
[..]
SBD_PACEMAKER="yes"
[...]
SBD_STARTMODE="always"

fence_gce エージェントを構成する

次の詳細な手順は、Linux オペレーティング システムとともに含まれる fence_gce エージェントを使用する高可用性クラスタに、フェンシング リソースを構成するのに役立ちます。

  1. Google Cloud プロジェクトで、baremetalsolution.service.resetInstance 権限を含む IAM ロールを、JSON キーファイルがある新規または既存の IAM サービス アカウントに割り当てます。

    事前定義ロール roles/baremetalsolution.editor には必要な権限が含まれています。または、カスタムロールを作成してロールに含まれる権限をさらに細かく管理できます。

    詳細情報

  1. サービス アカウントの JSON キーファイルを、高可用性クラスタ内のすべての Bare Metal Solution サーバーにアップロードします。

  2. fence_gce エージェントのバージョンが Bare Metal Solution をサポートしていることを確認します。

    1. Bare Metal Solution サーバーに SSH で接続します。

    2. fence_gce エージェントのヘルプを表示します。

      $ sudo fence_gce --help
    3. fence_gce ヘルプで、次のプロパティを確認します。

      --baremetalsolution            Enable on bare metal
      ...
      --serviceaccount=[filename]    Service account json file location e.g.
                                         serviceaccount=/somedir/service_account.json
      

      --baremetalsolution プロパティと --serviceaccount=[filename] プロパティの両方が表示されない場合は、エージェントを更新する必要があります。パッチの適用手順については、Cloud カスタマーケアにお問い合わせください。パッチ適用手順は、使用している Linux のバージョンによって異なります。

  3. オペレーティング システムのベンダーが提供するクラスタリングの手順に沿ってクラスタ リソースを構成する場合は、各クラスタノードでフェンシング デバイスとして fence_gce エージェントを指定します。

    リソースを定義する際に、次の fence_gce パラメータを指定して、Bare Metal Solution 環境用のエージェントを有効にします。

    • baremetalsolution="true"
    • serviceaccount="file_path/key_file.json"

    次の例に、SUSE で定義されている fence_gce フェンシング デバイス リソースを示します。

    crm configure primitive STONITH-"server_name" stonith:fence_gce \
     op monitor interval="300s" timeout="60s" on-fail="restart" \
     op start interval="0" timeout="60s" onfail="restart" \
     params port="server_name" zone="Google_Cloud_zone" project="Google_Cloud_project_ID" \
       baremetalsolution="true" method="cycle" \
       serviceaccount="file_path/key_file.json"

    フェンシング リソースの例では、次の定義を使用します。

    定義 説明
    baremetalsolution=true Bare Metal Solution 環境で動作するようにフェンシング エージェントを構成します。
    serviceaccount=file_path/key_file.json フェンシング エージェントが Google Cloud APIs にアクセスするために使用するサービス アカウントのキーが含まれる JSON キーファイルへのファイルパス。
    port=server_name フェンス デバイスがリセットできる Bare Metal Solution サーバーの元のホスト名。
    method=cycle 失敗したサーバーのリセットに使用するメソッドを定義します。
  4. フェンシング リソースを定義したら、フェンシング デバイスの場所を、リセットするサーバー以外のサーバーに設定します。

    crm configure location LOC_STONITH_server_name STONITH-server_name -inf: server_name

Google Cloud の SAP 用エージェントをインストールする

Bare Metal Solution サーバーで実行されている SAP システムの SAP サポートには、Google Cloud の SAP 用エージェントが必要です。

Google Cloud が提供する次の「SAP 用」RHEL または SLES OS イメージを使用する場合、Google Cloud の SAP 用エージェントは OS イメージに含まれています。

  • RHEL: すべての「SAP 用」イメージ
  • SLES: SAP 用 SLES 15 SP4 以降のバージョン

Bare Metal Solution サーバーで SAP の実行に使用できるオペレーティング システムについては、以下をご覧ください。

Bare Metal Solution サーバーに Google Cloud の SAP 用エージェントをインストールするには、次の操作を行います。

  1. Bare Metal Solution サーバーとの SSH 接続を確立します。

  2. ターミナルでオペレーティング システムに固有のコマンドを実行して、エージェントをインストールします。

    • (推奨)エージェントのバージョン 3.2(最新)をインストールするには:

      RHEL

      sudo tee /etc/yum.repos.d/google-cloud-sap-agent.repo << EOM
         [google-cloud-sap-agent]
         name=Google Cloud Agent for SAP
         baseurl=https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-el$(cat /etc/redhat-release | cut -d . -f 1 | tr -d -c 0-9)-x86_64
         enabled=1
         gpgcheck=1
         repo_gpgcheck=0
         gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
         EOM
         sudo yum install google-cloud-sap-agent

      SLES15

      sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-sles15-x86_64 google-cloud-sap-agent
         sudo zypper install google-cloud-sap-agent

      SLES 12

      sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-sles12-x86_64 google-cloud-sap-agent
         sudo zypper install google-cloud-sap-agent
    • 特定のバージョンのエージェントをインストールするには:

      RHEL

      sudo tee /etc/yum.repos.d/google-cloud-sap-agent.repo << EOM
         [google-cloud-sap-agent]
         name=Google Cloud Agent for SAP
         baseurl=https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-el$(cat /etc/redhat-release | cut -d . -f 1 | tr -d -c 0-9)-x86_64
         enabled=1
         gpgcheck=1
         repo_gpgcheck=0
         gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
         EOM
         sudo yum install google-cloud-sap-agent-VERSION_NUMBER.x86_64

      SLES15

      sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-sles15-x86_64 google-cloud-sap-agent
         sudo zypper install google-cloud-sap-agent-VERSION_NUMBER.x86_64

      SLES 12

      sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-sles12-x86_64 google-cloud-sap-agent
         sudo zypper install google-cloud-sap-agent-VERSION_NUMBER.x86_64

      VERSION_NUMBER は、インストールするエージェントのバージョン番号(3.1-606637668 など)に置き換えます。インストール可能なエージェント バージョンについては、使用可能なすべてのエージェント バージョンを一覧表示するをご覧ください。

  3. 次の構成ファイルを開きます。

    /etc/google-cloud-sap-agent/configuration.json

  4. 次のパラメータを変更するか、構成ファイルに追加します。

    • 最初のセクション:
      • bare_metal: true に設定します
    • cloud_properties セクションを追加し、次のパラメータを指定します。
      • project_id: Google Cloud プロジェクトを指定します
      • instance_name: Bare Metal Solution サーバーの名前を指定します
      • region: Bare Metal Solution サーバーのリージョンを指定します
  5. 構成ファイルを保存します。

  6. エージェントを再起動します。

    sudo systemctl restart google-cloud-sap-agent

構成パラメータの詳細については、Google Cloud の SAP 用エージェントを Bare Metal Solution サーバーにインストールするをご覧ください。

Google Cloud の SAP 用エージェントと SAP Host Agent をインストールしたら、エージェントのインストールを検証するの説明に従って、Google Cloud の SAP 用エージェントのインストールを検証します。

Google Cloud の SAP 用エージェントのインストールを検証する

  1. Bare Metal Solution サーバーと SSH 接続を確立します。

  2. 次のコマンドを実行します。

    systemctl status google-cloud-sap-agent

    エージェントが正常に機能している場合、出力には active (running) が含まれます。例:

    google-cloud-sap-agent.service - Google Cloud Agent for SAP
    Loaded: loaded (/usr/lib/systemd/system/google-cloud-sap-agent.service; enabled; vendor preset: disabled)
    Active:  active (running)  since Fri 2022-12-02 07:21:42 UTC; 4 days ago
    Main PID: 1337673 (google-cloud-sa)
    Tasks: 9 (limit: 100427)
    Memory: 22.4 M (max: 1.0G limit: 1.0G)
    CGroup: /system.slice/google-cloud-sap-agent.service
           └─1337673 /usr/bin/google-cloud-sap-agent
    

エージェントが実行されていない場合は、エージェントを再起動します。

SAP Host Agent が指標を受信していることを確認する

Google Cloud の SAP 用エージェントによってインフラストラクチャの指標が収集され、SAP Host Agent に正しく送信されていることを確認するには、次の操作を行います。

  1. SAP システムで、トランザクションとして「ST06」を入力します。
  2. 概要ウィンドウで可用性と以下のフィールドの内容を確認し、SAP と Google モニタリング インフラストラクチャのエンドツーエンドの設定が正しいか調べます。

    • クラウド プロバイダ: Google Cloud Platform
    • Enhanced Monitoring Access: TRUE
    • Enhanced Monitoring Details: ACTIVE

SAP HANA のモニタリングを設定する

必要に応じて、Google Cloud の SAP 用エージェントを使用して SAP HANA インスタンスをモニタリングできます。バージョン 2.0 以降では、SAP HANA モニタリング指標を収集して Cloud Monitoring に送信するようにエージェントを構成できます。Cloud Monitoring を使用すると、これらの指標を可視化するダッシュボードを作成し、指標のしきい値などに基づくアラートを設定できます。

Bare Metal Solution 環境で実行されている SAP インスタンスをモニタリングするには、Google Cloud の SAP 用エージェントを Bare Metal Solution サーバーまたは Compute Engine VM インスタンスにインストールします。デプロイ アーキテクチャでエージェントのホストが配置されている場所に応じて、SAP HANA モニタリング指標のローカル収集、リモート収集、またはハイブリッド収集を有効にできます。

Google Cloud の SAP 用エージェントを使用している SAP HANA モニタリング指標の収集の詳細については、SAP HANA モニタリング指標の収集をご覧ください。

Backint 機能を有効にする

必要に応じて、Google Cloud の SAP 用エージェントの Backint 機能を使用して、SAP HANA システムのバックアップと復元を実行できます。

エージェントの Backint 機能の構成ガイドで説明されているように、Google Cloud でサービス アカウントを作成し、SAP HANA ホストマシン上のエージェントに対してサービス アカウント キーのアクセス権を指定する必要があります。

Google Cloud の SAP 用エージェントの Backint 機能を有効にする手順については、SAP HANA 用に Backint ベースのバックアップと復元を構成するをご覧ください。

Bare Metal Solution 環境のメンテナンス

SAP HANA を実行する Bare Metal Solution 環境の場合、Google Cloud では、Bare Metal Solution のサーバー、ストレージ、ネットワークのメンテナンスに使用できる次のセルフサービス機能を提供しています。

Bare Metal Solution 上の SAP HANA に関するサポートを利用する

Bare Metal Solution の SAP HANA デプロイメントに関するサポートが必要な場合は、必要な診断情報を収集し、Cloud カスタマーケアにお問い合わせください。詳細については、Bare Metal Solution の SAP の診断情報をご覧ください。

サポート

Google Cloud のインフラストラクチャやサービスに関する問題については、カスタマーケアにお問い合わせください。連絡先は、Google Cloud コンソールのサポートの概要ページで確認できます。カスタマーケアが SAP システムに問題があると判断した場合は、SAP サポートをご案内します。

SAP プロダクト関連の問題については、SAP サポートでサポート リクエストを送信してください。SAP はサポート チケットを評価し、Google Cloud インフラストラクチャの問題と判断した場合は、そのチケットを Google Cloud コンポーネントの BC-OP-LNX-GOOGLE または BC-OP-NT-GOOGLE に転送します。

サポート要件

SAP システムと、そのシステムが使用する Google Cloud のインフラストラクチャおよびサービスに対するサポートを受けるには、サポートプランの最小限の要件を満たす必要があります。

Google Cloud での SAP に関する最小限のサポート要件について詳しくは、以下をご覧ください。