Translated message

A translation of this page exists in English.

RHEL 7.5+ および RHEL 8 でのスタンドアロンリソースを使用した SAP NetWeaver ASCS/ERS ENSA1 の設定

更新 -

目次

1. 概要

1.1.はじめに

SAP NetWeaver ベースのシステム (SAP ERP、SAP CRM など) はビジネスプロセスで重要なロールを果たしているため、SAP NetWeaver ベースのシステムの可用性が高いことが重要です。クラスタリングの基本的な考え方は非常に単純です。単一の大きなマシンがすべての負荷とリスクを負担するわけではありません。むしろ、障害が発生したサービスまたはマシンの即時完全な代替品として、1 つ以上のマシンが自動的にドロップされます。最良の場合、この交換プロセスはシステムのユーザーに中断を引き起こしません。

1.2.対象者

このドキュメントは、RHEL HA アドオンまたはその他のクラスタリングソリューションを使用して高可用性ソリューションをセットアップした経験を持つ、SAP および Red Hat の認定または訓練を受けた管理者およびコンサルタントを対象としています。ソフトウェアと追加ドキュメントをダウンロードするには、SAP Service Marketplace と Red Hat Customer Portal の両方にアクセスする必要があります。

Red Hat コンサルティングでは、お客様のデータセンター要件を満たすためにクラスターをセットアップし、ソリューションをカスタマイズすることを強く推奨します。これらの要件は通常、このドキュメントで説明されているソリューションよりも複雑です。

1.3.コンセプト

このドキュメントでは、SAP と Red Hat の両方によって確立された高可用性のガイドラインに準拠する 2 ノードクラスターソリューションをセットアップする方法について説明します。これは、RHEL HA アドオンを備えた Red Hat Enterprise Linux 7.5 以降、RHEL 8 上の SAP NetWeaver に基づいています。このドキュメントで説明されているリファレンスアーキテクチャーは、SAP High Availability Interface 認定 NW-HA-CLU 7.50 のテストを受けています。この文書は認証取得後に更新されます。

アプリケーション層では、エンキューサーバーのロックテーブルが最も重要な部分です。これを保護するために、SAP はロックテーブルのバックアップコピーを保持するエンキューレプリケーションサーバー (ERS) を開発しました。(A)SCS がノード 1 で実行されている間、ERS は常に、現在のエンキューテーブルのコピーをノード 2 に維持する必要があります。システムが (A)SCS をノード 2 にフェイルオーバーする必要がある場合、まずノード 2 で起動し、次に ERS をシャットダウンし、その共有メモリーセグメントを引き継ぎ、それによって最新のエンキューテーブルを取得します。テーブルが新しいプライマリーエンキューテーブルになります。ERS は、ノード 1 が使用可能になると開始されます。

SAP HA-Interface 認定で義務付けられているこのドキュメントは、(A)SCS と ERS の高可用性に焦点を当てており、どちらもクラスターソフトウェアによって制御されます。通常モードでは、クラスターは ERS と (A)SCS が常に異なるノードで実行されるようにします。フェイルオーバーが発生した場合、(A)SCS は ERS をフォローする必要があります。(A) SCS は、ERS が実行されているノードに切り替える必要があります。(A)SCS は複製されたエンキューテーブルを ERS から引き継ぐ必要があるため、クラスターは、(A)SCS の起動時に ERS がすでに実行されていることを確認する必要があります。

上記の概念はスタンドアロンエンキューサーバー 1 (ENSA1) として知られており、ABAP 1709 以前で利用できます。ABAP 1809 以降のデフォルトのインストールとなっている Standalone Enqueue Server 2 (ENSA2) については、Pacemaker の Standalone Enqueue Server 2 (ENSA2) を使用した SAP S/4HANA ASCS/ERS の設定を 確認してください。

1.4.リソース: スタンドアロンとマスター/スレーブ

Pacemaker で (A)SCS および ERS リソースを設定するには、マスター/スレーブとスタンドアロンの 2 つのアプローチがあります。マスター/スレーブアプローチは、すべての RHEL 7 マイナーリリースですでにサポートされています。スタンドアロンアプローチは、RHEL 7.5 以降および RHEL 8 でサポートされています。

新しいデプロイメントでは、次の理由からスタンドアロンが推奨されます。
- 現在の SAP HA インターフェイス認定の要件を満たしています。
- 新しい Standalone Enqueue Server 2 (ENSA2) 設定と互換性があります。
- (A) SCS/ERS インスタンスは独立して起動および停止可能
- (A) SCS/ERS インスタンスディレクトリーはクラスターの一部として管理できます。

この記事では、SAPinstance スタンドアロンアプローチの設定手順の概要を説明します。SAPInstance マスター/スレーブ設定の手順については、kabse 記事 マスター/スレーブ SAPInstance リソースを使用した Pacemaker クラスターの SAP NetWeaver を参照してください。

1.5.サポートポリシー

参照先: RHEL High Availability クラスターのサポートポリシー - クラスター内の SAP NetWeaver の管理

2.要件

2.1 購読

サブスクリプション、カーネル、パッチレベルを両方のノードで同一に保つことが重要です。

この kbase 記事 に従って、システムを SAP ソリューション用 RHEL の更新サービスにサブスクライブしてください。

2.2.Pacemaker リソースエージェント

  • RHEL for SAP Solutions 7.5 以降、および RHEL 8

2.3.SAP NetWeaver 高可用性アーキテクチャー

SAP NetWeaver High-Availability の一般的なセットアップは、次の 3 つの特徴的なコンポーネントで設定されます。

この記事では、ペースメーカークラスター内の SAP NetWeaver ASCS および ERS の設定に焦点を当てます。ベストプラクティスとして、(A)SCS および ERS 用に指定された 2 ノードクラスターの外側の別のノードにアプリケーションサーバーとデータベースをインストールすることを推奨します。

以下は、インストール例のアーキテクチャー図です。

EFS の作成

2.4.SAP インスタンス リソースエージェント

