SAP アプリケーション用の Azure NetApp Files を使用した RHEL 上の SAP NetWeaver に対する Azure Virtual Machines の高可用性

この記事では、Azure NetApp Files を使って、仮想マシン (VM) のデプロイ、VM の構成、クラスター フレームワークのインストール、高可用性 SAP NetWeaver 7.50 システムのインストールを行う方法について説明します。 構成とインストール コマンドの例で、ASCS インスタンスの番号は 00、ERS インスタンスの番号は 01、プライマリ アプリケーション インスタンス (PAS) の番号は 02、アプリケーション インスタンス (AAS) の番号は 03 です。 SAP システム ID QAS が使用されます。

データベース レイヤーについては、詳しくは説明していません。

前提条件

はじめに、次の SAP Note およびガイドを確認してください

概要

SAP NetWeaver セントラル サービスの高可用性 (HA) には、共有ストレージが必要です。 これまで、Red Hat Linux 上で HA を実現するには、高可用性の GlusterFS クラスターを別に構築する必要がありました。

現在は、Azure NetApp Files にデプロイされた共有ストレージを使って、SAP NetWeaver の HA を実現できるようになりました。 Azure NetApp Files を共有ストレージに使うと、追加の GlusterFS クラスターは必要なくなります。 SAP NetWeaver セントラル サービス (ASCS/SCS) の HA を実現するには、依然として Pacemaker が必要です。

Diagram that shows SAP NetWeaver high-availability overview.

SAP NetWeaver ASCS、SAP NetWeaver SCS、SAP NetWeaver ERS、SAP HANA データベースでは、仮想ホスト名と仮想 IP アドレスが使用されます。 Azure 上で仮想 IP アドレスを使用するには、ロード バランサーが必要です。 Standard Azure Load Balancer を使うことをおすすめします。 この構成では、次のようなロード バランサーが示されています。

  • ASCS 用のフロントエンド IP アドレス 192.168.14.9。
  • ERS 用のフロントエンド IP アドレス 192.168.14.10。
  • ASCS 用のプローブ ポート 62000。
  • ERS 用のプローブ ポート 62101。

Azure NetApp Files インフラストラクチャを設定する

SAP NetWeaver では、転送とプロファイル ディレクトリ用の共有ストレージが必要です。 Azure NetApp Files インフラストラクチャの設定を続行する前に、「Azure NetApp Files のドキュメント」の内容をよく理解しておいてください。 選択した Azure リージョンで、Azure NetApp Files が利用できるかどうかを確認します。 Azure NetApp Files を利用できる Azure リージョンについては、Azure NetApp Files を利用できる Azure リージョンがわかるページをご覧ください。

Azure NetApp Files は、複数の Azure リージョンで利用できます。

Azure NetApp Files リソースのデプロイ

