Azure Files 上の NFS を使用した RHEL 上の VM での SAP NetWeaver の高可用性
この記事では、Azure Files 上の NFS を使用して、仮想マシン (VM) のデプロイと構成、クラスター フレームワークのインストール、高可用性 (HA) SAP NetWeaver システムのインストールを行う方法について説明します。 この構成例では、Red Hat Enterprise Linux (RHEL) で実行される VM を使用します。
前提条件
- Azure Files のドキュメント
- 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 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 NetWeaver アプリケーション レイヤーをデプロイするには、環境内に /sapmnt/SID
や /usr/sap/trans
のような共有ディレクトリが必要です。 さらに、HA SAP システムをデプロイするときに、/sapmnt/SID
や /usr/sap/SID/ASCS
のようなファイル システムを保護し、高可用性にする必要があります。
現在では、これらのファイル システムを Azure Files 上の NFS に配置できます。 Azure Files 上の NFS は、HA ストレージ ソリューションです。 このソリューションは、同期ゾーン冗長ストレージ (ZRS) を提供するもので、可用性ゾーンにデプロイされた SAP ASCS/ERS インスタンスに適しています。 SAP NetWeaver セントラル サービス (ASCS/SCS) などの単一障害点コンポーネントを保護するには、引き続き Pacemaker クラスターが必要です。
構成とインストール コマンドの例では、次のインスタンス番号を使用します。
インスタンス名 | インスタンス番号 |
---|---|
ABAP SAP セントラル サービス (ASCS) | 00 |
ERS | 01 |
ABAP SAP セントラル サービス (ASCS) | 02 |
追加のアプリケーション サーバー (AAS) | 03 |
SAP システム識別子 | NW1 |
この図は、一般的な SAP NetWeaver HA アーキテクチャを示しています。 `sapmnt` と `saptrans` のファイル システムは、Azure Files 上の NFS 共有にデプロイされます。 SAP セントラル サービスは Pacemaker クラスターによって保護されます。 クラスター化された VM は、Azure Load Balancer インスタンスの背後に配置されます。 NFS 共有は、プライベート エンド ポイントを介してマウントされます。
インフラストラクチャの準備
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 アドレスのない) Load Balancer の Standard インスタンスのバックエンド プール内に配置されている場合、パブリック エンドポイントへのルーティングを許可するように追加の構成が実行されない限り、送信インターネット接続はありません。 送信接続を実現する方法の詳細については、「SAP の高可用性シナリオにおける Azure Standard Load Balancer を使用した Virtual Machines のパブリック エンドポイント接続」を参照してください。
重要
Load Balancer の背後に配置された Azure VM では TCP タイムスタンプを有効にしないでください。 TCP タイムスタンプを有効にすると正常性プローブが失敗します。 パラメーター net.ipv4.tcp_timestamps
を 0
に設定します。 詳細については、「Load Balancer の正常性プローブ」を参照してください。
Azure Files ストレージ アカウントと NFS 共有のデプロイ
Azure Files 上の NFS は、Azure Files Premium ストレージの上で実行されます。 Azure Files 上の NFS を設定する前に、「NFS 共有を作成する方法」をご覧ください。
Azure リージョン内の冗長性には、次の 2 つのオプションがあります。
- ローカル冗長ストレージ (LRS)。ローカルのゾーン内同期データ レプリケーションを提供します。
- ゾーン冗長ストレージ (ZRS)。リージョン内の 3 つの可用性ゾーン間でデータを同期的に複製します。
選択した Azure リージョンで、適切な冗長性を備えた Azure Files 上の NFS 4.1 が提供されていることを確認してください。 リージョン別に利用可能な Azure Files で Premium Files Storage を確認してください。 ZRS のメリットがあるシナリオの場合は、お使いの Azure リージョンで ZRS を使用した Premium ファイル共有がサポートされていることを確認してください。
Azure プライベート エンドポイントを使用して、Azure Storage アカウントにアクセスすることをお勧めします。 Azure Files ストレージ アカウントのエンドポイントと、NFS 共有をマウントする必要がある VM は、同じ Azure 仮想ネットワークまたはピアリングされた Azure 仮想ネットワークにデプロイしてください。
sapafsnfs
という名前の Azure Files ストレージ アカウントをデプロイします。 この例では、ZRS を使用します。 このプロセスに慣れていない場合は、Azure portal での「ストレージ アカウントの作成」を参照してください。[基本] タブで、次の設定を使用します。
- [ストレージ アカウント名] に、
sapafsnfs
と入力します。 - [パフォーマンス] では [Premium] を選択します。
- [Premium account type](Premium アカウントの種類) で [FileStorage] を選択します。
- [レプリケーション] で、[ゾーン冗長 (ZRS)] を選択します。
- [ストレージ アカウント名] に、
[次へ] を選択します。
[詳細設定] タブで、[Require secure transfer for REST API Operations] (REST API 操作の安全な転送を必須にする) をオフにします。 このオプションをオフにしないと、NFS 共有を VM にマウントできません。 マウント操作がタイム アウトします。
[次へ] を選択します。
[ネットワーク] セクションで、これらの設定を構成します。
- [ネットワーク接続] の [接続方法] で、[プライベート エンドポイント] を選びます。
- [プライベート エンドポイント] で [プライベート エンドポイントの追加] を選びます。
[プライベート エンドポイントの作成] ウィンドウで、お使いのサブスクリプション、リソース グループ、場所を選択します。 名前には、
sapafsnfs_pe
を入力します。 [ストレージ サブリソース] で [ファイル] を選択します。 [ネットワーク] の [仮想ネットワーク] で、使用する仮想ネットワークとサブネットを選びます。 この場合も、SAP VM がある仮想ネットワーク、またはピアリングされた仮想ネットワークを使用できます。 [プライベート DNS 統合] では、 [プライベート DNS ゾーンと統合する] の既定のオプション [はい] をそのまま使用します。 お使いのプライベート DNS ゾーンを選択します。 [OK] を選択します。[ネットワーク] タブに戻り、 [次へ] を選びます。
[データ保護] タブで、すべての既定の設定をそのまま維持します。
[確認および作成] を選択して構成を検証します。
検証の終了を待ちます。 すべての問題を修正してから、操作を続行します。
[確認および作成] タブで、 [作成] を選択します。
次に、作成したストレージ アカウントに NFS 共有をデプロイします。 この例では、sapnw1
と saptrans
の 2 つの NFS 共有があります。
- Azure portal にサインインします。
- ストレージ アカウントを選択するか、検索します。
- [ストレージ アカウント] ページで、 [sapafsnfs] を選びます。
- sapafsnfs のリソース メニューで、[データ ストレージ] の下の [ファイル共有] を選びます。
- [ファイル共有] ページで、 [ファイル共有] を選択します。
- [名前] に、「
sapnw1
」、「saptrans
」と入力します。 - 適切な共有サイズを選択します。 たとえば、128 GB です。 共有に格納されるデータのサイズと、IOPS およびスループットの要件を考慮してください。 詳細については、Azure ファイル共有のターゲットに関するページをご覧ください。
- プロトコルとして [NFS] を選びます。
- [ルート スカッシュなし] を選びます。 そうしないと、VM に共有をマウントするときに、ファイルの所有者またはグループが表示できません。
- [名前] に、「
重要
上記の共有サイズは一例にすぎません。 共有のサイズを必ず適切に設定してください。 サイズは、共有に格納されるデータのサイズだけでなく、IOPS とスループットの要件にも基づきます。 詳細については、Azure ファイル共有のターゲットに関するページをご覧ください。
NFS 経由でマウントする必要がない SAP ファイル システムを Azure ディスク ストレージにデプロイすることもできます。 この例では、/usr/sap/NW1/D02
と /usr/sap/NW1/D03
を Azure ディスク ストレージにデプロイできます。
Azure Files 共有上の NFS に関する重要な考慮事項
Azure Files 上の NFS を使用したデプロイを計画する際は、次の重要な点を考慮してください。
- 共有の最小サイズは 100 GiB です。 プロビジョニングされた共有の容量に対してのみ料金が発生します。
- 容量の要件だけでなく、IOPS とスループットの要件にも基づいて NFS 共有のサイズを決定してください。 詳細については、Azure ファイル共有のターゲットに関するページをご覧ください。
- ワークロードをテストしてサイズ設定を検証し、パフォーマンス目標を満たしていることを確認してください。 Azure Files 上の NFS のパフォーマンスの問題のトラブルシューティング方法については、Azure ファイル共有のパフォーマンスのトラブルシューティングに関する記事を参照してください。
- SAP J2EE システムの場合、Azure Files の NFS に
/usr/sap/<SID>/J<nr>
を配置することはサポートされません。 - SAP システムのバッチ ジョブの負荷が高い場合は、ジョブ ログが数百万件になる可能性があります。 SAP のバッチ ジョブ ログがファイル システムに格納されている場合は、
sapmnt
共有のサイズ設定に特に注意してください。 SAP_BASIS 7.52 の時点では、バッチ ジョブ ログの既定の動作として、データベースに格納されます。 詳細については、「データベースのジョブ ログ」を参照してください。 - SAP システムごとに個別の
sapmnt
共有をデプロイします。 - 他のアクティビティ (インターフェイスなど) や
saptrans
にはsapmnt
共有を使用しないでください。 - 他のアクティビティ (インターフェイスなど) や
sapmnt
にはsaptrans
共有を使用しないでください。 - 1 つのストレージ アカウントに統合する共有の SAP システムの数が多くなり過ぎないようにします。 ストレージ アカウントのパフォーマンス スケール ターゲットも用意されています。 ストレージ アカウントの制限を超えないことにも注意してください。
- 一般に、1 つのストレージ アカウントに 5 つより多い SAP システムの共有を統合しないでください。 このガイドラインは、ストレージ アカウントの制限を超過することを回避し、パフォーマンス分析を簡略化するのに役立ちます。
- 通常は、非実稼働と実稼働の SAP システム用の
sapmnt
のような共有は、同じストレージ アカウントに混在させないようにします。 - NFS クライアントの機能強化の恩恵を受けるために、RHEL 8.4 以上にデプロイすることをお勧めします。
- プライベート エンドポイントを使用してください。 万が一ゾーン障害が発生した場合、NFS セッションは自動的に正常なゾーンにリダイレクトされます。 NFS 共有を VM に再マウントする必要はありません。
- VM を可用性ゾーンにデプロイする場合は、ZRS をサポートする Azure リージョンでストレージ アカウントと ZRS を使用します。
- Azure Files では現在、ディザスター リカバリー シナリオにおけるリージョン間の自動レプリケーションはサポートされていません。
(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 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
[A] NFS クライアントとその他の要件をインストールします。
sudo yum -y install nfs-utils resource-agents resource-agents-sap
[1] NFS 共有に SAP ディレクトリを作成します。
NFS 共有 sapnw1 をいずれかの VM に一時的にマウントし、入れ子になったマウント ポイントとして使用される SAP ディレクトリを作成します。# 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 sapmntNW1 sudo mkdir -p usrsapNW1ascs sudo mkdir -p usrsapNW1ers sudo mkdir -p usrsapNW1sys # unmount the volume and delete the temporary directory cd .. sudo umount /saptmp sudo rmdir /saptmp
[A] 共有ディレクトリを作成します。
sudo mkdir -p /sapmnt/NW1 sudo mkdir -p /usr/sap/trans sudo mkdir -p /usr/sap/NW1/SYS sudo mkdir -p /usr/sap/NW1/ASCS00 sudo mkdir -p /usr/sap/NW1/ERS01 sudo chattr +i /sapmnt/NW1 sudo chattr +i /usr/sap/trans sudo chattr +i /usr/sap/NW1/SYS sudo chattr +i /usr/sap/NW1/ASCS00 sudo chattr +i /usr/sap/NW1/ERS01
[A]
resource-agents-sap
のバージョンを確認します。インストールされている
resource-agents-sap
パッケージのバージョンが、3.9.5-124.el7
以上であることを確認します。sudo yum info resource-agents-sap
[A] マウント エントリを追加します。
vi /etc/fstab # Add the following lines to fstab, save and exit sapnfs.file.core.windows.net:/sapnfsafs/saptrans /usr/sap/trans nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/sapmntNW1 /sapmnt/NW1 nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1sys/ /usr/sap/NW1/SYS nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 # Mount the file systems 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 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
エージェントを再起動して変更をアクティブにします。
sudo service waagent restart
[A] RHEL を構成します。
RHEL 7.x 用の SAP Note 2002167、RHEL 8.x 用の SAP Note 2772999、または RHEL 9.x 用の SAP Note 3108316 の説明に従って RHEL を構成します。
SAP NetWeaver ASCS をインストールする
[1] クラスターの既定のプロパティを構成します。
# If using RHEL 7.x pcs resource defaults resource-stickiness=1 pcs resource defaults migration-threshold=3 # If using RHEL 8.x or later pcs resource defaults update resource-stickiness=1 pcs resource defaults update migration-threshold=3
[1] ASCS インスタンス用の仮想 IP リソースと正常性プローブを作成します。
sudo pcs node standby sap-cl2 sudo pcs resource create fs_NW1_ASCS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1ascs' \ directory='/usr/sap/NW1/ASCS00' 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_ASCS sudo pcs resource create vip_NW1_ASCS IPaddr2 \ ip=10.90.90.10 \ --group g-NW1_ASCS sudo pcs resource create nc_NW1_ASCS azure-lb port=62000 \ --group g-NW1_ASCS
クラスターの状態が正常であることと、すべてのリソースが起動されていることを確認します。 リソースがどのノードで実行されているかは重要ではありません。
sudo pcs status # 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
[1] SAP NetWeaver ASCS をインストールします。
root として SAP NetWeaver ASCS を最初のノードにインストールします。その際、ASCS のロード バランサー フロントエンド構成の IP アドレスに対応する仮想ホスト名 (sapascs と 10.90.90.10 など) と、ロード バランサーのプローブに使用したインスタンス番号 (00 など) を使用します。
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/NW1/ASCS00 へのサブフォルダーの作成に失敗する場合は、ASCS 00 フォルダーの所有者とグループを設定し、もう一度試してください。
sudo chown nw1adm /usr/sap/NW1/ASCS00 sudo chgrp sapsys /usr/sap/NW1/ASCS00
[1] ERS インスタンス用の仮想 IP リソースと正常性プローブを作成します。
sudo pcs node unstandby sap-cl2 sudo pcs node standby sap-cl1 sudo pcs resource create fs_NW1_AERS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1ers' \ directory='/usr/sap/NW1/ERS01' 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_AERS sudo pcs resource create vip_NW1_AERS IPaddr2 \ ip=10.90.90.9 \ --group g-NW1_AERS sudo pcs resource create nc_NW1_AERS azure-lb port=62101 \ --group g-NW1_AERS
クラスターの状態が正常であることと、すべてのリソースが起動されていることを確認します。 リソースがどのノードで実行されているかは重要ではありません。
sudo pcs status # 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 # 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
[2] SAP NetWeaver ERS をインストールします。
root として SAP NetWeaver ERS を 2 番目のノードにインストールします。その際、ERS のロード バランサー フロントエンド構成の IP アドレスに対応する仮想ホスト名 (たとえば、sapers、10.90.90.9) と、ロード バランサーのプローブに使用したインスタンス番号 (たとえば、01) を使用します。
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/NW1/ERS01 へのサブフォルダーの作成に失敗する場合は、ERS01 フォルダーの所有者とグループを設定し、もう一度試してください。
sudo chown qaadm /usr/sap/NW1/ERS01 sudo chgrp sapsys /usr/sap/NW1/ERS01
[1] ASCS/SCS および ERS のインスタンス プロファイルを適用します。
ASCS/SCS プロファイル。
sudo vi /sapmnt/NW1/profile/NW1_ASCS00_sapascs # 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/NW1/profile/NW1_ERS01_sapers # 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/NW1/ASCS00/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW1/ASCS00/exe/sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_ASCS00_sapascs -D -u nw1adm # systemctl --no-ask-password start SAPNW1_00 # sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_ASCS00_sapascs # Depending on whether the SAP Startup framework is integrated with systemd, you will observe one of the two entries on the ERS node. You should comment out the line(s). # LD_LIBRARY_PATH=/usr/sap/NW1/ERS01/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW1/ERS01/exe/sapstartsrv pf=/usr/sap/NW1/ERS01/profile/NW1_ERS01_sapers -D -u nw1adm # systemctl --no-ask-password start SAPNW1_00 # sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_ERS01_sapers
重要
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 sudo pcs resource create rsc_sap_NW1_ASCS00 SAPInstance \ InstanceName=NW1_ASCS00_sapascs START_PROFILE="/sapmnt/NW1/profile/NW1_ASCS00_sapascs" \ 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-NW1_ASCS sudo pcs resource meta g-NW1_ASCS resource-stickiness=3000 sudo pcs resource create rsc_sap_NW1_ERS01 SAPInstance \ InstanceName=NW1_ERS01_sapers START_PROFILE="/sapmnt/NW1/profile/NW1_ERS01_sapers" \ 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-NW1_AERS sudo pcs constraint colocation add g-NW1_AERS with g-NW1_ASCS -5000 sudo pcs constraint location rsc_sap_NW1_ASCS00 rule score=2000 runs_ers_NW1 eq 1 sudo pcs constraint order start g-NW1_ASCS then stop g-NW1_AERS kind=Optional symmetrical=false sudo pcs node unstandby sap-cl1 sudo pcs property set maintenance-mode=false
以前のバージョンからアップグレードし、エンキュー サーバー 2 に切り替えている場合は、SAP Note 2641322 を参照してください。
Note
前の構成のタイムアウトは例にすぎないため、特定の SAP セットアップに適合させる必要がある場合があります。
クラスターの状態が正常であることと、すべてのリソースが起動されていることを確認します。 リソースがどのノードで実行されているかは重要ではありません。
sudo pcs status # 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
[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_NW1_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 アドレスとホスト名を変更します。10.90.90.7 sap-cl1 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 10.90.90.12 sapa01 10.90.90.13 sapa02
[A]
sapmnt
ディレクトリを作成します。sudo mkdir -p /sapmnt/NW1 sudo mkdir -p /usr/sap/trans sudo chattr +i /sapmnt/NW1 sudo chattr +i /usr/sap/trans
[A] NFS クライアントとその他の要件をインストールします。
sudo yum -y install nfs-utils uuidd
[A] マウント エントリを追加します。
vi /etc/fstab # Add the following lines to fstab, save and exit sapnfs.file.core.windows.net:/sapnfsafs/saptrans /usr/sap/trans nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/sapmntNW1 /sapmnt/NW1 nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 # Mount the file systems 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 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
エージェントを再起動して変更をアクティブにします。
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 NetWeaver データベース インスタンスをインストールします。その際、データベースのロード バランサー フロントエンド構成の IP アドレスに対応する仮想ホスト名を使用します。
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
SAP NetWeaver アプリケーション サーバーのインストール
次の手順に従って、SAP アプリケーション サーバーをインストールします。
[A] アプリケーション サーバーを準備します。
前のセクション「SAP NetWeaver アプリケーション サーバーの準備」の手順に従って、アプリケーション サーバーを準備します。
[A] SAP NetWeaver アプリケーション サーバーをインストールします。
プライマリまたは追加の SAP NetWeaver アプリケーション サーバーをインストールします。
sapinst
のパラメーターSAPINST_REMOTE_ACCESS_USER
を使用すると、ルート以外のユーザーがsapinst
に接続することを許可できます。sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
[A] SAP HANA Secure Store を更新します。
SAP HANA システム レプリケーション セットアップの仮想名を指すように SAP HANA Secure Store を更新します。
次のコマンドを実行して、エントリを
<sapsid>adm
として一覧表示します。hdbuserstore List
すべてのエントリが一覧表示され、次のようになります。
DATA FILE : /home/nw1adm/.hdb/sapa01/SSFS_HDB.DAT KEY FILE : /home/nw1adm/.hdb/sapa01/SSFS_HDB.KEY KEY DEFAULT ENV : 10.90.90.5:30313 USER: SAPABAP1 DATABASE: NW1
この例では、既定のエントリの IP アドレスは、ロードバランサーではなく VM を指しています。 ロード バランサーの仮想ホスト名を指すようにエントリを変更します。 必ず同じポートとデータベース名を使用してください。 たとえば、サンプル出力の
30313
とNW1
を使用します。su - nw1adm hdbuserstore SET DEFAULT nw1db:30313@NW1 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 VM 上の SAP HANA の HA を確保し、ディザスター リカバリーを計画する方法を確認するには、「Azure Virtual Machines 上の SAP HANA の高可用性」を参照してください。