SAPInstance は、 ASCS リソースと ERS リソースの両方に使用されるペースメーカーリソースエージェントです。SAPInstance リソースエージェントのすべての操作は、SAP 開始サービスフレームワーク sapstartsrv を使用して実行されます。

2.5.ストレージ要件

クラスターによって管理される SAP インストールで使用されるディレクトリーは、SAP が提供するガイドラインに従ってセットアップする必要があります。詳細については、SAP ディレクトリー を参照してください。

2.5.1.インスタンス固有のディレクトリー

(A)SCS、ERS、およびクラスターによって管理されるその他のアプリケーションサーバーインスタンスの場合、インスタンス固有のディレクトリーを別の SAN LUN または NFS エクスポート上に作成する必要があります。これらのディレクトリーは、クラスターによってノード上のローカルディレクトリーとしてマウントできます。インスタンスが実行されているはずです。以下に例を示します。

  • (A)SCS: /usr/sap/<SAPSID>/ASCS<Ins#>
  • ERS: /usr/sap/<SAPSID>/ERS<Ins#>
  • アプリケーションサーバー: /usr/sap/<SAPSID>/D<Ins#>

インスタンス固有のディレクトリーに SAN LUN を使用する場合、お客様は HA-LVM を使用して、インスタンスディレクトリーが一度に 1 つのノードにのみマウントできるようにする必要があります。

NFS を除き、共有ファイルシステム (GFS2 など) を使用してすべてのインスタンス固有のディレクトリーをホストし、それらをすべてのクラスターノードで同時に使用できるようにすることはサポートされていません。

インスタンス固有のディレクトリーに NFS エクスポートを使用する場合、Azure NetApp Files (ANF) や Amazon EFS などの NFS ファイルサーバー上の同じディレクトリーツリーにディレクトリーが作成されている場合は、ファイルシステム の設定時にオプション Force_unmount=safe を使用する必要があります。リソース。このオプション を使用すると、クラスターは、エクスポートが作成されたディレクトリーツリーで実行されているすべてのプロセスを停止するのではなく、特定の NFS エクスポートで実行されているプロセスのみを停止します (ペースメーカーリソースのフェイルオーバー中に、ファイルシステムリソースが、 詳細については、ファイルシステムを 参照してください)。

2.5.2.共有ディレクトリー

次の共有ディレクトリーは、SAP インスタンスを管理するすべてのクラスターノードで利用可能である必要があります。

/sapmnt
/usr/sap/trans

/sapmnt ディレクトリーは、SAP システムの一部であるサービスを実行している他のすべてのサーバー (たとえば、DB インスタンスをホストしているサーバーや、クラスターによって管理されていない追加のアプリケーションサーバーをホストしているサーバー) からもアクセスできる必要があります。

同じ SAP システムのサービスをホストしているすべてのサーバー間で /sapmnt ディレクトリーと /usr/sap/trans ディレクトリーを共有するには、次のいずれかの方法を使用できます。
- 外部 NFS サーバーを使用する (RHEL High Availability クラスターのサポートポリシー - NFS サーバーと同じホストを使用する高可用性ファイルシステムマウントの管理 および同じ NFS エクスポート (ループバックマウント) をマウントする NFS クライアントとしての管理に記載されています) この NFS サーバーは同時にサポートされていません)
- GFS2 ファイルシステムを使用する (これには、すべてのノードに Resilient Storage Add-on サブスクリプションが必要です)
- glusterfs ファイルシステムの使用 (記事 SAP NetWeaver 共有ファイルシステムに glusterfs を使用できますか? の追加の注意事項を確認してください)

共有ディレクトリーは 、/etc/fstab を介して静的にマウントすることも、マウントをクラスターによって管理することもできます (この場合、SAP インスタンスを起動する前に、クラスターがクラスターノードに /sapmnt ディレクトリーをマウントしていることを確認する必要があります) 適切な制約を設定します)。

3.SAP NetWeaver をインストールする

3.1.このドキュメントで使用する設定オプション

以下は、このドキュメントのインスタンスに使用される設定オプションです。

2 つのノードがペースメーカーで ASCS/ERS インスタンスを実行します。

1st node hostname:      node1
2nd node hostname: node2

SID: RH2

ASCS Instance number: 20
ASCS virtual hostname: rhascs

ERS Instance number: 29
ERS virtual hostname: rhers

2 ノードクラスターの外側:

PAS Instance number:    21
AAS Instance number: 22

HANA データベース:

SID:                    RH0
HANA Instance number: 00
HANA virtual hostname: rhdb

3.2.ホストの準備

インストールを開始する前に、次のことを確認してください。

  • RHEL for SAP Solutions 7.x または RHEL 8.x をインストールします (最新を推奨)
  • システムを RHN または Satellite に登録し、SAP アプリケーションチャネルまたは Update Services (E4S) チャネルに対して RHEL を有効にします。
  • 高可用性アドオンチャネルを有効にする
  • 共有ストレージとファイルシステムが正しいマウントポイントに存在する
  • インスタンスによって使用される仮想 IP アドレスが存在し、到達可能である
  • インスタンスによって使用されるホスト名を IP アドレスに解決したり、逆に解決したりできます。
  • インストールメディアが利用可能です
  • システムは、SAP NetWeaver を実行するための推奨事項に従って設定されています

3.3.NetWeaver をインストールする

ソフトウェアプロビジョニングマネージャー (SWPM) を使用して、次の順序でインスタンスをインストールします。

  • ASCS インスタンス
  • ERS インスタンス
  • DB インスタンス
  • PAS インスタンス
  • AAS インスタンス

3.3.1.ASCS をノード 1 にインストールする

次のファイルシステムは、ASCS がインストールされるノード 1 にマウントする必要があります。

/usr/sap/RH2/ASCS20
/usr/sap/RH2/SYS
/usr/sap/trans
/sapmnt

rhascs の仮想 IP は、node1 で有効にする必要があります。

インストーラーを実行します。

[root@node1]# ./sapinst SAPINST_USE_HOSTNAME=rhascs

高可用性システム オプションを選択します。

ASCS のインストール

3.3.2.ERS をノード 2 にインストールする

