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 Note 1928533: 次の情報が含まれています。
- SAP ソフトウェアのデプロイでサポートされる Azure VM サイズの一覧。
- Azure VM サイズの容量に関する重要な情報。
- サポートされる SAP ソフトウェア、オペレーティング システム (OS) とデータベースの組み合わせ。
- Microsoft Azure 上の Windows と Linux に必要な SAP カーネル バージョン。
SAP Note 2015553: SAP でサポートされる Azure 上の SAP ソフトウェア デプロイの前提条件が記載されています。
SAP Note 2002167: Red Hat Enterprise Linux 用の OS 設定が推奨されています。
SAP Note 2009879: Red Hat Enterprise Linux 用の SAP HANA ガイドラインが記載されています。
SAP Note 2178632: Azure 上の SAP について報告されるすべての監視メトリックに関する詳細情報が記載されています。
SAP Note 2191498: Azure 上の Linux に必要な SAP Host Agent のバージョンが記載されています。
SAP Note 2243692: Azure 上の Linux で動作する SAP のライセンスに関する情報が記載されています。
SAP Note 1999351はAzure Enhanced モニタリング拡張機能 for SAP に関するその他のトラブルシューティング情報が記載されています。
SAP Community WIKI: Linux に必要なすべての SAP Note を参照できます。
Red Hat Enterprise Linux (RHEL) の一般的なドキュメント:
Azure 固有の RHEL ドキュメント:
Azure NetApp Files を使用した Microsoft Azure 上の NetApp SAP アプリケーション
概要
SAP NetWeaver セントラル サービスの高可用性 (HA) には、共有ストレージが必要です。 これまで、Red Hat Linux 上で HA を実現するには、高可用性の GlusterFS クラスターを別に構築する必要がありました。
現在は、Azure NetApp Files にデプロイされた共有ストレージを使って、SAP NetWeaver の HA を実現できるようになりました。 Azure NetApp Files を共有ストレージに使うと、追加の GlusterFS クラスターは必要なくなります。 SAP NetWeaver セントラル サービス (ASCS/SCS) の HA を実現するには、依然として Pacemaker が必要です。
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 仮想ネットワーク内にデプロイする必要があります。
Azure NetApp Files アカウントの作成手順に従って、選択した Azure リージョンに Azure NetApp Files アカウントを作成します。
Azure NetApp Files の容量プールの設定手順に従って、Azure NetApp Files の容量プールを設定します。 この記事で示されている SAP NetWeaver アーキテクチャでは、1 つの Azure NetApp Files の容量プール、Premium SKU を使用しています。 Azure 上の SAP NetWeaver アプリケーション ワークロード用には、Azure NetApp Files Premium SKU をお勧めします。
Azure NetApp Files へのサブネットの委任手順に従って、サブネットを Azure NetApp Files に委任します。
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 です。
- ボリューム sapQAS (nfs://192.168.24.5/usrsapqas/sapmntQAS)
- ボリューム sapQAS (nfs://192.168.24.5/usrsapqas/usrsapQASascs)
- ボリューム sapQAS (nfs://192.168.24.5/usrsapqas/usrsapQASsys)
- ボリューム sapQAS (nfs://192.168.24.5/usrsapqas/usrsapQASers)
- ボリューム transSAP (nfs://192.168.24.4/transSAP)
- ボリューム sapQAS (nfs://192.168.24.5/usrsapqas/usrsapQASpas)
- ボリューム 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 の高可用性セットアップ用に標準ロード バランサーを構成します。
「ロード バランサーの作成」のガイドに従い、Azure portal を使って高可用性 SAP システム用に Standard ロード バランサーを設定します。 ロード バランサーの設定においては、以下の点を考慮してください。
- フロントエンド IP 構成: 2 つのフロントエンド IP を作成します。1 つは ASCS 用、もう 1 つは ERS 用です。 ASCS/ERS 仮想マシンと同じ仮想ネットワークとサブネットを選択します。
- バックエンド プール: バックエンド プールを作成し、ASCS および ERS VM を追加します。
- 受信規則: 2 つの負荷分散規則を作成します。1 つは ASCS 用、もう 1 つは ERS 用です。 両方の負荷分散規則に対して同じ手順を実行します。
- フロントエンド IP アドレス: フロントエンド IP を選択します
- バックエンド プール: バックエンド プールを選択します
- [High availability ports] (高可用性ポート) をオンにします
- プロトコル: TCP
- 正常性プローブ: 以下の詳細を使用して正常性プローブを作成します (ASCS と ERS の両方に適用されます)
- プロトコル: TCP
- ポート: [例: ASCS に対しては 620<Instance-no.>、ERS に対しては 621<Instance-no.>]
- 間隔: 5
- プローブしきい値: 2
- アイドル タイムアウト (分): 30
- [Floating IP を有効にする] をオンにします
Note
正常性プローブ構成プロパティ numberOfProbes (ポータルでは [異常のしきい値] と呼ばれます) が順守されていません。 このため、成功または失敗した連続プローブの数を制御するには、プロパティ "probeThreshold" を 2 に設定します。 現在、このプロパティは Azure portal を使用して設定できないため、Azure CLI または PowerShell コマンドを使用してください。
Note
パブリック IP アドレスのない VM が、内部の (パブリック IP アドレスのない) Standard ロード バランサーのバックエンド プール内に配置されている場合、さらに構成を行ってパブリック エンドポイントへのルーティングを許可しない限り、アウトバウンド インターネット接続はありません。 アウトバウンド接続を実現する方法について詳しくは、「SAP の高可用性シナリオにおける Azure Standard Load Balancer を使用した Virtual Machines のパブリック エンドポイント接続」をご覧ください。
重要
Azure Load Balancer の背後に配置された Azure VM では TCP タイムスタンプを有効にしないでください。 TCP タイムスタンプを有効にすると正常性プローブが失敗する可能性があります。 パラメーター net.ipv4.tcp_timestamps を 0 に設定します。 詳細については、「Load Balancer の正常性プローブ」を参照してください。
ID マッピングを無効にする (NFSv4.1 を使用する場合)
このセクションの手順は、NFSv4.1 プロトコルで Azure NetApp Files のボリュームを使っている場合にのみ適用されます。 Azure NetApp Files NFSv4.1 ボリュームがマウントされるすべての VM で構成を実行します。
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 の両方に適用されます。
[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 にのみ当てはまる
[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
[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
[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
[A] NFS クライアントとその他の要件をインストールします。
sudo yum -y install nfs-utils resource-agents resource-agents-sap
[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.
[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
[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
[A] RHEL OS の構成を行います。
RHEL のバージョンに基づいて、SAP Note 2002167、2772999、または 3108316 に記載されている構成を実行します。
SAP NetWeaver ASCS をインストールする
[1] クラスターの既定のプロパティを構成します。
pcs resource defaults resource-stickiness=1 pcs resource defaults migration-threshold=3
[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
[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
[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
[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
[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
[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
[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 に記載されている手順を、すべてのクラスター ノードで正常に完了する必要があります。
[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
[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
[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 のみに適用されます
[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
[A]
sapmnt
ディレクトリを作成します。sudo mkdir -p /sapmnt/QAS sudo mkdir -p /usr/sap/trans sudo chattr +i /sapmnt/QAS sudo chattr +i /usr/sap/trans
[A] NFS クライアントとその他の要件をインストールします。
sudo yum -y install nfs-utils uuidd
[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
[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
[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
[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 アプリケーション サーバーをインストールします。
アプリケーション サーバーを準備します。
前のセクション「SAP NetWeaver アプリケーション サーバーの準備」の手順に従って、アプリケーション サーバーを準備します。
SAP NetWeaver アプリケーション サーバーをインストールします。
プライマリまたは追加の SAP NetWeaver アプリケーション サーバーをインストールします。
sapinst
のパラメーターSAPINST_REMOTE_ACCESS_USER
を使用すると、ルート以外のユーザーがsapinst
に接続することを許可できます。sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
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 クラスターを十分にテストします。 詳細については、一般的なフェールオーバー テストの実行に関するセクションを参照してください。
次のステップ
- RHEL 上の SAP NetWeaver HA クラスターに PAS と AAS インスタンスがデプロイされているコスト最適化シナリオをデプロイするには、RHEL での SAP ASCS/SCS 高可用性 VM を使用した SAP ダイアログ インスタンスのインストールに関する記事をご覧ください。
- 「RHEL for SAP アプリケーション マルチ SID 上の Azure VM での SAP NW の HA ガイド」を参照してください。
- 「SAP のための Azure Virtual Machines の計画と実装」を参照してください。
- 「SAP のための Azure Virtual Machines のデプロイ」を参照してください。
- 「SAP のための Azure Virtual Machines DBMS のデプロイ」を参照してください。
- SAP HANA on Azure (L インスタンス) の HA を確保し、ディザスター リカバリーを計画する方法を確認するには、「Azure での SAP HANA L インスタンスの高可用性とディザスター リカバリー」を参照してください。
- Azure Virtual Machines 上の SAP HANA の HA を確立し、ディザスター リカバリーを計画する方法については、Azure Virtual Machines 上の SAP HANA の高可用性に関する記事をご覧ください。