RHEL 上の SAP ASCS/SCS 高可用性 VM で SAP ダイアログ インスタンスをデプロイする
この記事では、Red Hat Enterprise Linux (RHEL) で実行されている同じ ABAP SAP セントラル サービス (ASCS)/SAP セントラル サービス (SCS) 高可用性クラスターにプライマリ アプリケーション サーバー (PAS) と追加アプリケーション サーバー (AAS) ダイアログ インスタンスをインストールして構成する方法について説明します。
リファレンス
- Pacemaker で Standalone Enqueue Server 2 (ENSA2) を使用して SAP S/4HANA ASCS/ERS 構成する
- RHEL 7.5 以降および RHEL 8 でスタンドアロン リソースを使用して SAP NetWeaver ASCS/ERS ENSA1 を構成する
- SAP Note 1928533: 次の情報が含まれています。
- SAP ソフトウェアのデプロイでサポートされる Azure 仮想マシン (VM) サイズの一覧。
- Azure VM サイズの容量に関する重要な情報。
- サポートされる SAP ソフトウェア、オペレーティング システム (OS) とデータベースの組み合わせ。
- Azure 上の Windows と Linux に必要な SAP カーネル バージョン。
- SAP Note 2015553: SAP でサポートされる Azure 上の SAP ソフトウェア デプロイの前提条件が記載されています。
- SAP Note 2002167: Red Hat Enterprise Linux 7.x 用の推奨 OS 設定が記載されています。
- SAP Note 2772999: Red Hat Enterprise Linux 8.x 用の推奨 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 が掲載されています。
- Linux 上の SAP のための Azure Virtual Machines の計画と実装
- Linux 上の SAP のための Azure Virtual Machines のデプロイ
- Linux 上の SAP のための Azure Virtual Machines DBMS のデプロイ
- Pacemaker クラスターでの SAP Netweaver
- 一般的な RHEL ドキュメント:
- Azure 固有の RHEL ドキュメント:
概要
この記事では、高可用性セットアップで SAP ASCS/SCS インスタンスと エンキュー レプリケーション サーバー (ERS) インスタンスを使用して PAS と AAS のダイアログ インスタンスをデプロイするコスト最適化シナリオについて説明します。 1 つの SAP システムの VM の数を最小限に抑えるために、SAP ASCS/SCS と SAP ERS が実行されているのと同じホストに PAS と AAS をインストールする必要があります。 SAP ASCS/SCS が高可用性クラスター セットアップで構成されている場合、PAS と AAS もクラスターで管理する必要があります。 この構成は、基本的には、既に構成されている SAP ASCS/SCS クラスターのセットアップへの追加です。 このセットアップでは、PAS と AAS は仮想ホスト名にインストールされ、そのインスタンス ディレクトリはクラスターによって管理されます。
このセットアップでは、PAS と AAS に高可用性インスタンス ディレクトリ (/usr/sap/<SID>/D<nr>
) が必要です。 インスタンス ディレクトリ ファイル システムは、ASCS と ERS インスタンス構成に使用したのと同じ高可用性ストレージに配置できます。 提示されたアーキテクチャでは、セットアップ用の高可用性インスタンス ディレクトリの Azure Files 上の NFS または Azure NetApp Files が示されています。
この記事で示す例では、次のシステム情報を使用してデプロイについて説明しています。
インスタンス名 | インスタンス番号 | 仮想ホスト名 | 仮想 IP (プローブ ポート) |
---|---|---|---|
ABAP SAP セントラル サービス (ASCS) | 00 | sapascs | 10.90.90.10 (62000) |
エンキュー レプリケーション サーバー (ERS) | 01 | sapers | 10.90.90.9 (62001) |
プライマリ アプリケーション サーバー (PAS) | 02 | sappas | 10.90.90.30 (62002) |
追加のアプリケーション サーバー (AAS) | 03 | sapers | 10.90.90.31 (62003) |
SAP システム識別子 | NW1 | --- | --- |
Note
スケールアウトする場合は、別の VM にさらに SAP アプリケーション インスタンスをインストールします。
コスト最適化ソリューションに関する重要な考慮事項
- SAP ASCS/SCS クラスターのセットアップを使用してデプロイできるダイアログ インスタンスは、PAS と 1 つの AAS の 2 つだけです。
- さらなるアプリケーション サーバー (sapa03 や sapa04 など) を使用して SAP システムをスケールアウトする場合は、それらを別々の VM にインストールできます。 PAS と AAS が仮想ホスト名にインストールされている場合は、物理ホスト名または仮想ホスト名のいずれかを使用して別の VM にさらにアプリケーション サーバーをインストールできます。 仮想ホスト名を VM に割り当てる方法の詳細については、ブログ「Azure で Linux を使用した SAP 仮想ホスト名の使用」を参照してください。
- SAP ASCS/SCS クラスターをセットアップした PAS と AAS のデプロイでは、ASCS、ERS、PAS、AAS のインスタンス数が異なっている必要があります。
- サイズ設定のガイドラインに基づいて、VM SKU のサイズを適切に設定することを検討してください。 クラスター内の別の VM が使用できない場合は、1 つの VM で複数の SAP インスタンス (ASCS、ERS、PAS、AAS) が実行される可能性があるクラスターの動作を考慮する必要があります。
- SAP ASCS/SCS クラスターのセットアップで実行されているダイアログ インスタンス (PAS と AAS) は、仮想ホスト名を使用してインストールする必要があります。
- また、PAS インスタンスと AAS インスタンスをデプロイするには、SAP ASCS/SCS クラスターのセットアップと同じストレージ ソリューションを使用する必要があります。 たとえば、Azure Files で NFS を使用して SAP ASCS/SCS クラスターを構成した場合、PAS と AAS のデプロイに同じストレージ ソリューションを使用する必要があります。
- PAS と AAS のインスタンス ディレクトリ
/usr/sap/<SID>/D<nr>
は NFS ファイル システムにマウントする必要があり、クラスターによってリソースとして管理されます。Note
SAP J2EE システムの場合、Azure Files の NFS に
/usr/sap/<SID>/J<nr>
を配置することはサポートされません。 - 別の VM にさらにアプリケーション サーバーをインストールするには、インスタンス ディレクトリ ファイル システムに NFS 共有またはローカル マネージド ディスクを使用します。 SAP J2EE システム用にさらにアプリケーション サーバーをインストールする場合、Azure Files 上の NFS で
/usr/sap/<SID>/J<nr>
はサポートされていません。 - 従来の SAP ASCS/SCS 高可用性構成では、SAP ASCS および ERS のクラスター ノードに影響がある場合、個別の VM で実行されているアプリケーション サーバー インスタンスは影響を受けません。 ただし、コスト最適化の構成では、クラスター内のいずれかのノードに影響がある場合、PAS または AAS インスタンスのどちらかが再起動します。
- このセットアップには同じ考慮事項が当てはまるため、「Azure Files 上の NFS の考慮事項」と「Azure NetApp Files の考慮事項」を参照してください。
前提条件
この記事で説明する構成は、既に構成されている SAP ASCS/SCS クラスターのセットアップへの追加です。 この構成では、PAS と AAS は仮想ホスト名にインストールされ、そのインスタンス ディレクトリはクラスターによって管理されます。 ストレージに基づき、次の記事で説明されている手順を使用して、クラスター内の SAP ASCS/SCS および SAP ERS インスタンス用に SAPInstance
リソースを構成します。
- Azure Files 上の NFS: Azure Files 上の NFS を使用する RHEL 上の SAP NW 用の Azure VM の高可用性
- Azure NetApp Files: Azure NetApp Files を使用する RHEL 上の SAP NW 用の Azure VM の高可用性
Software Provisioning Manager (SWPM) を使用して ASCS、ERS、Database インスタンスをインストールした後、次の手順に従って PAS インスタンスと AAS インスタンスをインストールします。
PAS と AAS の Azure Load Balancer を構成する
この記事では、「Azure Load Balancer の構成」の説明に従って SAP ASCS/SCS クラスター セットアップ用のロード バランサーが既に構成されていることを前提としています。 同じ Azure Load Balancer インスタンスで、こちらの手順に従って、PAS および AAS 用のフロントエンド IP と負荷分散規則をさらに作成します。
- SAP ASCS/SCS クラスター セットアップ用に作成した内部ロード バランサーを開きます。
- フロントエンド IP 構成: 2 つのフロントエンド IP を作成します。1 つは PAS 用で、もう 1 つは AAS 用です (例: 10.90.90.30 と 10.90.90.31)。
- バックエンド プール: PAS と AAS を同じバックエンド プールにデプロイしているため、このプールは同じままです。
- 受信規則: 2 つの負荷分散ルールを作成します。1 つは PAS 用で、もう 1 つは AAS 用です。 両方の負荷分散規則に対して同じ手順を実行します。
- フロントエンド IP アドレス: フロントエンド IP を選択します。
- バックエンド プール: バックエンド プールを選択します。
- 高可用性ポート: このオプションを選択します。
- [プロトコル]: [TCP] を選択します。
- 正常性プローブ: 次の詳細を使用して正常性プローブを作成します (PAS と AAS の両方に適用されます)。
- [プロトコル]: [TCP] を選択します。
- ポート: 例: PAS に対しては 620<Instance-no.>、AAS に対しては 620<Instance-no.>。
- サイクル間隔: 「5」と入力します。
- プローブしきい値: 「2」と入力します。
- アイドル タイムアウト (分): 「30」と入力します。
- フローティング IP を有効にする: このオプションを選択します。
正常性プローブ構成プロパティ numberOfProbes
(Azure portal では [異常しきい値] とも呼ばれます) が順守されていません。 成功または失敗した連続プローブの数を制御するには、プロパティ probeThreshold
を 2
に設定します。 現在、Azure portal を使用してこのプロパティを設定することはできません。 Azure CLI または PowerShell コマンドのいずれかを使用します。
パブリック IP アドレスのない VM が、内部の (パブリック IP アドレスのない) Standard Azure Load Balancer インスタンスのバックエンド プール内に配置されている場合、パブリック エンドポイントへのルーティングを許可するように追加の構成が実行されない限り、送信インターネット接続はありません。 送信接続を実現する方法の手順については、「SAP の高可用性シナリオにおける Azure Standard Load Balancer を使用した Virtual Machines のパブリック エンドポイント接続」を参照してください。
重要
Azure Load Balancer の背後に配置された Azure VM では TCP タイムスタンプを有効にしないでください。 TCP タイムスタンプを有効にすると正常性プローブが失敗します。 パラメーター net.ipv4.tcp_timestamps
を 0
に設定します。 詳細については、「Load Balancer の正常性プローブ」を参照してください。
PAS と AAS のインストール用にサーバーを準備する
このドキュメントの各手順にプレフィックスが付いている場合、その意味は次のとおりです。
- [A]: すべてのノードに当てはまります。
- [1]: ノード 1 にのみ当てはまる。
- [2]: ノード 2 にのみ当てはまる。
[A] ホスト名解決を設定します。
DNS サーバーを使用するか、すべてのノードで
/etc/hosts
を変更できます。 この例では、/etc/hosts
ファイルを使用する方法を示します。 次のコマンドの IP アドレスとホスト名を置き換えます。sudo vi /etc/hosts # IP address of cluster node 1 10.90.90.7 sap-cl1 # IP address of cluster node 2 10.90.90.8 sap-cl2 # IP address of the load balancer frontend configuration for SAP Netweaver ASCS 10.90.90.10 sapascs # IP address of the load balancer frontend configuration for SAP Netweaver ERS 10.90.90.9 sapers # IP address of the load balancer frontend configuration for SAP Netweaver PAS 10.90.90.30 sappas # IP address of the load balancer frontend configuration for SAP Netweaver AAS 10.90.90.31 sapaas
[1] NFS 共有に SAP ディレクトリを作成します。 NFS 共有 sapnw1 をいずれかの VM に一時的にマウントし、入れ子になったマウント ポイントとして使用される SAP ディレクトリを作成します。
Azure Files 上の NFS を使用している場合:
# mount temporarily the volume sudo mkdir -p /saptmp sudo mount -t nfs sapnfs.file.core.windows.net:/sapnfsafs/sapnw1 /saptmp -o noresvport,vers=4,minorversion=1,sec=sys # create the SAP directories sudo cd /saptmp sudo mkdir -p usrsapNW1D02 sudo mkdir -p usrsapNW1D03 # unmount the volume and delete the temporary directory cd .. sudo umount /saptmp sudo rmdir /saptmp
Azure NetApp Files を使用している場合:
# mount temporarily the volume sudo mkdir -p /saptmp # If using NFSv3 sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,vers=3,tcp 10.90.91.5:/sapnw1 /saptmp # If using NFSv4.1 sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,vers=4.1,sec=sys,tcp 10.90.91.5:/sapnw1 /saptmp # create the SAP directories sudo cd /saptmp sudo mkdir -p usrsapNW1D02 sudo mkdir -p usrsapNW1D03 # unmount the volume and delete the temporary directory sudo cd .. sudo umount /saptmp sudo rmdir /saptmp
[A] 共有ディレクトリを作成します。
sudo mkdir -p /usr/sap/NW1/D02 sudo mkdir -p /usr/sap/NW1/D03 sudo chattr +i /usr/sap/NW1/D02 sudo chattr +i /usr/sap/NW1/D03
[A] スワップ領域を構成します。 中央サービスを使用してダイアログ インスタンスをインストールする場合は、より多くのスワップ領域を構成する必要があります。
sudo vi /etc/waagent.conf # Check if property ResourceDisk.Format is already set to y and if not, set it ResourceDisk.Format=y # 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 virtual machine 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 ResourceDisk.SwapSizeMB=10480
エージェントを再起動して変更をアクティブにします。
sudo service waagent restart
[A] PAS および AAS のファイアウォール規則を追加します。
# Probe and gateway port for PAS and AAS sudo firewall-cmd --zone=public --add-port={62002,62003,3302,3303}/tcp --permanent sudo firewall-cmd --zone=public --add-port={62002,62003,3303,3303}/tcp
SAP Netweaver PAS インスタンスをインストールする
[1] クラスターの状態を確認します。 インストール用に PAS リソースを構成する前に、ASCS リソースと ERS リソースが構成され、開始されていることを確認してください。
sudo pcs status # Online: [ sap-cl1 sap-cl2 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl1 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl2 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl2
[1] PAS インスタンスのファイルシステム、仮想 IP、正常性プローブ リソースを作成します。
sudo pcs node standby sap-cl2 sudo pcs resource create vip_NW1_PAS IPaddr2 ip=10.90.90.30 --group g-NW1_PAS sudo pcs resource create nc_NW1_PAS azure-lb port=62002 --group g-NW1_PAS # If using NFS on Azure files sudo pcs resource create fs_NW1_PAS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1D02' \ directory='/usr/sap/NW1/D02' fstype='nfs' force_unmount=safe options='noresvport,vers=4,minorversion=1,sec=sys' \ op start interval=0 timeout=60 \ op stop interval=0 timeout=120 \ op monitor interval=200 timeout=40 \ --group g-NW1_PAS # If using NFsv3 on Azure NetApp Files sudo pcs resource create fs_NW1_PAS Filesystem device='10.90.91.5:/sapnw1/usrsapNW1D02' \ directory='/usr/sap/NW1/D02' 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-NW1_PAS # If using NFSv4.1 on Azure NetApp Files sudo pcs resource create fs_NW1_PAS Filesystem device='10.90.91.5:/sapnw1/usrsapNW1D02' \ directory='/usr/sap/NW1/D02' fstype='nfs' force_unmount=safe options='sec=sys,vers=4.1' \ op start interval=0 timeout=60 \ op stop interval=0 timeout=120 \ op monitor interval=200 timeout=105 \ --group g-NW1_PAS
クラスターの状態が正常であることと、すべてのリソースが起動されていることを確認します。 リソースがどのノードで実行されているかは重要ではありません。
sudo pcs status # Node List: # Node sap-cl2: standby # Online: [ sap-cl1 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl1 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_PAS: # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Started sap-cl1 # nc_NW1_PAS (ocf::heartbeat:azure-lb): Started sap-cl1 # fs_NW1_PAS (ocf::heartbeat:Filesystem): Started sap-cl1
[1] ファイルシステムのマウント後に
/usr/sap/SID/D02
フォルダの所有権を変更します。sudo chown nw1adm:sapsys /usr/sap/NW1/D02
[1] SAP NetWeaver PAS をインストールします。
PAS のロード バランサー フロントエンド構成の IP アドレスに対応する仮想ホスト名を使い、最初のノードにルートとして SAP NetWeaver PAS をインストールします。 たとえば、sappas、10.90.90.30、およびロード バランサのプローブに使用したインスタンス番号 (02 など) を使用します。
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=<pas_virtual_hostname>
/usr/sap/sapservices
ファイルを更新します。sapinit スタートアップ スクリプトによってインスタンスが開始されないようにするには、Pacemaker によって管理されているすべてのインスタンスを
/usr/sap/sapservices
ファイルからコメント アウトする必要があります。sudo vi /usr/sap/sapservices # On the node where PAS is installed, comment out the following lines. # LD_LIBRARY_PATH=/usr/sap/NW1/D02/exe:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH;/usr/sap/NW1/D02/exe/sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_D02_sappas -D -u nw1adm
[1] PAS クラスター リソースを作成します。
# If using NFS on Azure Files or NFSv3 on Azure NetApp Files pcs resource create rsc_sap_NW1_PAS02 SAPInstance InstanceName="NW1_D02_sappas" \ START_PROFILE=/sapmnt/NW1/profile/NW1_D02_sappas \ op monitor interval=20 timeout=60 \ --group g-NW1_PAS # If using NFSv4.1 on Azure NetApp Files pcs resource create rsc_sap_NW1_PAS02 SAPInstance InstanceName="NW1_D02_sappas" \ START_PROFILE=/sapmnt/NW1/profile/NW1_D02_sappas \ op monitor interval=20 timeout=105 \ --group g-NW1_PAS
クラスターの状態を確認します。
sudo pcs status # Node List: # Node sap-cl2: standby # Online: [ sap-cl1 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl1 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_PAS: # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Started sap-cl1 # nc_NW1_PAS (ocf::heartbeat:azure-lb): Started sap-cl1 # fs_NW1_PAS (ocf::heartbeat:Filesystem): Started sap-cl1 # rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance): Started sap-cl1
ASCS インスタンスが開始された後にのみ PAS リソース グループを開始するように制約を構成します。
sudo pcs constraint order g-NW1_ASCS then g-NW1_PAS kind=Optional symmetrical=false
SAP Netweaver AAS インスタンスをインストールする
[2] クラスターの状態を確認します。 インストール用に AAS リソースを構成する前に、ASCS、ERS、PAS のリソースが開始されていることを確認してください。
sudo pcs status # Node List: # Node sap-cl2: standby # Online: [ sap-cl1 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl1 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_PAS: # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Started sap-cl1 # nc_NW1_PAS (ocf::heartbeat:azure-lb): Started sap-cl1 # fs_NW1_PAS (ocf::heartbeat:Filesystem): Started sap-cl1 # rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance): Started sap-cl1
[2] AAS インスタンスのファイルシステム、仮想 IP、正常性プローブ リソースを作成します。
sudo pcs node unstandby sap-cl2 # Disable PAS resource as it will fail on sap-cl2 due to missing environment variables like hdbuserstore. sudo pcs resource disable g-NW1_PAS sudo pcs node standby sap-cl1 # Execute below command to cleanup resource, if required pcs resource cleanup rsc_sap_NW1_ERS01 sudo pcs resource create vip_NW1_AAS IPaddr2 ip=10.90.90.31 --group g-NW1_AAS sudo pcs resource create nc_NW1_AAS azure-lb port=62003 --group g-NW1_AAS # If using NFS on Azure files sudo pcs resource create fs_NW1_AAS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1D03' \ directory='/usr/sap/NW1/D03' fstype='nfs' force_unmount=safe options='noresvport,vers=4,minorversion=1,sec=sys' \ op start interval=0 timeout=60 \ op stop interval=0 timeout=120 \ op monitor interval=200 timeout=40 \ --group g-NW1_AAS # If using NFsv3 on Azure NetApp Files sudo pcs resource create fs_NW1_AAS Filesystem device='10.90.91.5:/sapnw1/usrsapNW1D03' \ directory='/usr/sap/NW1/D03' 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-NW1_AAS # If using NFSv4.1 on Azure NetApp Files sudo pcs resource create fs_NW1_AAS Filesystem device='10.90.91.5:/sapnw1/usrsapNW1D03' \ directory='/usr/sap/NW1/D03' fstype='nfs' force_unmount=safe options='sec=sys,vers=4.1' \ op start interval=0 timeout=60 \ op stop interval=0 timeout=120 \ op monitor interval=200 timeout=105 \ --group g-NW1_AAS
クラスターの状態が正常であることと、すべてのリソースが起動されていることを確認します。 リソースがどのノードで実行されているかは重要ではありません。 g-NW1_PAS リソース グループが停止しているため、すべての PAS リソースが停止 (無効) 状態になります。
sudo pcs status # Node List: # Node sap-cl1: standby # Online: [ sap-cl2 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl2 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl2 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl2 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl2 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl2 # Resource Group: g-NW1_PAS: # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Stopped (disabled) # nc_NW1_PAS (ocf::heartbeat:azure-lb): Stopped (disabled) # fs_NW1_PAS (ocf::heartbeat:Filesystem): Stopped (disabled) # rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance): Stopped (disabled) # Resource Group: g-NW1_AAS: # vip_NW1_AAS (ocf::heartbeat:IPaddr2): Started sap-cl2 # nc_NW1_AAS (ocf::heartbeat:azure-lb): Started sap-cl2 # fs_NW1_AAS (ocf::heartbeat:Filesystem): Started sap-cl2
[2] ファイルシステムのマウント後に
/usr/sap/SID/D03
フォルダの所有権を変更します。sudo chown nw1adm:sapsys /usr/sap/NW1/D03
[2] SAP NetWeaver AAS をインストールします
PAS のロード バランサー フロントエンド構成の IP アドレスに対応する仮想ホスト名を使い、2 番目のノードにルートとして SAP NetWeaver AAS をインストールします。 たとえば、sapaas、10.90.90.31、およびロード バランサのプローブに使用したインスタンス番号 (03 など) を使用します。
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=<aas_virtual_hostname>
/usr/sap/sapservices
ファイルを更新します。sapinit スタートアップ スクリプトによってインスタンスが開始されないようにするには、Pacemaker によって管理されているすべてのインスタンスを
/usr/sap/sapservices
ファイルからコメント アウトする必要があります。sudo vi /usr/sap/sapservices # On the node where AAS is installed, comment out the following lines. #LD_LIBRARY_PATH=/usr/sap/NW1/D03/exe:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH;/usr/sap/NW1/D03/exe/sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_D03_sapaas -D -u nw1adm
[2] AAS クラスター リソースを作成します。
# If using NFS on Azure Files or NFSv3 on Azure NetApp Files pcs resource create rsc_sap_NW1_AAS03 SAPInstance InstanceName="NW1_D03_sapaas" \ START_PROFILE=/sapmnt/NW1/profile/NW1_D03_sapaas \ op monitor interval=120 timeout=60 \ --group g-NW1_AAS # If using NFSv4.1 on Azure NetApp Files pcs resource create rsc_sap_NW1_AAS03 SAPInstance InstanceName="NW1_D03_sapaas" \ START_PROFILE=/sapmnt/NW1/profile/NW1_D03_sapaas \ op monitor interval=120 timeout=105 \ --group g-NW1_AAS
クラスターの状態を確認します。
sudo pcs status # Node List: # Node sap-cl1: standby # Online: [ sap-cl2 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl2 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl2 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl2 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl2 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl2 # Resource Group: g-NW1_PAS: # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Stopped (disabled) # nc_NW1_PAS (ocf::heartbeat:azure-lb): Stopped (disabled) # fs_NW1_PAS (ocf::heartbeat:Filesystem): Stopped (disabled) # rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance): Stopped (disabled) # Resource Group: g-NW1_AAS: # vip_NW1_AAS (ocf::heartbeat:IPaddr2): Started sap-cl2 # nc_NW1_AAS (ocf::heartbeat:azure-lb): Started sap-cl2 # fs_NW1_AAS (ocf::heartbeat:Filesystem): Started sap-cl2 # rsc_sap_NW1_AAS03 (ocf::heartbeat:SAPInstance): Started sap-cl2
ASCS インスタンスが開始された後にのみ AAS リソース グループを開始するように制約を構成します。
sudo pcs constraint order g-NW1_ASCS then g-NW1_AAS kind=Optional symmetrical=false
PAS インスタンスおよび AAS インスタンスの構成後
[1] PAS と AAS を任意のクラスター ノード (sap-cl1 または sap-cl2) で実行するには、両方のクラスター ノードの
<sid>adm
の$HOME/.hdb
内のコンテンツをコピーする必要があります。# Check current content of /home/nw1adm/.hdb on sap-cl1 sap-cl1:nw1adm > ls -ltr $HOME/.hdb drwx------. 2 nw1adm sapsys 66 Aug 8 19:11 sappas drwx------. 2 nw1adm sapsys 84 Aug 8 19:12 sap-cl1 # Check current content of /home/nw1adm/.hdb on sap-cl2 sap-cl2:nw1adm > ls -ltr $HOME/.hdb total 0 drwx------. 2 nw1adm sapsys 64 Aug 8 20:25 sap-cl2 drwx------. 2 nw1adm sapsys 66 Aug 8 20:26 sapaas # As PAS and AAS is installed using virtual hostname, you need to copy virtual hostname directory in /home/nw1adm/.hdb # Copy sappas directory from sap-cl1 to sap-cl2 sap-cl1:nw1adm > scp -r sappas nw1adm@sap-cl2:/home/nw1adm/.hdb # Copy sapaas directory from sap-cl2 to sap-cl1. Execute the command from the same sap-cl1 host. sap-cl1:nw1adm > scp -r nw1adm@sap-cl2:/home/nw1adm/.hdb/sapaas .
[1] 両方のノードが実行されているときに、PAS インスタンスと AAS インスタンスが同じノードで実行されないようにするには、次のコマンドを使用して負のコロケーション制約を追加します。
sudo pcs constraint colocation add g-NW1_AAS with g-NW1_PAS score=-1000 sudo pcs node unstandby sap-cl1 sudo pcs resource enable g-NW1_PAS
スコア -1000 は、使用できるノードが 1 つしかない場合でも、両方のインスタンスがもう一方のノードで引き続き実行されることを保証します。 このような状況で AAS インスタンスをダウンさせたままにする場合は、
score=-INFINITY
を使用してこの条件を適用できます。クラスターの状態を確認します。
sudo pcs status # Node List: # Online: [ sap-cl1 sap-cl2 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl2 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl2 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl2 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_PAS: # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Started sap-cl1 # nc_NW1_PAS (ocf::heartbeat:azure-lb): Started sap-cl1 # fs_NW1_PAS (ocf::heartbeat:Filesystem): Started sap-cl1 # rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_AAS: # vip_NW1_AAS (ocf::heartbeat:IPaddr2): Started sap-cl2 # nc_NW1_AAS (ocf::heartbeat:azure-lb): Started sap-cl2 # fs_NW1_AAS (ocf::heartbeat:Filesystem): Started sap-cl2 # rsc_sap_NW1_AAS03 (ocf::heartbeat:SAPInstance): Started sap-cl2
クラスターの設定をテストする
一般的なフェールオーバー テストを実行して、Pacemaker クラスターを十分にテストします。