次のファイルシステムは、ERS がインストールされるノード 2 にマウントする必要があります。

/usr/sap/RH2/ERS29
/usr/sap/RH2/SYS
/usr/sap/trans
/sapmnt

rhers の仮想 IP は、node2 で有効にする必要があります。

インストーラーを実行します。

[root@node2]# ./sapinst SAPINST_USE_HOSTNAME=rhers

高可用性システム オプションを選択します。

ERS のインストール

3.3.3.SAP HANA

この例では、SAP HANA は次の設定を使用します。サポートされている他のデータベースを使用することもできます。

SAP HANA SID:                    RH0
SAP HANA Instance number: 00

SAP HANA は別のホストにインストールする必要があります。オプションで、ドキュメントペースメーカークラスター での SAP HANA システムレプリケーションに従って、自動 HANA システムレプリケーションを 別のペースメーカークラスターにインストールできます。

HANA ホストでインストーラーを実行します。

[root]# ./sapinst SAPINST_USE_HOSTNAME=rhdb

3.3.4.アプリケーションサーバーのインストール

Application Server インスタンスを実行するには、次のファイルシステムをホストにマウントする必要があります。複数のアプリケーションサーバーがある場合は、それぞれを対応するホストにインストールします。

/usr/sap/RH2/D<Ins#>
/usr/sap/RH2/SYS
/usr/sap/trans
/sapmnt

インストーラーを実行します。

[root]# ./sapinst

高可用性システム オプションを選択します。

3.4.インストール後の設定

3.4.1.(A)SCS プロファイルの変更

(A) SCS インスタンスはクラスターによって管理されるため、エンキューサーバーの自動再起動を防ぐために、プロファイルを次のように変更する必要があります。変更を適用するには、ASCS プロファイル /sapmnt/RH2/profile/RH2_ASCS20_rhascs で次のコマンドを実行します。

[root]# sed -i -e 's/Restart_Program_01/Start_Program_01/' /sapmnt/RH2/profile/RH2_ASCS20_rhascs

3.4.2.ERS プロファイルの変更

ERS インスタンスはクラスターによって管理されるため、自動再起動を防ぐためにプロファイルを次のように変更する必要があります。変更を適用するには、ERS プロファイル /sapmnt/RH2/profile/RH2_ERS29_rhers で次のコマンドを実行します。

[root]# sed -i -e 's/Restart_Program_00/Start_Program_00/' /sapmnt/RH2/profile/RH2_ERS29_rhers

3.4.3./usr/sap/sapservices ファイルを更新します。

ノード 1 とノード 2 の両方で、/usr/sap/sapservices ファイルで次の 2 行がコメントアウトされていることを確認します。

#LD_LIBRARY_PATH=/usr/sap/RH2/ASCS20/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/RH2/ASCS20/exe/sapstartsrv pf=/usr/sap/RH2/SYS/profile/RH2_ASCS20_rhascs -D -u rh2adm
#LD_LIBRARY_PATH=/usr/sap/RH2/ERS29/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/RH2/ERS29/exe/sapstartsrv pf=/usr/sap/RH2/ERS29/profile/RH2_ERS29_rhers -D -u rh2adm

3.4.4.フェイルオーバーノードで ASCS と ERS のマウントポイントを作成する

[root@node1 ~]# mkdir /usr/sap/RH2/ERS29
[root@node1 ~]# chown rh2adm:sapsys /usr/sap/RH2/ERS29

[root@node2 ~]# mkdir /usr/sap/RH2/ASCS20
[root@node2 ~]# chown rh2adm:sapsys /usr/sap/RH2/ASCS20

3.4.5.他のノード上のインスタンスの手動テスト

ASCS および ERS インスタンスを停止します。インスタンス固有のディレクトリーを他のノードに移動します。

[root@node1 ~]# umount /usr/sap/RH2/ASCS20
[root@node2 ~]# mount /usr/sap/RH2/ASCS20

[root@node2 ~]# umount /usr/sap/RH2/ERS29
[root@node1 ~]# mount /usr/sap/RH2/ERS29

他のクラスターノードで ASCS インスタンスと ERS インスタンスを手動で起動し、それぞれ手動で停止します。

3.4.6.すべてのノードで SAP HostAgent を確認する

すべてのノードで、SAP HostAgent のバージョンが同じであり、最小バージョン要件を満たしているかどうかを確認します。

[root]# /usr/sap/hostctrl/exe/saphostexec -version

SAP HostAgent をアップグレード/インストールするには、SAP ノート 1031096 に従ってください。

3.4.7.恒久的な SAP ライセンスキーをインストールする

高可用性シナリオでの SAP ハードウェアキーの決定が改善されました。各クラスターノードのハードウェアキーに基づいて、複数の SAP ライセンスキーをインストールする必要がある場合があります。詳細については、SAP Note 1178686 - Linux: SAP ハードウェアキーを生成する代替方法を参照してください。

4.Pacemaker をインストールする

次のドキュメントを参照して、最初に Pacemaker クラスターをセットアップしてください。

フェンシング/STONITH のセットアップ については、RHEL High Availability クラスターのサポートポリシー - フェンシング/STONITH の一般要件 のガイドラインに従ってください。さまざまなプラットフォームでサポートされているフェンシング/STONITH エージェントに関する情報は 、クラスタープラットフォームとアーキテクチャー で入手できます。

このガイドでは、次のことが適切に機能していることを前提としています。

4.1.一般的なクラスタープロパティーを設定する

初期テスト中および運用後のリソースの不要なフェイルオーバーを回避するには、resource-stickiness および migration-threshold パラメーターに次のデフォルト値を設定します。デフォルトは、独自の定義値でオーバーライドされるリソースには適用されないことに注意してください。

[root]# pcs resource defaults resource-stickiness=1
[root]# pcs resource defaults migration-threshold=3

警告: RHEL 8.4 (pcs-0.10.8-1.el8) 以降、上記のコマンドは非推奨になりました。以下のコマンドを使用します。

[root]# pcs resource defaults update resource-stickiness=1
[root]# pcs resource defaults update migration-threshold=3