以下の手順では、Azure Virtual Network が既にインストールされていることを前提としています。 Azure NetApp Files のリソースと、Azure NetApp Files のリソースがマウントされる VM は、同じ Azure 仮想ネットワーク内またはピアリングされた Azure 仮想ネットワーク内にデプロイする必要があります。

  1. Azure NetApp Files アカウントの作成手順に従って、選択した Azure リージョンに Azure NetApp Files アカウントを作成します。

  2. Azure NetApp Files の容量プールの設定手順に従って、Azure NetApp Files の容量プールを設定します。 この記事で示されている SAP NetWeaver アーキテクチャでは、1 つの Azure NetApp Files の容量プール、Premium SKU を使用しています。 Azure 上の SAP NetWeaver アプリケーション ワークロード用には、Azure NetApp Files Premium SKU をお勧めします。

  3. Azure NetApp Files へのサブネットの委任手順に従って、サブネットを Azure NetApp Files に委任します。

  4. Azure NetApp Files 用のボリュームの作成手順に従って、Azure NetApp Files のボリュームをデプロイします。 指定された Azure NetApp Files のサブネット内にボリュームをデプロイします。 Azure NetApp ボリュームの IP アドレスは、自動的に割り当てられます。 Azure NetApp Files のリソースと Azure VM は、同じ Azure 仮想ネットワーク内またはピアリングされた Azure 仮想ネットワーク内に存在する必要があります。 この例では、sapQAS と transSAP という、2 つの Azure NetApp Files ボリュームを使います。 対応するマウント ポイントにマウントされるファイル パスは、/usrsapqas/sapmntQAS および /usrsapqas/usrsapQASsys です。

    1. ボリューム sapQAS (nfs://192.168.24.5/usrsapqas/sapmntQAS)
    2. ボリューム sapQAS (nfs://192.168.24.5/usrsapqas/usrsapQASascs)
    3. ボリューム sapQAS (nfs://192.168.24.5/usrsapqas/usrsapQASsys)
    4. ボリューム sapQAS (nfs://192.168.24.5/usrsapqas/usrsapQASers)
    5. ボリューム transSAP (nfs://192.168.24.4/transSAP)
    6. ボリューム sapQAS (nfs://192.168.24.5/usrsapqas/usrsapQASpas)
    7. ボリューム sapQAS (nfs://192.168.24.5/usrsapqas/usrsapQASaas)

この例では、すべての SAP NetWeaver ファイル システムに Azure NetApp Files を使って、Azure NetApp Files の使用方法を説明しました。 NFS 経由でマウントする必要がない SAP ファイル システムを Azure ディスク ストレージとしてデプロイすることもできます。 この例では、a から e は Azure NetApp Files 上に配置する必要があり、f から g (つまり、/usr/sap/QAS/D02 と /usr/sap/QAS/D03) は Azure ディスク ストレージとしてデプロイできます。

重要な考慮事項

RHEL HA アーキテクチャで SAP NetWeaver 用に Azure NetApp Files を検討するときは、以下の重要な考慮事項に注意してください。

  • 最小容量プールは 4 TiB です。 容量プールのサイズは、1 TiB 単位で増やすことができます。
  • 最小ボリュームは 100 GiB です。
  • Azure NetApp Files と、Azure NetApp Files のボリュームがマウントされるすべての VM は、同じ Azure 仮想ネットワーク内、または同じリージョンのピアリングされた仮想ネットワーク内に存在する必要があります。 同じリージョン内の仮想ネットワーク ピアリングを介した Azure NetApp Files のアクセスがサポートされるようになっています。 グローバル ピアリング経由での Azure NetApp Files のアクセスは、まだサポートされていません。
  • 選択する仮想ネットワークでは、サブネットが Azure NetApp Files に委任されている必要があります。
  • Azure NetApp Files のボリュームのスループットとパフォーマンスの特性は、ボリューム クォータとサービス レベルに応じて変わります。 詳しくは、「Azure NetApp Files のサービス レベル」をご覧ください。 SAP Azure NetApp のボリュームのサイズを設定するときは、結果として得られるスループットがアプリケーションの要件を満たしていることを確認してください。
  • Azure NetApp Files にはエクスポート ポリシーが用意されています。 許可されるクライアントとアクセスの種類 (読み取り/書き込み、読み取り専用など) を制御できます。
  • Azure NetApp Files 機能は、ゾーンにはまだ対応していません。 現在、Azure NetApp Files 機能は、Azure リージョン内のすべての可用性ゾーンにはデプロイされません。 Azure リージョンによっては、待ち時間が発生する可能性があることに注意してください。
  • Azure NetApp Files のボリュームは、NFSv3 または NFSv4.1 ボリュームとしてデプロイできます。 SAP アプリケーションレイヤー (ASCS/ERS、SAP アプリケーション サーバー) では、両方のプロトコルがサポートされています。

インフラストラクチャの準備

Azure Marketplace には、高可用性アドオンを使用して SAP に認定されたイメージが含まれています。このイメージを使用して、さまざまなバージョンの Red Hat を使用して新しい VM をデプロイできます。

Azure portal 経由での手動による Linux VM のデプロイ

このドキュメントは、Azure 仮想ネットワーク、サブネット、リソース グループが既にデプロイ済みであることを前提としています。

SAP ASCS、ERS、およびアプリケーション サーバー用の VM をデプロイします。 SAP システムでサポートされている適切な RHEL イメージを選択します。 VM は、仮想マシン スケール セット、可用性ゾーン、または可用性セットのいずれかの可用性オプションにデプロイできます。

Azure Load Balancer の構成

VM 構成中に、ネットワーク セクションでロード バランサーを作成するか既存のものを選択する選択肢もあります。 SAP ASCS と SAP ERS の高可用性セットアップ用に Standard Load Balancer を構成するには、次の手順に従います。

ロード バランサーの作成ガイドに従って、Azure portal を使用して高可用性 SAP システム用の標準ロード バランサーを設定します。 ロード バランサーのセットアップ中は、次の点を検討してください。

  1. フロントエンド IP 構成: 2 つのフロントエンド IP を作成します。1 つは ASCS 用、もう 1 つは ERS 用です。 ASCS/ERS 仮想マシンと同じ仮想ネットワークとサブネットを選択します。
  2. バックエンド プール: バックエンド プールを作成し、ASCS と ERS VM を追加します。
  3. 受信規則: 2 つの負荷分散規則を作成します。1 つは ASCS 用、もう 1 つは ERS 用です。 両方の負荷分散規則に対して同じ手順に従います。
    • フロントエンド IP アドレス: フロントエンド IP の選択
    • バックエンド プール: バックエンド プールを選択する
    • [高可用性ポート] を確認する
    • プロトコル: TCP
    • 正常性プローブ: 以下の詳細を使用して正常性プローブを作成します (ASCS と ERS の両方に適用されます)
      • プロトコル: TCP
      • ポート: [例: 620<Instance-no.> for ASCS, 621<Instance-no.> for ERS]
      • 間隔: 5
      • プローブのしきい値: 2
    • アイドル タイムアウト (分): 30
    • [Enable Floating IP]\(フローティング IP を有効にする\) をオンにします

Note

正常性プローブ構成プロパティ numberOfProbes (ポータルでは [異常のしきい値] と呼ばれます) が順守されていません。 したがって、成功または失敗した連続プローブの数を制御するには、プロパティ "probeThreshold" を 2 に設定します。 現在、Azure portal を使用してこのプロパティを設定することはできません。そのため、Azure CLI または PowerShell コマンドを使用します。

重要

フローティング IP は、負荷分散シナリオの NIC セカンダリ IP 構成ではサポートされていません。 詳細については、Azure Load Balancer の制限事項に関するセクションをご覧ください。 VM にさらに IP アドレスが必要な場合は、2 つ目の NIC をデプロイします。

Note

パブリック IP アドレスのない VM が、内部の (パブリック IP アドレスのない) Standard ロード バランサーのバックエンド プール内に配置されている場合、さらに構成を行ってパブリック エンドポイントへのルーティングを許可しない限り、アウトバウンド インターネット接続はありません。 アウトバウンド接続を実現する方法について詳しくは、「SAP の高可用性シナリオにおける Azure Standard Load Balancer を使用した Virtual Machines のパブリック エンドポイント接続」をご覧ください。

重要

Azure Load Balancer の背後に配置された Azure VM では TCP タイムスタンプを有効にしないでください。 TCP タイムスタンプを有効にすると正常性プローブが失敗する可能性があります。 パラメーター net.ipv4.tcp_timestamps0 に設定します。 詳細については、「Load Balancer の正常性プローブ」を参照してください。

ID マッピングを無効にする (NFSv4.1 を使用する場合)

このセクションの手順は、NFSv4.1 プロトコルで Azure NetApp Files のボリュームを使っている場合にのみ適用されます。 Azure NetApp Files NFSv4.1 ボリュームがマウントされるすべての VM で構成を実行します。

  1. NFS ドメイン設定を確認します。 ドメインが既定の Azure NetApp Files ドメイン (つまり defaultv4iddomain.com) として構成され、マッピングが nobody に設定されていることを確認します。

    重要

    Azure NetApp Files の既定のドメイン構成 ( defaultv4iddomain.com ) と一致するように、VM 上の /etc/idmapd.conf に NFS ドメインを設定していることを確認します。 NFS クライアント (つまり、VM) と NFS サーバー (つまり、Azure NetApp 構成) の間でドメインの構成が一致しない場合、VM にマウントされている Azure NetApp のボリューム上のファイルに対するアクセス許可は、nobody と表示されます。

    sudo cat /etc/idmapd.conf
    
    # Example
    [General]
    Domain = defaultv4iddomain.com
    [Mapping]
    Nobody-User = nobody
    Nobody-Group = nobody
    

以下で先頭に [A] が付いている項目は、PAS と AAS の両方に適用されます。

  1. [A]nfs4_disable_idmapping を確認します。 これは、Y に設定されている必要があります。nfs4_disable_idmapping が配置されるディレクトリ構造を作成するには、mount コマンドを実行します。 アクセスはカーネルとドライバー用に予約されるため、/sys/modules の下に手動でディレクトリを作成できなくなります。

    # Check nfs4_disable_idmapping 
    cat /sys/module/nfs/parameters/nfs4_disable_idmapping
    
    # If you need to set nfs4_disable_idmapping to Y
    mkdir /mnt/tmp
    mount 192.168.24.5:/sapQAS
    umount  /mnt/tmp
    echo "Y" > /sys/module/nfs/parameters/nfs4_disable_idmapping
    
    # Make the configuration permanent
    echo "options nfs nfs4_disable_idmapping=Y" >> /etc/modprobe.d/nfs.conf
    

(A)SCS を設定する

次に、SAP ASCS と ERS のインスタンスを準備してインストールします。

Pacemaker クラスターの作成

Azure で Red Hat Enterprise Linux に Pacemaker を設定する」の手順に従って、この (A)SCS サーバーに対して基本的な Pacemaker クラスターを作成します。

SAP NetWeaver のインストールを準備する

以下の項目には、次のいずれかのプレフィックスが付いています。

  • [A] :すべてのノードに適用できます
  • [1]: ノード 1 にのみ当てはまる
  • [2]: ノード 2 にのみ当てはまる
  1. [A] ホスト名解決を設定します。

    DNS サーバーを使用するか、すべてのノードの /etc/hosts ファイルを変更することができます。 この例では、/etc/hosts ファイルを使用する方法を示します。 次のコマンドの IP アドレスとホスト名を置き換えます。

    sudo vi /etc/hosts
    

    /etc/hosts に次の行を挿入します。 お使いの環境に合わせて IP アドレスとホスト名を変更します。

    # IP address of cluster node 1
    192.168.14.5    anftstsapcl1
    # IP address of cluster node 2
    192.168.14.6     anftstsapcl2
    # IP address of the load balancer frontend configuration for SAP Netweaver ASCS
    192.168.14.9    anftstsapvh
    # IP address of the load balancer frontend configuration for SAP Netweaver ERS
    192.168.14.10    anftstsapers
    
  2. [1] Azure NetApp Files ボリュームに SAP ディレクトリを作成します。 いずれかの VM で Azure NetApp Files のボリュームを一時的にマウントし、SAP ディレクトリ (ファイル パス) を作成します。

    # mount temporarily the volume
    sudo mkdir -p /saptmp
    
    # If using NFSv3
    sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,nfsvers=3,tcp 192.168.24.5:/sapQAS /saptmp
    
    # If using NFSv4.1
    sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys,tcp 192.168.24.5:/sapQAS /saptmp
    
    # create the SAP directories
    sudo cd /saptmp
    sudo mkdir -p sapmntQAS
    sudo mkdir -p usrsapQASascs
    sudo mkdir -p usrsapQASers
    sudo mkdir -p usrsapQASsys
    sudo mkdir -p usrsapQASpas
    sudo mkdir -p usrsapQASaas
    
    # unmount the volume and delete the temporary directory
    sudo cd ..
    sudo umount /saptmp
    sudo rmdir /saptmp
    
  3. [A] 共有ディレクトリを作成します。

    sudo mkdir -p /sapmnt/QAS
    sudo mkdir -p /usr/sap/trans
    sudo mkdir -p /usr/sap/QAS/SYS
    sudo mkdir -p /usr/sap/QAS/ASCS00
    sudo mkdir -p /usr/sap/QAS/ERS01
    
    sudo chattr +i /sapmnt/QAS
    sudo chattr +i /usr/sap/trans
    sudo chattr +i /usr/sap/QAS/SYS
    sudo chattr +i /usr/sap/QAS/ASCS00
    sudo chattr +i /usr/sap/QAS/ERS01
    
  4. [A] NFS クライアントとその他の要件をインストールします。

    sudo yum -y install nfs-utils resource-agents resource-agents-sap
    
  5. [A]resource-agents-sap のバージョンを確認します。

    インストールされている resource-agents-sap パッケージのバージョンが、3.9.5-124.el7 以上であることを確認します。

    sudo yum info resource-agents-sap
    
    # Loaded plugins: langpacks, product-id, search-disabled-repos
    # Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
    # Installed Packages
    # Name        : resource-agents-sap
    # Arch        : x86_64
    # Version     : 3.9.5
    # Release     : 124.el7
    # Size        : 100 k
    # Repo        : installed
    # From repo   : rhel-sap-for-rhel-7-server-rpms
    # Summary     : SAP cluster resource agents and connector script
    # URL         : https://github.com/ClusterLabs/resource-agents
    # License     : GPLv2+
    # Description : The SAP resource agents and connector script interface with
    #          : Pacemaker to allow SAP instances to be managed in a cluster
    #          : environment.
    
  6. [A] マウント エントリを追加します。

    NFSv3 を使用する場合:

    sudo vi /etc/fstab
    
    # Add the following lines to fstab, save and exit
    192.168.24.5:/sapQAS/sapmntQAS /sapmnt/QAS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3
    192.168.24.5:/sapQAS/usrsapQASsys /usr/sap/QAS/SYS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3
    192.168.24.4:/transSAP /usr/sap/trans nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3
    

    NFSv4.1 を使用する場合:

    sudo vi /etc/fstab
    
    # Add the following lines to fstab, save and exit
    192.168.24.5:/sapQAS/sapmntQAS /sapmnt/QAS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys
    192.168.24.5:/sapQAS/usrsapQASsys /usr/sap/QAS/SYS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys
    192.168.24.4:/transSAP /usr/sap/trans nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys
    

    Note

    ボリュームをマウントするときは、Azure NetApp Files のボリュームの NFS プロトコルのバージョンと一致させてください。 Azure NetApp Files ボリュームが NFSv3 ボリュームとして作成されている場合は、対応する NFSv3 構成を使用します。 Azure NetApp Files ボリュームが NFSv4.1 ボリュームとして作成されている場合は、手順に従って ID マッピングを無効にし、対応する NFSv4.1 構成を使用してください。 この例では、Azure NetApp Files のボリュームは NFSv3 ボリュームとして作成されています。

    新しい共有をマウントします。

    sudo mount -a  
    
  7. [A] スワップ ファイルを構成します。

    sudo vi /etc/waagent.conf
    
    # Set the property ResourceDisk.EnableSwap to y
    # Create and use swapfile on resource disk.
    ResourceDisk.EnableSwap=y
    
    # Set the size of the SWAP file with property ResourceDisk.SwapSizeMB
    # The free space of resource disk varies by VM size. Make sure that you do not set a value that is too big. You can check the SWAP space with command swapon
    # Size of the swapfile.
    ResourceDisk.SwapSizeMB=2000
    

    エージェントを再起動して変更をアクティブにします。

    sudo service waagent restart
    
  8. [A] RHEL OS の構成を行います。

    RHEL のバージョンに基づいて、SAP Note 20021672772999、または 3108316 に記載されている構成を実行します。

SAP NetWeaver ASCS をインストールする

  1. [1] クラスターの既定のプロパティを構成します。

    pcs resource defaults resource-stickiness=1
    pcs resource defaults migration-threshold=3
    
  2. [1] ASCS インスタンス用の仮想 IP リソースと正常性プローブを作成します。

    sudo pcs node standby anftstsapcl2
    
    # If using NFSv3
    sudo pcs resource create fs_QAS_ASCS Filesystem device='192.168.24.5:/sapQAS/usrsapQASascs' \
      directory='/usr/sap/QAS/ASCS00' fstype='nfs' force_unmount=safe \
      op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=40 \
      --group g-QAS_ASCS
    
    # If using NFSv4.1
    sudo pcs resource create fs_QAS_ASCS Filesystem device='192.168.24.5:/sapQAS/usrsapQASascs' \
      directory='/usr/sap/QAS/ASCS00' fstype='nfs' force_unmount=safe options='sec=sys,nfsvers=4.1' \
      op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=105 \
      --group g-QAS_ASCS
    
    sudo pcs resource create vip_QAS_ASCS IPaddr2 \
      ip=192.168.14.9 \
      --group g-QAS_ASCS
    
    sudo pcs resource create nc_QAS_ASCS azure-lb port=62000 \
      --group g-QAS_ASCS
    

    クラスターの状態が正常であることと、すべてのリソースが起動されていることを確認します。 リソースがどのノードで実行されているかは重要ではありません。

    sudo pcs status
    
    # Node anftstsapcl2: standby
    # Online: [ anftstsapcl1 ]
    #
    # Full list of resources:
    #
    # rsc_st_azure    (stonith:fence_azure_arm):      Started anftstsapcl1
    #  Resource Group: g-QAS_ASCS
    #      fs_QAS_ASCS        (ocf::heartbeat:Filesystem):    Started anftstsapcl1
    #      nc_QAS_ASCS        (ocf::heartbeat:azure-lb):      Started anftstsapcl1
    #      vip_QAS_ASCS       (ocf::heartbeat:IPaddr2):       Started anftstsapcl1
    
  3. [1] SAP NetWeaver ASCS をインストールします。

    ASCS のロード バランサー フロントエンド構成の IP アドレスに対応する仮想ホスト名 (例: anftstsapvh)、192.168.14.9、ロード バランサーのプローブに使ったインスタンス番号 (例: 00) を使って、root として SAP NetWeaver ASCS を最初のノードにインストールします。

    sapinst のパラメーター SAPINST_REMOTE_ACCESS_USER を使用すると、ルート以外のユーザーが sapinst に接続することを許可できます。

    # Allow access to SWPM. This rule is not permanent. If you reboot the machine, you have to run the command again.
    sudo firewall-cmd --zone=public  --add-port=4237/tcp
    
    sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=<virtual_hostname>
    

    インストールで /usr/sap/QAS/ASCS00 へのサブフォルダーの作成に失敗する場合は、ASCS00 フォルダーの所有者とグループを設定し、もう一度試してください。

    sudo chown qasadm /usr/sap/QAS/ASCS00
    sudo chgrp sapsys /usr/sap/QAS/ASCS00
    
  4. [1] ERS インスタンス用の仮想 IP リソースと正常性プローブを作成します。

    sudo pcs node unstandby anftstsapcl2
    sudo pcs node standby anftstsapcl1
    
    # If using NFSv3
    sudo pcs resource create fs_QAS_AERS Filesystem device='192.168.24.5:/sapQAS/usrsapQASers' \
      directory='/usr/sap/QAS/ERS01' fstype='nfs' force_unmount=safe \
      op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=40 \
     --group g-QAS_AERS
    
    # If using NFSv4.1
    sudo pcs resource create fs_QAS_AERS Filesystem device='192.168.24.5:/sapQAS/usrsapQASers' \
      directory='/usr/sap/QAS/ERS01' fstype='nfs' force_unmount=safe options='sec=sys,nfsvers=4.1' \
      op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=105 \
     --group g-QAS_AERS
    
    sudo pcs resource create vip_QAS_AERS IPaddr2 \
      ip=192.168.14.10 \
     --group g-QAS_AERS
    
    sudo pcs resource create nc_QAS_AERS azure-lb port=62101 \
     --group g-QAS_AERS
    

    クラスターの状態が正常であることと、すべてのリソースが起動されていることを確認します。 リソースがどのノードで実行されているかは重要ではありません。

    sudo pcs status
    
    # Node anftstsapcl1: standby
    # Online: [ anftstsapcl2 ]
    #
    # Full list of resources:
    #
    # rsc_st_azure    (stonith:fence_azure_arm):      Started anftstsapcl2
    #  Resource Group: g-QAS_ASCS
    #      fs_QAS_ASCS        (ocf::heartbeat:Filesystem):    Started anftstsapcl2
    #      nc_QAS_ASCS        (ocf::heartbeat:azure-lb):      Started anftstsapcl2<
    #      vip_QAS_ASCS       (ocf::heartbeat:IPaddr2):       Started anftstsapcl2
    #  Resource Group: g-QAS_AERS
    #      fs_QAS_AERS        (ocf::heartbeat:Filesystem):    Started anftstsapcl2
    #      nc_QAS_AERS        (ocf::heartbeat:azure-lb):      Started anftstsapcl2
    #      vip_QAS_AERS       (ocf::heartbeat:IPaddr2):       Started anftstsapcl2
    
  5. [2] SAP NetWeaver ERS をインストールします。

    ERS のロード バランサー フロントエンド構成の IP アドレスに対応する仮想ホスト名 (例: 、anftstsapers)、192.168.14.10、ロード バランサーのプローブに使ったインスタンス番号 (例: 01) を使って、root として SAP NetWeaver ERS を 2 番目のノードにインストールします。

    sapinst のパラメーター SAPINST_REMOTE_ACCESS_USER を使用すると、ルート以外のユーザーが sapinst に接続することを許可できます。

    # Allow access to SWPM. This rule is not permanent. If you reboot the machine, you have to run the command again.
    sudo firewall-cmd --zone=public  --add-port=4237/tcp
    
    sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=<virtual_hostname>
    

    インストールで /usr/sap/QAS/ERS01 へのサブフォルダーの作成に失敗する場合は、ERS01 フォルダーの所有者とグループを設定し、もう一度試してください。

    sudo chown qaadm /usr/sap/QAS/ERS01
    sudo chgrp sapsys /usr/sap/QAS/ERS01
    
  6. [1] ASCS/SCS および ERS のインスタンス プロファイルを適用します。

    • ASCS/SCS プロファイル

      sudo vi /sapmnt/QAS/profile/QAS_ASCS00_anftstsapvh
      
      # Change the restart command to a start command
      #Restart_Program_01 = local $(_EN) pf=$(_PF)
      Start_Program_01 = local $(_EN) pf=$(_PF)
      
      # Add the keep alive parameter, if using ENSA1
      enque/encni/set_so_keepalive = true
      

      ENSA1 と ENSA2 の両方について、keepalive OS パラメーターが SAP Note 1410736 の説明に従って設定されていることを確認します。

    • ERS プロファイル

      sudo vi /sapmnt/QAS/profile/QAS_ERS01_anftstsapers
      
      # Change the restart command to a start command
      #Restart_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID)
      Start_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID)
      
      # remove Autostart from ERS profile
      # Autostart = 1
      
  7. [A] キープ アライブを構成します。

    SAP NetWeaver アプリケーション サーバーと ASCS/SCS の間の通信は、ソフトウェア ロード バランサーを介してルーティングされます。 ロード バランサーは、構成可能なタイムアウト後に非アクティブな接続を切断します。 そうならないようにするには、SAP NetWeaver ASCS/SCS プロファイルでパラメーターを設定し (ENSA1 を使っている場合)、ENSA1 と ENSA2 両方のすべての SAP サーバーで、Linux システムの keepalive の設定を変更します。 詳細については、SAP Note 1410736 をご覧ください。

    # Change the Linux system configuration
    sudo sysctl net.ipv4.tcp_keepalive_time=300
    
  8. [A]/usr/sap/sapservices ファイルを更新します。

    sapinit スタートアップ スクリプトによってインスタンスが開始されないようにするには、Pacemaker によって管理されているすべてのインスタンスを /usr/sap/sapservices ファイルからコメント アウトする必要があります。

    sudo vi /usr/sap/sapservices
    
    # Depending on whether the SAP Startup framework is integrated with systemd, you will observe one of the two entries on the ASCS node. You should comment out the line(s). 
    # LD_LIBRARY_PATH=/usr/sap/QAS/ASCS00/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/QAS/ASCS00/exe/sapstartsrv pf=/usr/sap/QAS/SYS/profile/QAS_ASCS00_anftstsapvh -D -u qasadm
    # systemctl --no-ask-password start SAPQAS_00 # sapstartsrv pf=/usr/sap/QAS/SYS/profile/QAS_ASCS00_anftstsapvh
    
    # Depending on whether the SAP Startup framework is integrated with systemd, you will observe one of the two entries on the ASCS node. You should comment out the line(s). 
    # LD_LIBRARY_PATH=/usr/sap/QAS/ERS01/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/QAS/ERS01/exe/sapstartsrv pf=/usr/sap/QAS/ERS01/profile/QAS_ERS01_anftstsapers -D -u qasadm
    # systemctl --no-ask-password start SAPQAS_01 # sapstartsrv pf=/usr/sap/QAS/ERS01/profile/QAS_ERS01_anftstsapers
    

    重要

    systemd ベースの SAP スタートアップ フレームワークにより、SAP インスタンスを systemd で管理できるようになりました。 必要な Red Hat Enterprise Linux (RHEL) の最小バージョンは RHEL 8 for SAP です。 SAP ノート 3115048 で説明されているように、systemd ベースの SAP スタートアップ フレームワークが統合された SAP カーネルを新しくインストールすると、常に systemd 制御の SAP インスタンスが生成されます。 ただし、既存の SAP インストールの SAP カーネルを systemd ベースの SAPスタートアップ フレーム サポートが含まれるカーネルにアップグレードした後に、SAP ノート 3115048 に記載されているように、いくつかの手動手順を実行して、既存の SAP スタートアップ環境を systemd 制御の環境に変換する必要があります。

    SAP 向け RED Hat HA サービス (クラスター構成) を使用して SAP ASCS や SAP ERS などの SAP アプリケーション サーバー インスタンスを管理する場合は、SAPInstance リソース エージェントと新しい systemd ベースの SAP スタートアップ フレームワークとの間の互換性を確保するために、追加の変更が必要になります。 そのため、SAP ノート 3115048 に従って SAP アプリケーション サーバー インスタンスがインストールされたか、systemd 対応 SAP カーネルに切り替えられたら、Red Hat KBA 6884531 に記載されている手順を、すべてのクラスター ノードで正常に完了する必要があります。

  9. [1] SAP クラスター リソースを作成します。

    ENSA1 システムと ENSA2 システムのどちらを実行しているかに応じて、それぞれのタブを選択してリソースを定義します。 SAP では、SAP NetWeaver 7.52 で、レプリケーションを含む ENSA2 のサポートを導入しました。 ABAP Platform 1809 以降では、ENSA2 が既定でインストールされます。 ENSA2 サポートの場合。 エンキュー サーバー 2 のサポートについては、SAP Note 2630416 を参照してください。

    エンキュー サーバー 2 アーキテクチャ (ENSA2) を使用する場合は、resource-agents-sap-4.1.1-12.el7.x86_64 以降のリソース エージェントをインストールし、リソースを次に示すように定義します。

    sudo pcs property set maintenance-mode=true
    
    # If using NFSv3
    sudo pcs resource create rsc_sap_QAS_ASCS00 SAPInstance \
    InstanceName=QAS_ASCS00_anftstsapvh START_PROFILE="/sapmnt/QAS/profile/QAS_ASCS00_anftstsapvh" \
    AUTOMATIC_RECOVER=false \
    meta resource-stickiness=5000 migration-threshold=1 failure-timeout=60 \
    op monitor interval=20 on-fail=restart timeout=60 \
    op start interval=0 timeout=600 op stop interval=0 timeout=600 \
    --group g-QAS_ASCS
    
    # If using NFSv4.1
    sudo pcs resource create rsc_sap_QAS_ASCS00 SAPInstance \
    InstanceName=QAS_ASCS00_anftstsapvh START_PROFILE="/sapmnt/QAS/profile/QAS_ASCS00_anftstsapvh" \
    AUTOMATIC_RECOVER=false \
    meta resource-stickiness=5000 migration-threshold=1 failure-timeout=60 \
    op monitor interval=20 on-fail=restart timeout=105 \
    op start interval=0 timeout=600 op stop interval=0 timeout=600 \
    --group g-QAS_ASCS
    
    sudo pcs resource meta g-QAS_ASCS resource-stickiness=3000
    
    # If using NFSv3
    sudo pcs resource create rsc_sap_QAS_ERS01 SAPInstance \
    InstanceName=QAS_ERS01_anftstsapers START_PROFILE="/sapmnt/QAS/profile/QAS_ERS01_anftstsapers" \
    AUTOMATIC_RECOVER=false IS_ERS=true \
    op monitor interval=20 on-fail=restart timeout=60 op start interval=0 timeout=600 op stop interval=0 timeout=600 \
    --group g-QAS_AERS
    
    # If using NFSv4.1
    sudo pcs resource create rsc_sap_QAS_ERS01 SAPInstance \
    InstanceName=QAS_ERS01_anftstsapers START_PROFILE="/sapmnt/QAS/profile/QAS_ERS01_anftstsapers" \
    AUTOMATIC_RECOVER=false IS_ERS=true \
    op monitor interval=20 on-fail=restart timeout=105 op start interval=0 timeout=600 op stop interval=0 timeout=600 \
    --group g-QAS_AERS
    
    sudo pcs constraint colocation add g-QAS_AERS with g-QAS_ASCS -5000
    sudo pcs constraint location rsc_sap_QAS_ASCS00 rule score=2000 runs_ers_QAS eq 1
    sudo pcs constraint order start g-QAS_ASCS then stop g-QAS_AERS kind=Optional symmetrical=false
    
    sudo pcs node unstandby anftstsapcl1
    sudo pcs property set maintenance-mode=false
    

    以前のバージョンからアップグレードし、エンキュー サーバー 2 に切り替えている場合は、SAP Note 2641322 を参照してください。

    Note

    NFSv4.1 のリース更新に関連するプロトコル固有の一時停止のために、NFSv4.1 を使用する場合に推奨されるより大きなタイムアウトが必要です。 詳しくは、NetApp での NFS のベスト プラクティスに関する説明をご覧ください。 前の構成のタイムアウトは例にすぎないため、特定の SAP セットアップに適合させる必要がある場合があります。

    クラスターの状態が正常であることと、すべてのリソースが起動されていることを確認します。 リソースがどのノードで実行されているかは重要ではありません。

    sudo pcs status
    
    # Online: [ anftstsapcl1 anftstsapcl2 ]
    #
    # Full list of resources:
    #
    # rsc_st_azure    (stonith:fence_azure_arm):      Started anftstsapcl2
    #  Resource Group: g-QAS_ASCS
    #      fs_QAS_ASCS        (ocf::heartbeat:Filesystem):    Started anftstsapcl2
    #      nc_QAS_ASCS        (ocf::heartbeat:azure-lb):      Started anftstsapcl2
    #      vip_QAS_ASCS       (ocf::heartbeat:IPaddr2):       Started anftstsapcl2
    #      rsc_sap_QAS_ASCS00 (ocf::heartbeat:SAPInstance):   Started anftstsapcl2
    #  Resource Group: g-QAS_AERS
    #      fs_QAS_AERS        (ocf::heartbeat:Filesystem):    Started anftstsapcl1
    #      nc_QAS_AERS        (ocf::heartbeat:azure-lb):      Started anftstsapcl1
    #      vip_QAS_AERS       (ocf::heartbeat:IPaddr2):       Started anftstsapcl1
    #      rsc_sap_QAS_ERS01  (ocf::heartbeat:SAPInstance):   Started anftstsapcl1
    
  10. [1] 次の手順を実行して priority-fencing-delay を構成します (pacemaker-2.0.4-6.el8 以降でのみ適用されます)。

    Note

    2 ノード クラスターがある場合は、オプションとして priority-fencing-delay クラスター プロパティを構成できます。 このプロパティを指定すると、スプリット ブレイン シナリオが発生したときに、リソースの優先度の合計が高いノードのフェンスでの遅延が長くなります。 詳細については、実行中のリソースが最も少ないクラスター ノードの Pacemaker によるフェンスに関するページを参照してください。

    priority-fencing-delay プロパティは pacemaker-2.0.4-6.el8 バージョン以降に適用されます。 既存のクラスターで priority-fencing-delay を設定する場合は、フェンス デバイスで pcmk_delay_max の設定を必ずクリアしてください。

    sudo pcs resource defaults update priority=1
    sudo pcs resource update rsc_sap_QAS_ASCS00 meta priority=10
    
    sudo pcs property set priority-fencing-delay=15s
    
  11. [A] ASCS および ERS に対するファイアウォール規則を両方のノード上に追加します。

    # Probe Port of ASCS
    sudo firewall-cmd --zone=public --add-port={62000,3200,3600,3900,8100,50013,50014,50016}/tcp --permanent
    sudo firewall-cmd --zone=public --add-port={62000,3200,3600,3900,8100,50013,50014,50016}/tcp
    # Probe Port of ERS
    sudo firewall-cmd --zone=public --add-port={62101,3201,3301,50113,50114,50116}/tcp --permanent
    sudo firewall-cmd --zone=public --add-port={62101,3201,3301,50113,50114,50116}/tcp
    

SAP NetWeaver アプリケーション サーバーの準備

一部のデータベースでは、データベース インスタンスのインストールがアプリケーション サーバーで実行される必要があります。 このような場合に使用できるようにアプリケーション サーバー VM を準備します。

次の手順では、ASCS/SCS および HANA サーバーとは別のサーバーにアプリケーション サーバーをインストールすることを前提としています。 そうでない場合、手順の一部 (ホスト名解決の構成など) は必要ありません。

以下の項目には、次のいずれかのプレフィックスが付いています。

  • [A]: PAS と AAS の両方に適用されます
  • [P]: PAS のみに適用されます
  • [S]: AAS のみに適用されます
  1. [A] ホスト名解決を設定します。

    DNS サーバーを使用するか、すべてのノードの /etc/hosts ファイルを変更することができます。 この例では、/etc/hosts ファイルを使用する方法を示します。 次のコマンドの IP アドレスとホスト名を置き換えます。

    sudo vi /etc/hosts
    

    /etc/hosts に次の行を挿入します。 お使いの環境に合わせて IP アドレスとホスト名を変更します。

    # IP address of the load balancer frontend configuration for SAP NetWeaver ASCS
    192.168.14.9 anftstsapvh
    # IP address of the load balancer frontend configuration for SAP NetWeaver ASCS ERS
    192.168.14.10 anftstsapers
    192.168.14.7 anftstsapa01
    192.168.14.8 anftstsapa02
    
  2. [A]sapmnt ディレクトリを作成します。

    sudo mkdir -p /sapmnt/QAS
    sudo mkdir -p /usr/sap/trans
    
    sudo chattr +i /sapmnt/QAS
    sudo chattr +i /usr/sap/trans
    
  3. [A] NFS クライアントとその他の要件をインストールします。

    sudo yum -y install nfs-utils uuidd
    
  4. [A] マウント エントリを追加します。

    NFSv3 を使用する場合:

    sudo vi /etc/fstab
    
    # Add the following lines to fstab, save and exit
    192.168.24.5:/sapQAS/sapmntQAS /sapmnt/QAS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3
    192.168.24.4:/transSAP /usr/sap/trans nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3
    

    NFSv4.1 を使用する場合:

    sudo vi /etc/fstab
    
    # Add the following lines to fstab, save and exit
    192.168.24.5:/sapQAS/sapmntQAS /sapmnt/QAS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys
    192.168.24.4:/transSAP /usr/sap/trans nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys
    

    新しい共有をマウントします。

    sudo mount -a
    
  5. [P] PAS ディレクトリを作成してマウントします。

    NFSv3 を使用する場合:

    sudo mkdir -p /usr/sap/QAS/D02
    sudo chattr +i /usr/sap/QAS/D02
    
    sudo vi /etc/fstab
    # Add the following line to fstab
    92.168.24.5:/sapQAS/usrsapQASpas /usr/sap/QAS/D02 nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3
    
    # Mount
    sudo mount -a
    

    NFSv4.1 を使用する場合:

    sudo mkdir -p /usr/sap/QAS/D02
    sudo chattr +i /usr/sap/QAS/D02
    
    sudo vi /etc/fstab
    # Add the following line to fstab
    92.168.24.5:/sapQAS/usrsapQASpas /usr/sap/QAS/D02 nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys
    
    # Mount
    sudo mount -a
    
  6. [S] AAS ディレクトリを作成してマウントします。

    NFSv3 を使用する場合:

    sudo mkdir -p /usr/sap/QAS/D03
    sudo chattr +i /usr/sap/QAS/D03
    
    sudo vi /etc/fstab
    # Add the following line to fstab
    92.168.24.5:/sapQAS/usrsapQASaas /usr/sap/QAS/D03 nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3
    
    # Mount
    sudo mount -a
    

    NFSv4.1 を使用する場合:

    sudo mkdir -p /usr/sap/QAS/D03
    sudo chattr +i /usr/sap/QAS/D03
    
    sudo vi /etc/fstab
    # Add the following line to fstab
    92.168.24.5:/sapQAS/usrsapQASaas /usr/sap/QAS/D03 nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys
    
    # Mount
    sudo mount -a
    
  7. [A] スワップ ファイルを構成します。

    sudo vi /etc/waagent.conf
    
    # Set the property ResourceDisk.EnableSwap to y
    # Create and use swapfile on resource disk.
    ResourceDisk.EnableSwap=y
    
    # Set the size of the SWAP file with property ResourceDisk.SwapSizeMB
    # The free space of resource disk varies by VM size. Make sure that you do not set a value that is too big. You can check the SWAP space with command swapon
    # Size of the swapfile.
    ResourceDisk.SwapSizeMB=2000
    

    エージェントを再起動して変更をアクティブにします。

    sudo service waagent restart
    

データベースをインストールする

この例では、SAP HANA に SAP NetWeaver がインストールされます。 このインストールではサポートされているすべてのデータベースを使用できます。 Azure への SAP HANA のインストール方法の詳細については、「High availability of SAP HANA on Azure VMs on Red Hat Enterprise Linux」 (Red Hat Enterprise Linux 上の Azure VM での SAP HANA の高可用性) をご覧ください。 サポートされているデータベースの一覧については、SAP Note 1928533 を参照してください。

  • SAP データベース インスタンスのインストールを実行します。

    データベースのロード バランサー フロントエンド構成の IP アドレスに対応する仮想ホスト名を使い、ルートとして SAP NetWeaver データベース インスタンスをインストールします。

    sapinst のパラメーター SAPINST_REMOTE_ACCESS_USER を使用すると、ルート以外のユーザーが sapinst に接続することを許可できます。

    sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
    

SAP NetWeaver アプリケーション サーバーのインストール

次の手順に従って、SAP アプリケーション サーバーをインストールします。

  1. アプリケーション サーバーを準備します。

    前のセクション「SAP NetWeaver アプリケーション サーバーの準備」の手順に従って、アプリケーション サーバーを準備します。

  2. SAP NetWeaver アプリケーション サーバーをインストールします。

    プライマリまたは追加の SAP NetWeaver アプリケーション サーバーをインストールします。

    sapinst のパラメーター SAPINST_REMOTE_ACCESS_USER を使用すると、ルート以外のユーザーが sapinst に接続することを許可できます。

    sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
    
  3. SAP HANA Secure Store を更新します。

    SAP HANA システム レプリケーション セットアップの仮想名を指すように SAP HANA Secure Store を更新します。

    次のコマンドを実行し、<sapsid>adm としてエントリの一覧を表示します。

    hdbuserstore List
    

    すべてのエントリが一覧表示され、次のようになります。

    DATA FILE       : /home/qasadm/.hdb/anftstsapa01/SSFS_HDB.DAT
    KEY FILE        : /home/qasadm/.hdb/anftstsapa01/SSFS_HDB.KEY
    
    KEY DEFAULT
      ENV : 192.168.14.4:30313
      USER: SAPABAP1
      DATABASE: QAS
    

    出力には、既定のエントリの IP アドレスがロード バランサーの IP アドレスではなく VM を指していることが示されます。 このエントリを、ロード バランサーの仮想ホスト名を指すように変更する必要があります。 同じポート (前の出力では 30313) とデータベース名 (前の出力では QAS) を使うようにしてください。

    su - qasadm
    hdbuserstore SET DEFAULT qasdb:30313@QAS SAPABAP1 <password of ABAP schema>
    

クラスターの設定をテストする

Pacemaker クラスターを十分にテストします。 詳細については、一般的なフェールオーバー テストの実行に関するセクションを参照してください。

次のステップ