注意事項:
1. 上記のコマンドをクラスターの 1 つのノードで実行するだけで十分です。
2.コマンド resource-stickiness=1 は、 リソースがその場で実行を継続することを奨励しますが、migration-threshold=3 は、3 回の失敗後にリソースを新しいノードに移動させます。一般に、リソースが別のノードに早まってフェイルオーバーするのを防ぐには、3 で十分です。これにより、リソースのフェイルオーバー時間が制御可能な制限内に収まるようになります。

4.2.すべてのクラスターノードに resource-agents-sap を インストールします。

[root]# yum install resource-agents-sap

4.3.共有ファイルシステムのクラスターリソースを設定する

すべてのクラスターノードに次のマウントポイントを提供するように共有ファイルシステムを設定します。

/sapmnt
/usr/sap/trans
/usr/sap/RH2/SYS

4.3.1.クラスターによって管理される共有ファイルシステムを設定する

以下に示すように、複製された ファイルシステム クラスターリソースを使用して、外部 NFS サーバーからすべてのクラスターノードに共有をマウントできます。
: --clone オプションは RHEL 7 では機能しますが、RHEL 8 では機能しません。したがって、RHEL 8 の場合、クローンリソースを作成する現在の方法は、--clone を使用せずにリソースを作成し、pcs resource clone を実行してクローンを作成することです。

RHEL 7 の場合

[root]# pcs resource create rh2_fs_sapmnt Filesystem device='<NFS_Server>:<sapmnt_nfs_share>' directory='/sapmnt' fstype='nfs' --clone interleave=true
[root]# pcs resource create rh2_fs_sap_trans Filesystem device='<NFS_Server>:<sap_trans_nfs_share>' directory='/usr/sap/trans' fstype='nfs' --clone interleave=true
[root]# pcs resource create rh2_fs_sap_sys Filesystem device='<NFS_Server>:<rh2_sys_nfs_share>' directory='/usr/sap/RH2/SYS' fstype='nfs' --clone interleave=true

RHEL 8 の場合

[root]# pcs resource create rh2_fs_sapmnt Filesystem device='<NFS_Server>:<sapmnt_nfs_share>' directory='/sapmnt' fstype='nfs' 
[root]# pcs resource clone rh2_fs_sapmnt interleave=true
[root]# pcs resource create rh2_fs_sap_trans Filesystem device='<NFS_Server>:<sap_trans_nfs_share>' directory='/usr/sap/trans' fstype='nfs'
[root]# pcs resource clone rh2_fs_sap_trans interleave=true
[root]# pcs resource create rh2_fs_sap_sys Filesystem device='<NFS_Server>:<rh2_sys_nfs_share>' directory='/usr/sap/RH2/SYS' fstype='nfs'
[root]# pcs resource clone rh2_fs_sap_sys interleave=true

ファイルシステム リソースを作成した後、すべてのノードでそれらが適切に開始されていることを確認します。

[root]# pcs status
...
Clone Set: rh2_fs_sapmnt-clone [rh2_fs_sapmnt]
Started: [ node1 node2 ]
Clone Set: rh2_fs_sap_trans-clone [rh2_fs_sap_trans]
Started: [ node1 node2 ]
Clone Set: rh2_fs_sys-clone [rh2_fs_sys]
Started: [ node1 node2 ]

...

4.3.2.クラスター外で管理される共有ファイルシステムを設定する

共有ファイルシステムがクラスターによって管理されない場合は、Pacemaker サービスが開始される前にそれらが使用可能であることを確認する必要があります。

RHEL 7 では、systemd 並列化のため、共有ファイルシステムが resource-agents-deps ターゲットで開始されていることを確認する必要があります。詳細については、ドキュメントセクションを参照してください。 9.6.Pacemaker によって管理されないリソースの依存関係の起動順序の設定 (Red Hat Enterprise Linux 7.4 以降)

4.4.ASCS リソースグループの設定

4.4.1.仮想 IP アドレスのリソースを作成する

# pcs resource create rh2_vip_ascs20 IPaddr2 ip=192.168.200.101 --group rh2_ASCS20_group

4.4.2.ASCS ファイルシステムのリソースを作成します。

以下は、NFS ファイルシステムのリソースを作成する例です。

# pcs resource create rh2_fs_ascs20 Filesystem device='<NFS_Server>:<rh2_ascs20_nfs_share>' directory=/usr/sap/RH2/ASCS20 fstype=nfs force_unmount=safe --group rh2_ASCS20_group \
op start interval=0 timeout=60 \
op stop interval=0 timeout=120 \
op monitor interval=200 timeout=40

以下は、HA-LVM ファイルシステム用のリソースの作成例です。

# pcs resource create rh2_fs_ascs20_lvm LVM volgrpname='<ascs_volume_group>' exclusive=true --group rh2_ASCS20_group
# pcs resource create rh2_fs_ascs20 Filesystem device='/dev/mapper/<ascs_logical_volume>' directory=/usr/sap/RH2/ASCS20 fstype=ext4 --group rh2_ASCS20_group

4.4.3.ASCS インスタンスのリソースを作成する

# pcs resource create rh2_ascs20 SAPInstance InstanceName="RH2_ASCS20_rhascs" START_PROFILE=/sapmnt/RH2/profile/RH2_ASCS20_rhascs AUTOMATIC_RECOVER=false meta resource-stickiness=5000 migration-threshold=1 failure-timeout=60 --group rh2_ASCS20_group \
op monitor interval=20 on-fail=restart timeout=60 \
op start interval=0 timeout=600 \
op stop interval=0 timeout=600

注: meta resource-stickiness=5000 は、 ERS によるフェイルオーバー制約のバランスを取るためのもので、リソースが開始されたノードに留まり、制御不能にクラスター内を移動しないようにします。migration-threshold=1 を 指定すると、問題が検出されたときに ASCS が同じノードで再起動するのではなく、別のノードにフェイルオーバーされます。

グループにリソーススティッキネスを追加して、可能であれば ASCS がノードに留まるようにします。

# pcs resource meta rh2_ASCS20_group resource-stickiness=3000

4.5.ERS リソースグループの設定

4.5.1.仮想 IP アドレスのリソースを作成する

# pcs resource create rh2_vip_ers29 IPaddr2 ip=192.168.200.102 --group rh2_ERS29_group

4.5.2.ERS ファイルシステムのリソースを作成する

以下は、NFS ファイルシステムのリソースを作成する例です。

# pcs resource create rh2_fs_ers29 Filesystem device='<NFS_Server>:<rh2_ers29_nfs_share>' directory=/usr/sap/RH2/ERS29 fstype=nfs force_unmount=safe --group rh2_ERS29_group \
op start interval=0 timeout=60 \
op stop interval=0 timeout=120 \
op monitor interval=200 timeout=40

以下は、HA-LVM ファイルシステム用のリソースの作成例です。

# pcs resource create rh2_fs_ers29_lvm LVM volgrpname='<ers_volume_group>' exclusive=true --group rh2_ERS29_group
# pcs resource create rh2_fs_ers29 Filesystem device='/dev/mapper/<ers_logical_volume>' directory=/usr/sap/RH2/ERS29 fstype=ext4 --group rh2_ERS29_group

4.5.3.ERS インスタンスのリソースを作成する

ERS インスタンスクラスターリソースを作成します。注: IS_ERS=true 属性は、ENSA1 デプロイメントでは必須です。IS_ERS の詳細について は、スタンドアロンエンキューサーバー (ENSA1 および ENSA2) を使用する SAP NetWeaver クラスターで IS_ERS 属性はどのように機能しますか? を 参照してください。。

# pcs resource create rh2_ers29 SAPInstance InstanceName="RH2_ERS29_rhers" START_PROFILE=/sapmnt/RH2/profile/RH2_ERS29_rhers AUTOMATIC_RECOVER=false IS_ERS=true --group rh2_ERS29_group \
op monitor interval=20 on-fail=restart timeout=60 \
op start interval=0 timeout=600 \
op stop interval=0 timeout=600

4.6.制約を作成する

4.6.1.ASCS および ERS リソースグループのコロケーション制約を作成する

リソースグループ rh2_ASCS20_grouprh2_ERS29_group は、同じノードで実行しないようにする必要があります。グループの順序は重要です。

# pcs constraint colocation add rh2_ERS29_group with rh2_ASCS20_group -5000

4.6.2.ASCS リソースの場所の制約を作成する

ASCS20 インスタンス rh2_ascs20 は、 フェイルオーバーが発生しているときに、以前に ERS が実行されていたノードでの実行を優先します。

# pcs constraint location rh2_ascs20 rule score=2000 runs_ers_RH2 eq 1

4.6.3.ASCS および ERS リソースグループの順序制約を作成する

rh2_ERS29_group よりも前に rh2_ASCS20_group を開始することを優先します (オプション)

# pcs constraint order start rh2_ASCS20_group then stop rh2_ERS29_group symmetrical=false kind=Optional

4.6.4.クラスターによって管理される /sapmnt リソースの順序制約を作成する

共有ファイルシステム /sapmnt がクラスターによって管理されている場合、次の制約により、ASCS および ERS SAPInstance リソースを含むリソースグループは、ファイルシステムが使用可能になったときにのみ開始されます。

# pcs constraint order rh2_fs_sapmnt-clone then rh2_ASCS20_group
# pcs constraint order rh2_fs_sapmnt-clone then rh2_ERS29_group

4.7.プライマリーアプリケーションサーバーグループ (PAS) の設定 (オプション)

以下は、SAPInstance リソースエージェントによって管理されるプライマリーアプリケーションサーバー (PAS) インスタンス rh2_pas_d01 を含むリソースグループ rh2_PAS_D01_group の設定例です。

4.7.1.PAS インスタンスの仮想 IP アドレスの作成

rh2_PAS_D01_group の一部となる仮想 IP アドレスを作成するには、以下のコマンドを使用します。

[root]# pcs resource create rh2_vip_pas_d01 IPaddr2 ip=192.168.0.16 --group rh2_PAS_D01_group

リソースが新しいグループ rh2_PAS_D01_group に作成されたことを確認するには 、pcs status コマンドの出力は次のようになります。

[root]# pcs status
...
Resource Group: rh2_PAS_D01_group
rh1_vip_pas_d01 (ocf::heartbeat:IPaddr2): Started node1
...

4.7.2.PAS リソースグループでの LVM および ファイルシステム クラスターリソースの設定

最初に LVM クラスターリソースが追加され、次に ファイルシステム クラスターリソースが追加されます。クラスターによって共有される LVM は、高可用性 LVM (HA-LVM) 設定とは何ですか? 実装方法は何ですか? の 記事で説明されているように設定されていることが期待されます。。

[root]# pcs resource create rh2_lvm_pas_d01 LVM volgrpname=vg_d01 exclusive=true --group rh2_PAS_D01_group
[root]# pcs resource create rh2_fs_pas_d01 Filesystem device=/dev/vg_d01/lv_d01 directory=/usr/sap/RH2/D01 fstype=xfs --group rh2_PAS_D01_group

以下に示すように、リソースが rh2_PAS_D01_group リソースグループに追加され、起動されたことを確認します。

[root]# pcs status
...
Resource Group: rh2_PAS_D01_group
rh2_vip_pas_d01 (ocf::heartbeat:IPaddr2): Started node1
rh2_lvm_pas_d01 (ocf::heartbeat:LVM): Started node1
rh2_fs_pas_d01 (ocf::heartbeat:Filesystem): Started node1
...

4.7.3.PAS リソースグループの制約を設定する

PAS を適切に起動するには、ASCS とデータベースインスタンスが実行されている必要があります。以下は、SAP Netweaver で使用できるさまざまなデータベースに対してこれを実現するための制約を設定する方法に関するコマンド例です。

4.7.3.1.rh2_SAPDatabase_group グループを使用したデプロイメント

データベースに必要なすべてのリソースを開始するクラスターリソースグループが 1 つある設定の場合。この例では、SAPDatabase リソースエージェントはデータベースの管理に使用されており、データベースグループ rh2_SAPDatabase_group の一部です。以下のコマンドは、ASCS インスタンスが昇格され、データベースグループ rh2_SAPDatabase_group が実行されているときにのみ rh2_PAS_D01_group 全体を起動する制約を作成します。

[root]# pcs constraint order rh2_SAPDatabase_group then rh2_PAS_D01_group kind=Optional symmetrical=false
[root]# pcs constraint order start rh2_ASCS20_group then rh2_PAS_D01_group kind=Optional symmetrical=false

コマンドを実行した後、制約が適切に追加されたことを確認します。

[root]# pcs constraint
Ordering Constraints:
...
start rh2_SAPDatabase_group then start rh2_PAS_group (kind:Optional) (non-symmetrical)
start rh2_ASCS20_group then start rh2_PAS_group (kind:Optional) (non-symmetrical)
...
4.7.3.2.データベースとしてシステムレプリケーションを使用した SAP HANA を使用したデプロイメント

クラスターによって管理されるシステムレプリケーション (SR) 用に設定された SAP HANA データベースを使用する場合、次の制約により、rh2_PAS_D01_group 全体が ASCS インスタンスが昇格されてから、SAP HANA SAPhana_RH2_02-master が昇格されたときにのみ起動されるようになります。

[root]# pcs constraint order promote SAPHana_RH2_02-master then rh2_PAS_D01_group Kind=Optional symmetrical=false
[root]# pcs constraint order start rh2_ASCS20_group then rh2_PAS_D01_group Kind=Optional symmetrical=false

コマンドを実行した後、制約が適切に追加されたことを確認します。

[root]# pcs constraint
Ordering Constraints:
...
promote SAPHana_RH2_02-master then start rh2_PAS_group (kind:Optional) (non-symmetrical)
start rh2_ASCS20_group then start rh2_PAS_group (kind:Optional) (non-symmetrical)
...

4.7.4.PAS SAPInstance クラスターリソースの設定

PAS インスタンスを実行するには、(A)SCS/ERS インスタンスと同じ SAPInstance リソースエージェントが使用されます。PAS インスタンスは、(A)SCS/ERS の単純なインスタンスと比較して、設定する必要のある属性が少なくなります。D01 インスタンスの PAS インスタンスを作成し、rh2_PAS_D01_group リソースグループの最後に配置する方法については、以下のコマンドを確認してください。

[root]# pcs resource create rh2_pas_d01 SAPInstance InstanceName="RH2_D01_rh1-pas" DIR_PROFILE=/sapmnt/RH2/profile START_PROFILE=/sapmnt/RH2/profile/RH2_D01_rh1-pas --group rh2_PAS_D01_group

以下のコマンドを使用して、PAS SAPInstance リソースの設定を確認します。

[root]# pcs resource show rh2_pas_d01
Resource: rh2_pas_d01 (class=ocf provider=heartbeat type=SAPInstance)
Attributes: DIR_PROFILE=/sapmnt/RH2/profile InstanceName=RH2_D01_rh1-pas START_PROFILE=/sapmnt/RH2/profile/RH2_D01_rh2-pas
Operations: demote interval=0s timeout=320 (rh2_pas_d01-demote-interval-0s)
monitor interval=120 timeout=60 (rh2_pas_d01-monitor-interval-120)
monitor interval=121 role=Slave timeout=60 (rh2_pas_d01-monitor-interval-121)
monitor interval=119 role=Master timeout=60 (rh2_pas_d01-monitor-interval-119)
promote interval=0s timeout=320 (rh2_pas_d01-promote-interval-0s)
start interval=0s timeout=180 (rh2_pas_d01-start-interval-0s)
stop interval=0s timeout=240 (rh2_pas_d01-stop-interval-0s)

4.8.追加のアプリケーションサーバーグループ (AAS) を設定する (オプション)

以下は、SAPInstance リソースエージェントによって管理される追加アプリケーションサーバー (AAS) インスタンス rh2_aas_d02 を含むリソースグループ rh2_AAS_D02_group の設定例です。

4.8.1.AAS インスタンスの仮想 IP アドレスを作成する

rh2_AAS_D02_group の一部となる仮想 IP アドレスを作成するには、以下のコマンドを使用します。

[root]# pcs resource create rh2_vip_aas_d02 IPaddr2 ip=192.168.0.17 --group rh2_AAS_D02_group

リソースが新しいグループ rh2_AAS_D02_group に作成されたことを確認するには 、pcs status コマンドの出力は次のようになります。

[root]# pcs status
...
Resource Group: rh2_AAS_D02_group
rh2_vip_aas_d02 (ocf::heartbeat:IPaddr2): Started node1
...

4.8.2.AAS リソースグループ内の LVM および ファイルシステム クラスターリソースを設定する

最初に LVM クラスターリソースが追加され、次に ファイルシステム クラスターリソースが追加されます。クラスターによって共有される LVM は、高可用性 LVM (HA-LVM) 設定とは何ですか? 実装方法は何ですか? の 記事で説明されているように設定されていることが期待されます。。

[root]# pcs resource create rh2_lvm_aas_d02 LVM volgrpname=vg_d02 exclusive=true --group rh2_AAS_D02_group
[root]# pcs resource create rh2_fs_aas_d02 Filesystem device=/dev/vg_d02/lv_d02 directory=/usr/sap/RH2/D02 fstype=xfs --group rh1_AAS_D02_group

以下に示すように、リソースが rh1_AAS_D02_group リソースグループに追加され、起動されたことを確認します。

[root]# pcs status
...
Resource Group: rh1_AAS_D02_group
rh2_vip_aas_d02 (ocf::heartbeat:IPaddr2): Started node1
rh2_lvm_aas_d02 (ocf::heartbeat:LVM): Started node1
rh2_fs_aas_d02 (ocf::heartbeat:Filesystem): Started node1
...

4.8.3.AAS リソースグループの制約を設定する

また、AAS を適切に起動するには、ASCS とデータベースインスタンスが実行されている必要があります。以下は、SAP Netweaver で使用できるさまざまなデータベースに対してこれを実現するための制約を設定する方法に関するコマンド例です。

4.8.3.1.rh2_SAPDatabase_group グループを使用したデプロイメント

データベースに必要なすべてのリソースを開始するクラスターリソースグループが 1 つある設定の場合。この例では、SAPDatabase リソースエージェントはデータベースの管理に使用されており、データベースグループ rh2_SAPDatabase_group の一部です。以下のコマンドは、ASCS インスタンスが昇格され、データベースグループ rh2_SAPDatabase_group が実行されているときにのみ rh2_AAS_D02_group 全体を開始する制約を作成します。

[root]# pcs constraint order rh2_SAPDatabase_group then rh2_AAS_D02_group kind=Optional symmetrical=false
[root]# pcs constraint order start rh2_ASCS20_group then rh1_AAS_D02_group kind=Optional symmetrical=false

コマンドを実行した後、制約が適切に追加されたことを確認します。

[root]# pcs constraint
Ordering Constraints:
...
start rh2_SAPDatabase_group then start rh2_AAS_group (kind:Optional) (non-symmetrical)
start rh2_ASCS20_group then start rh2_AAS_group (kind:Optional) (non-symmetrical)
...
4.8.3.2.SR をデータベースとして使用した SAP HANA の導入

クラスターによって管理されるシステムレプリケーション (SR) 用に設定された SAP HANA データベースを使用する場合、次の制約により、rh2_PAS_D01_group 全体が ASCS インスタンスが昇格されてから、SAP HANA SAPhana_RH2_02-master が昇格されたときにのみ起動されるようになります。

[root]# pcs constraint order promote SAPHana_RH2_02-master then rh2_AAS_D02_group symmetrical=false
[root]# pcs constraint order start rh2_ASCS20_group then rh2_AAS_D02_group

コマンドを実行した後、制約が適切に追加されたことを確認します。

[root]# pcs constraint
Ordering Constraints:
...
promote SAPHana_RH2_02-master then start rh2_AAS_group (kind:Optional) (non-symmetrical)
start rh2_ASCS20_group then start rh2_AAS_group (kind:Optional) (non-symmetrical)
...

重要な注意事項: パラメーター kind=Optional および symmmetrical=false が設定されている場合、ASCS および HANA データベースのフェイルオーバーによって PAS および/または AAS インスタンスは再起動されませんが、関連する ASCS および/または AAS インスタンスが 初期起動 中に再起動されることに注意してください。または、データベースインスタンスの起動に失敗した場合でも、クラスターは PAS および AAS インスタンスの起動を試みることができますが、これもまた失敗します。

4.8.4.AAS SAPInstance クラスターリソースを設定する

AAS インスタンスも実行するには、(A)SCS/ERS インスタンスと同じ SAPInstance リソースエージェントが使用されます。AAS インスタンスは、(A)SCS/ERS と比較して単純なインスタンスであり、設定する必要のある属性が少なくなります。D02 インスタンスの AAS インスタンスを作成し、それを rh2_AAS_D02_group リソースグループの最後に配置する方法については、以下のコマンドを確認してください。

[root]# pcs resource create rh2_aas_d02 SAPInstance InstanceName="RH2_D02_rh2-aas" DIR_PROFILE=/sapmnt/RH2/profile START_PROFILE=/sapmnt/RH2/profile/RH2_D02_rh2-aas --group rh2_AAS_D02_group

以下のコマンドを使用して、AAS SAPInstance リソースの設定を確認します。

[root]# pcs resource show rh2_aas_d02
Resource: rh2_aas_d02 (class=ocf provider=heartbeat type=SAPInstance)
Attributes: DIR_PROFILE=/sapmnt/RH2/profile InstanceName=RH2_D02_rh2-aas START_PROFILE=/sapmnt/RH2/profile/RH2_D02_rh2-aas
Operations: demote interval=0s timeout=320 (rh2_aas_d02-demote-interval-0s)
monitor interval=120 timeout=60 (rh2_aas_d02-monitor-interval-120)
monitor interval=121 role=Slave timeout=60 (rh2_aas_d02-monitor-interval-121)
monitor interval=119 role=Master timeout=60 (rh2_aas_d02-monitor-interval-119)
promote interval=0s timeout=320 (rh2_aas_d02-promote-interval-0s)
start interval=0s timeout=180 (rh2_aas_d02-start-interval-0s)
stop interval=0s timeout=240 (rh2_aas_d02-stop-interval-0s)

4.8.5.PAS および AAS SAPInstance クラスターリソースの制約を設定する

両方のノードが実行されているときに PAS インスタンスと AAS インスタンスが同じノードで実行されないようにするには、以下のコマンドを使用して負のコロケーション制約を追加します。

[root]# pcs constraint colocation add rh2_AAS_D02_group with rh2_PAS_D01_group score=-1000

制約セットを確認します。

[root]# pcs constraint colocation
Colocation Constraints:
rh2_AAS_D02_group with rh2_PAS_D01_group (score:-1000)

スコア -1000 は、使用可能なノードが 1 つだけの場合でも、AAS インスタンスが他のノードで実行し続けることを保証するためのものです。このような状況で、AAS インスタンスを停止したままにしたい場合は、この条件を強制する score=-INFINITY を使用できます。

4.8.6./usr/sap/sapservices ファイルを更新します。

両方のノードで、次の 2 行をコメントアウトして /usr/sap/sapservices ファイルを更新します。

...........
#LD_LIBRARY_PATH=/usr/sap/RH2/D01/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/RH2/D01/exe/sapstartsrv pf=/usr/sap/RH2/SYS/profile/RH2_D01_rh2pas -D -u rh2adm
#LD_LIBRARY_PATH=/usr/sap/RH2/D02/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/RH2/D02/exe/sapstartsrv pf=/usr/sap/RH2/SYS/profile/RH2_D02_rh2aas -D -u rh2adm

現在はクラスターがインスタンスを管理しているため、上記のエントリーは必要ありません。

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

5.1制約を確認してください

# pcs constraint
Location Constraints:
Resource: rh2_ascs20
Constraint: location-rh2_ascs20
Rule: score=2000
Expression: runs_ers_RH2 eq 1
Ordering Constraints:
start rh2_ASCS20_group then stop rh2_ERS29_group (kind:Optional) (non-symmetrical)
Colocation Constraints:
rh2_ERS29_group with rh2_ASCS20_group (score:-5000)
Ticket Constraints:

5.2.ノードクラッシュによるフェイルオーバー ASCS

クラッシュ前は、ASCS がノード 1 で実行され、ERS がノード 2 で実行されていました。

# pcs status
...
Resource Group: rh2_ASCS20_group
rh2_vip_ascs20 (ocf::heartbeat:IPaddr2): Started node1
rh2_fs_ascs20 (ocf::heartbeat:Filesystem): Started node1
rh2_ascs20 (ocf::heartbeat:SAPInstance): Started node1
Resource Group: rh2_ERS29_group
rh2_vip_ers29 (ocf::heartbeat:IPaddr2): Started node2
rh2_fs_ers29 (ocf::heartbeat:Filesystem): Started node2
rh2_ers29 (ocf::heartbeat:SAPInstance): Started node2
...

ノード 2 で次のコマンドを実行して、クラスター内のステータスの変化を監視します。

[root@node2 ~]# crm_mon -Arf

次のコマンドを実行して、node1 をクラッシュします。コマンドの後、node1 への接続が失われることに注意してください。

[root@node1 ~]# echo c > /proc/sysrq-trigger

ノード 2 で、フェイルオーバープロセスを監視します。フェイルオーバー後、クラスターはこのような状態になり、ASCS と ERS の両方がノード 2 に存在します。

[root@node2 ~]# pcs status
...
Resource Group: rh2_ASCS20_group
rh2_fs_ascs20 (ocf::heartbeat:Filesystem): Started node2
rh2_ascs20 (ocf::heartbeat:SAPInstance): Started node2
rh2_vip_ascs20 (ocf::heartbeat:IPaddr2): Started node2
Resource Group: rh2_ERS29_group
rh2_fs_ers29 (ocf::heartbeat:Filesystem): Started node2
rh2_vip_ers29 (ocf::heartbeat:IPaddr2): Started node2
rh2_ers29 (ocf::heartbeat:SAPInstance): Started node2
...

5.3.ERS は以前に障害が発生したノードに移動します

ノード 1 をオンラインに戻し、ノード 1 でクラスターを起動します。

[root@node1 ~]# pcs cluster start

ERS はノード 1 に移動し、ASCS はノード 2 に残る必要があります。ERS が移行を完了するまで待ちます。最後にはクラスターは次のような状態になります。

[root@node1 ~]# pcs status
...
Resource Group: rh2_ASCS20_group
rh2_fs_ascs20 (ocf::heartbeat:Filesystem): Started node2
rh2_ascs20 (ocf::heartbeat:SAPInstance): Started node2
rh2_vip_ascs20 (ocf::heartbeat:IPaddr2): Started node2
Resource Group: rh2_ERS29_group
rh2_fs_ers29 (ocf::heartbeat:Filesystem): Started node1
rh2_vip_ers29 (ocf::heartbeat:IPaddr2): Started node1
rh2_ers29 (ocf::heartbeat:SAPInstance): Started node1
...

6.再起動後にクラスターを自動起動できるようにする

クラスターは、再起動後に自動起動するようにまだ有効化されていません。システム管理者は、ノードをフェンスして再起動した後、クラスターを手動で起動する必要があります。

前のセクションをテストした後、すべてが正常に動作したら、再起動後のクラスターの自動起動を有効にします。

# pcs cluster enable --all

注: 状況によっては、ノードの再起動後にクラスターを自動起動しない方が有益な場合があります。たとえば、クラスターリソースに必要なファイルシステムに問題があり、再度使用する前にファイルシステムを修復する必要がある場合、クラスターは自動起動しますが、ファイルシステムが機能しないために失敗します。さらにトラブルを引き起こす可能性があります。

ここで、前のセクションのテストを再実行して、クラスターが引き続き正常に動作することを確認してください。セクション 5.3. では、ノードの再起動後にコマンド pcs cluster start を実行する必要がないことに注意してください。再起動後にクラスターが自動的に起動するはずです。

7.オプション - 外部ツールによる管理のために SAP HAlib を有効にする

システム管理者がペースメーカークラスター内で実行されている SAP インスタンスを手動で、または SAP 管理コンソール (MC/MMC) などのツールを使用して制御する場合、HA クラスターソフトウェアによって提供される HA インターフェイスを介して変更を行う必要があります。SAP Start Service sapstartsrv は SAP インスタンスを制御し、HA インターフェイスを介してペースメーカークラスターソフトウェアと通信するように設定する必要があります。

HAlib を設定するには、kbase の記事に従ってください: SAPInstance リソース用に SAP HAlib を設定するには?

8.マルチ SID のサポート

このドキュメントで説明するセットアップは、同じクラスター内の複数の SAP 環境 (マルチ SID) の (A)SCS/ERS インスタンスを管理するために使用することもできます。以下にいくつかの考慮事項を示します。

8.1.前提条件

8.1.1.一意の SID とインスタンス番号

競合を避けるために、(A)SCS/ERS インスタンスの各ペアは異なる SID を使用する必要があり、各インスタンスが異なる SID に属している場合でも、一意のインスタンス番号を使用する必要があります。

8.1.2.サイジング

各クラスターノードは、複数のインスタンスをサポートするためのサイジングに関する SAP 要件を満たしている必要があります。

8.1.3.Shared File Systems

共有ファイルシステムはクラスター内でもクラスター外でも管理できるため、クラスター管理を簡素化したい場合は、セクション 4.5.2 で説明されているように、クラスター外で管理される共有ファイルシステムを設定することを選択できます。

8.2.インストール

(A)SCS/ERS ペアごとに、上記のセクション 4.6、4.7 および 4.8 に記載されているすべての手順を繰り返してください。

各 (A)SCS/ERS ペアは、設定ルールに従って独立してフェイルオーバーします。

Comments