

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# SAP ペースメーカークラスターを ENSA1 から ENSA2 にアップグレード
<a name="upgrade-sap-pacemaker-clusters-from-ensa1-to-ensa2"></a>

*Amazon Web Services、Gergely Cserdi と Balazs Sandor Skublics*

## 概要
<a name="upgrade-sap-pacemaker-clusters-from-ensa1-to-ensa2-summary"></a>

このパターンでは、スタンドアロンエンキューサーバー (ENSA1) に基づく SAP Pacemaker クラスターを ENSA2 にアップグレードする場合の手順と考慮事項を説明します。このパターンの情報は、SLES (SLES)Linux Enterprise Server (SLES) と Red Hat Enterprise Linux (RHEL) オペレーティングシステムの両方に適用されます。

SAP NetWeaver 7.52 または S/4HANA 1709 およびそれ以前のバージョンの Pacemaker クラスターは、ENSA1 アーキテクチャで動作し ENSA1 専用に設定されています。Amazon Web Services (AWS) で SAP ワークロードを実行して、ENSA2 への移行を検討している場合、SAP、SUSE、RHEL のドキュメントには包括的な情報が記載されていないことに気付くかもしれません。このパターンは、ENSA1 から ENSA2 にアップグレードするために SAP パラメータと Pacemaker クラスターを再設定するために必要な技術的ステップを説明します。SUSE システムの例を示していますが、RHEL クラスターでも概念は同じです。

**注記**  
ENSA1 と ENSA2 は SAP アプリケーションのみに関係する概念であるため、このパターンの情報は SAP HANA や他のタイプのクラスターには当てはまりません。

**注記**  
技術的には、ENSA2 はエンキューレプリケーター 2 の有無にかかわらず使用できます。ただし、高可用性 (HA) と (クラスターソリューションによる) フェイルオーバー自動化には エンキューレプリケーター 2 が必要です。このパターンでは、*ENSA2 クラスター*という用語は、スタンドアロンエンキューサーバー 2 とエンキューレプリケーター 2 を備えたクラスターを指します。

## 前提条件と制限事項
<a name="upgrade-sap-pacemaker-clusters-from-ensa1-to-ensa2-prereqs"></a>

**前提条件**
+ SLES または RHEL の Pacemaker と Corosync を使用する、動作中の ENSA1 ベースのクラスターです。
+ 少なくとも 2 つの Amazon Elastic Compute Cloud (Amazon EC2) インスタンスです。そこでは、(ABAP) SAP セントラルサービス (ASCS/SCS) インスタンスとエンキューレプリケーションサーバー (ERS) インスタンスが実行されています。
+ SAP アプリケーションとクラスターの管理に関する知識です。
+ ルートユーザーとして Linux 環境にアクセスします。

**機能制限**
+ ENSA1 ベースのクラスターに、2つのノードのアーキテクチャのみが適用されます。
+ ENSA2 ベースのクラスターが、7.52 以前のバージョンの SAP NetWeaver にはデプロイされません。
+ クラスターの EC2 インスタンスは、異なる AWS アベイラビリティーゾーンにある必要があります。

**製品バージョン**
+ SAP NetWeaver バージョン 7.52 以降
+ S/4HANA 2020 以降では、ENSA2 クラスターのみが適用
+ カーネル 7.53 以降では、ENSA2 とエンキューレプリケーター 2 に適用
+ SAP アプリケーションバージョン 12 以降のSLES
+ ハイアベイラビリティ (HA) バージョン 7.9 以降の SAP 用 RHEL

## アーキテクチャ
<a name="upgrade-sap-pacemaker-clusters-from-ensa1-to-ensa2-architecture"></a>

**ソーステクノロジースタック**
+ SAP カーネル 7.53 以降を搭載した SAP NetWeaver 7.52
+ SLES または RHEL オペレーティングシステム

**ターゲットテクノロジースタック**
+ SAP カーネル 7.53 以降を搭載した SAP NetWeaver 7.52 (ABAP プラットフォーム搭載の S/4HANA 2020 を含む)
+ SLES または RHEL オペレーティングシステム

**ターゲットアーキテクチャ**

次の図表は、ENSA2 クラスターに基づく ASCS/SCS インスタンスと ERS インスタンスの HA 構成を示しています。

![ENSA2 クラスターの ASCS/SCS インスタンスと ERS インスタンスの HA アーキテクチャー](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/images/pattern-img/c32560de-901f-4796-a6b3-c08c109b22c8/images/19501713-0ddf-4242-9ea3-90478200a19e.png)


**ENSA1 クラスターと ENSA2 クラスターの比較**

SAP は ENSA1 の後継として ENSA2 を導入しました。ENSA1 ベースのクラスターには、エラーが発生する場合、 ASCS/SCS インスタンスが ERS にフェイルオーバーする 2 ノードアーキテクチャが適用されます。この制限は、フェイルオーバー後に ASCS/SCS インスタンスが ERS ノードの共有メモリからロックテーブル情報を取り戻す方法によるものです。エンキューレプリケーター 2 を搭載した ENSA2 ベースのクラスターでは、ASCS/SCS インスタンスがネットワーク経由で ERS インスタンスからロック情報を収集できるため、この制限がなくなります。ASCS/SCS インスタンスは ERS ノードにフェイルオーバーする必要がなくなるため、ENSA2 ベースのクラスターは 3つ以上のノードを持つことができます。(ただし、2 ノードの ENSA2 クラスター環境では、ASCS/SCS インスタンスは ERS ノードにフェイルオーバーされます。クラスターに他にフェイルオーバーするノードがないためです。ENSA2 は SAP カーネル 7.50 以降に適用されますが、いくつかの制限があります。エンキューレプリケーター 2 が適用される HA セットアップの場合、最小要件は NetWeaver 7.52 です (「[SAP OSS ノート 2630416](https://launchpad.support.sap.com/#/notes/2630416)」 を参照)。S/4HANA 1809 にはデフォルトで推奨されている ENSA2 アーキテクチャが付属していますが、S/4HANA はバージョン 2020 以降には ENSA2 のみ適用されます。

**自動化とスケール**

ターゲットアーキテクチャの HA クラスタにより、ASCS は他のノードに自動的にフェイルオーバーされます。

**ENSA2 ベースのクラスターに移動するシナリオ**

ENSA2 ベースのクラスターへのアップグレードには、主に2つのシナリオがあります: 
+ シナリオ 1: SAP リリースとカーネルバージョンに ENSA2が適用されることを仮定して、SAP のアップグレードや S/4HANA の変換を伴わずに ENSA2 にアップグレードすることを選択します。
+ シナリオ 2: SUM を使用して ENSA2 へのアップグレードまたは変換 (例えば、S/4HANA 1809 以降へ) の一環として移動します。

「[エピック](#upgrade-sap-pacemaker-clusters-from-ensa1-to-ensa2-epics)」 セクションでは、2つのシナリオのステップについて説明します。最初のシナリオでは、ENSA2 のクラスター構成を変更する前に SAP 関連のパラメータを手動で設定する必要があります。二つ目のシナリオでは、バイナリと SAP 関連のパラメータは SUM によってデプロイされます。残る作業は HA のクラスター構成を更新することだけです。SUM を使用した後にも SAP パラメータを検証することを推奨します。ほとんどの場合、S/4HANA 変換がクラスタアップグレードの主な理由です。

## ツール
<a name="upgrade-sap-pacemaker-clusters-from-ensa1-to-ensa2-tools"></a>
+ OS パッケージマネージャーには、Zypper (SLES の場合) または YUM (RHEL の場合) ツールを推奨します。
+ クラスター管理には、**crm**(SLES の場合) または **pcs** (RHEL の場合) シェルを推奨します。
+ SAPControl などの SAP インスタンス管理ツール。
+ (オプション) S/4HANA 変換アップグレードの SUM ツール。

## ベストプラクティス
<a name="upgrade-sap-pacemaker-clusters-from-ensa1-to-ensa2-best-practices"></a>
+ AWS で SAP ワークロードを使用する際のベストプラクティスについては、AWS Well-Architected フレームワークの「[SAP Lens](https://docs.aws.amazon.com/wellarchitected/latest/sap-lens/sap-lens.html)」を参照してください。
+ ENSA2 マルチノードアーキテクチャのクラスターノードの数 (奇数または偶数)を考慮します。
+ SAP S/4-HA-CLU 1.0 認定基準に沿って、SLES 15 用の ENSA2 クラスターをセットアップします。
+ ENSA2 にアップグレードする前に、必ず既存のクラスターとアプリケーションの状態を保存またはバックアップするようにします。

## エピック
<a name="upgrade-sap-pacemaker-clusters-from-ensa1-to-ensa2-epics"></a>

### ENSA2 の SAP パラメータを手動で設定する (シナリオ 1 のみ)
<a name="configure-sap-parameters-manually-for-ensa2-scenario-1-only"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| デフォルトのプロファイルにパラメータを設定します。 | 同じ SAP リリースを保持しながら ENSA2 にアップグレードする場合や、ターゲットリリースのデフォルトが ENSA1 である場合、デフォルトプロファイル (DEFAULT.PFL ファイル) のパラメータを次の値に設定します。<pre>enq/enable=TRUE<br />enq/serverhost=sapascsvirt<br />enq/serverinst=10        (instance number of ASCS/SCS instance)<br />enque/process_location=REMOTESA<br />enq/replicatorhost=sapersvirt<br />enq/replicatorinst=11    (instance number of ERS instance)<br />  </pre><br />ここで、`sapascsvirt` が ASCS インスタンスの仮想ホスト名で、`sapersvirt` は ERS インスタンスの仮想ホスト名です。これらはターゲット環境に合わせて変更できます。このアップグレードオプションを使用するには、SAP リリースとカーネルバージョンが ENSA2 とエンキューレプリケーター 2 をサポートしている必要があります。 | SAP | 
| ASCS/SCS インスタンスプロファイルを設定します。 | 同じ SAP リリースを保持しながら ENSA2 にアップグレードする場合や、ターゲットリリースのデフォルトが ENSA1 である場合、ASCS/SCS インスタンスプロファイルに次のパラメータを設定します。 <br />ENSA1 が定義されているプロファイルのセクションは以下のように表示されます。<pre>#--------------------------------------------------------------<br />Start SAP enqueue server<br />#-------------------------------------------------------------- <br />_EN = en.sap$(SAPSYSTEMNAME)$(INSTANCE_NAME) <br />Execute_04 = local rm -f $(_EN) <br />Execute_05 = local ln -s -f $(DIR_EXECUTABLE)/enserver$(FT_EXE) $(_EN) <br />Start_Program_01 = local $(_EN) pf=$(_PF)<br />  </pre><br />このセクションを ENSA2 用に再設定するには:[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/upgrade-sap-pacemaker-clusters-from-ensa1-to-ensa2.html)<br />変更後、このプロファイルセクションは以下のように見えるでしょう。<pre>#--------------------------------------------------------------<br />Start SAP enqueue server<br />#-------------------------------------------------------------- <br />_ENQ = enq.sap$(SAPSYSTEMNAME)$(INSTANCE_NAME) <br />Execute_04 = local rm -f $(_ENQ) <br />Execute_05 = local ln -s -f $(DIR_EXECUTABLE)/enq_server$(FT_EXE) $(_ENQ) <br />Start_Program_01 = local $(_ENQ) pf=$(_PF) <br />... <br />enq/server/replication/enable = TRUE <br />Autostart = 0</pre>`_ENQ` は、再起動オプションを有効にしてはなりません。`RestartProgram_01` が `_ENQ` に設定されている場合、`StartProgram_01` に変更し これにより、SAP がサービスを再起動したり、クラスターが管理するリソースに干渉したりするのを防止します。 | SAP | 
| ERS プロファイルを設定します。 | 同じ SAP リリースを保持しながら ENSA2 にアップグレードする場合、またはターゲットリリースのデフォルトが ENSA1 である場合、次のパラメータを ERS インスタンスプロファイルに設定します。<br />エンキューレプリケーターが定義されているセクションを見つけます。以下に似ているものになります。<pre>#------------------------------------------------------<br />Start enqueue replication server<br />#------------------------------------------------------ <br />_ER = er.sap$(SAPSYSTEMNAME)$(INSTANCE_NAME) <br />Execute_03 = local rm -f $(_ER) <br />Execute_04 = local ln -s -f $(DIR_EXECUTABLE)/enrepserver$(FT_EXE) $(_ER) <br />Start_Program_00 = local $(_ER) pf=$(_PF) NR=$(SCSID)<br />  </pre><br />このセクションをエンキューレプリケーター 2 に再設定する場合：[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/upgrade-sap-pacemaker-clusters-from-ensa1-to-ensa2.html)<br />変更後、このプロファイルセクションは以下のように表示されます。<pre>#------------------------------------------------------<br />Start enqueue replication server<br />#------------------------------------------------------ <br />_ENQR = enqr.sap$(SAPSYSTEMNAME)$(INSTANCE_NAME) <br />Execute_01 = local rm -f $(_ENQR) <br />Execute_02 = local ln -s -f $(DIR_EXECUTABLE)/enq_replicator$(FT_EXE) $(_ENQR) <br />Start_Program_00 = local $(_ENQR) pf=$(_PF) NR=$(SCSID) <br />… <br />Autostart = 0</pre>`_ENQR` は、再起動オプションを有効にしてはなりません。`RestartProgram_01` が `_ENQR` に設定されている場合、`StartProgram_01`に変更します。これにより、SAP がサービスを再起動したり、クラスターが管理するサービスに干渉したりすることを防止します。 | SAP | 
| SAP スタートサービスを再起動します。 | このエピックで前述したプロファイルを変更した後に、ASCS/SCS と ERS の両方の SAP スタートサービスを再起動します。<br />`sapcontrol -nr 10 -function RestartService SCT`<br />`sapcontrol -nr 11 -function RestartService SCT`<br />ここで `SCT` は SAP システム ID を指し、ASCS/SCS インスタンスと ERS インスタンスのインスタンス番号がそれぞれ 10 と 11 であると仮定します。 | SAP | 

### ENSA2 用にクラスターを再構成します (両方のシナリオも必要)。
<a name="reconfigure-the-cluster-for-ensa2-required-for-both-scenarios"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| SAP リソースエージェントのバージョン番号を検証します。 | SUM を使用して SAP を S/4HANA 1809 以降にアップグレードして、SUM は SAP プロファイルのパラメータ変更を処理します。クラスターのみが手動調整が必要です。ただし、クラスターを変更する前に、パラメータ設定を確認することを推奨します。このエピックの例は、SUSE オペレーティングシステムを使用していることが前提です。RHEL を使用する場合、Zypper や **crm** の代わりに YUM や **pcs** シェルなどのツールを使用する必要があります。<br />アーキテクチャ内の両方のノードをチェックして、 `resource-agents` パッケージが SAP が推奨する最小バージョンと一致していることを確認します。SLES については、SAP OSS ノート 2641019 を確認します。RHEL については、SAP OSS ノート 2641322 を確認します。(SAP Notes では 「[SAP ONE サポートラウンチパッドのユーザーアカウント](https://support.sap.com/en/my-support/knowledge-base.html)」 が必要です。)<pre>sapers:sctadm 23> zypper search -s -i resource-agents<br />Loading repository data...<br />Reading installed packages...<br />S | Name | Type | Version | Arch | Repository<br />--+-----------------+---------+------------------------------------+--------+-----------------------------<br />i | resource-agents | package | 4.8.0+git30.d0077df0-150300.8.28.1 | x86_64 | SLE-Product-HA15-SP3-Updates</pre><br />必要に応じて、`resource-agents` バージョンを更新します。 | AWS システム管理者 | 
| クラスター設定をバックアップします。 | CRM クラスター構成を次のようにバックアップします。<br />`crm configure show > /tmp/cluster_config_backup.txt` | AWS システム管理者 | 
| メンテナンスモードを設します。。 | クラスターをメンテナンスモードに設定します。<br />`crm configure property maintenance-mode="true"` | AWS システム管理者 | 
| クラスター設定を確認します | 現在のクラスター設定をチェックします。<br />`crm configure show`<br />以下は、完全な出力からの抜粋です：<pre>node 1: sapascs<br />node 2: sapers<br />...<br />primitive rsc_sap_SCT_ASCS10 SAPInstance \<br />operations $id=rsc_sap_SCT_ASCS10-operations \<br />op monitor interval=120 timeout=60 on-fail=restart \<br />params InstanceName=SCT_ASCS10_sapascsvirt START_PROFILE="/sapmnt/SCT/profile/SCT_ASCS10_sapascsvirt" \ <br />   AUTOMATIC_RECOVER=false \<br />meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10<br />primitive rsc_sap_SCT_ERS11 SAPInstance \<br />operations $id=rsc_sap_SCT_ERS11-operations \<br />op monitor interval=120 timeout=60 on-fail=restart \<br />params InstanceName=SCT_ERS11_sapersvirt START_PROFILE="/sapmnt/SCT/profile/SCT_ERS11_sapersvirt" \<br />   AUTOMATIC_RECOVER=false IS_ERS=true \<br />meta priority=1000<br />...<br />colocation col_sap_SCT_no_both -5000: grp_SCT_ERS11 grp_SCT_ASCS10<br />location loc_sap_SCT_failover_to_ers rsc_sap_SCT_ASCS10 \<br />rule 2000: runs_ers_SCT eq 1<br />order ord_sap_SCT_first_start_ascs Optional: rsc_sap_SCT_ASCS10:start rsc_sap_SCT_ERS11:stop symmetrical=false<br />...</pre><br />ここで `sapascsvirt` は ASCS インスタンスの仮想ホスト名、`sapersvirt` はERS インスタンスの仮想ホスト名、`SCT` はSAP システム ID を指します。 | AWS システム管理者 | 
| フェイルオーバーコロケーションの制約を削除します。 | 前の例では、ロケーション制約 `loc_sap_SCT_failover_to_ers` は、フェイルオーバー時に ASCS の ENSA1 特徴量が常に ERS インスタンスに従うように指定されています。ENSA2 では、ASCS は参加しているすべてのノードに自由にフェイルオーバーできるはずなので、この制約を取り除くことができます。<br />`crm configure delete loc_sap_SCT_failover_to_ers` | AWS システム管理者 | 
| プリミティブを調整します。 | ASCS と ERS の SAPInstance プリミティブにも若干の変更を加える必要があります。<br />ENSA1 用に設定された ASCS SAP インスタンスプリミティブの例を次に示します。<pre>primitive rsc_sap_SCT_ASCS10 SAPInstance \<br />operations $id=rsc_sap_SCT_ASCS10-operations \<br />op monitor interval=120 timeout=60 on-fail=restart \<br />params InstanceName=SCT_ASCS10_sapascsvirt START_PROFILE="/sapmnt/SCT/profile/SCT_ASCS10_sapascsvirt" \<br />   AUTOMATIC_RECOVER=false \<br />meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10</pre><br />ENSA2 にアップグレードするには、この設定を次のように変更します。<pre>primitive rsc_sap_SCT_ASCS10 SAPInstance \<br />operations $id=rsc_sap_SCT_ASCS10-operations \<br />op monitor interval=120 timeout=60 on-fail=restart \<br />params InstanceName=SCT_ASCS10_sapascsvirt START_PROFILE="/sapmnt/SCT/profile/SCT_ASCS10_sapascsvirt" \<br />   AUTOMATIC_RECOVER=false \<br />meta resource-stickiness=3000 </pre><br />これは ENSA1 に設定された ERS SAPInstance プリミティブの例です。<pre>primitive rsc_sap_SCT_ERS11 SAPInstance \<br />operations $id=rsc_sap_SCT_ERS11-operations \<br />op monitor interval=120 timeout=60 on-fail=restart \<br />params InstanceName=SCT_ERS11_sapersvirt START_PROFILE="/sapmnt/SCT/profile/SCT_ERS11_sapersvirt" \<br />   AUTOMATIC_RECOVER=false IS_ERS=true \<br />meta priority=1000</pre><br />ENSA2 にアップグレードするには、この設定を次のように変更します。<pre>primitive rsc_sap_SCT_ERS11 SAPInstance \<br />operations $id=rsc_sap_SCT_ERS11-operations \<br />op monitor interval=120 timeout=60 on-fail=restart \<br />params InstanceName=SCT_ERS11_sapersvirt START_PROFILE="/sapmnt/SCT/profile/SCT_ERS11_sapersvirt" \<br />   AUTOMATIC_RECOVER=false IS_ERS=true</pre><br />プリミティブは、さまざまな方法で変更できます。例えば、次の例のように、vi などのエディタで修正できます。<br />`crm configure edit rsc_sap_SCT_ERS11` | AWS システム管理者 | 
| メンテナンスモードを無効にします。 | クラスターのメンテナンスモードを無効にします。<br />`crm configure property maintenance-mode="false"`<br />クラスターがメンテナンスモードを終了すると、新しい ENSA2 設定で ASCS インスタンスと ERS インスタンスをオンラインにしようとします。 | AWS システム管理者 | 

### (オプション) クラスターノードを追加
<a name="optional-add-cluster-nodes"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| ベストプラクティスをレビューします。 | より多くのノードを追加する前に、使うノードの数が奇数か、偶数かなどのベストプラクティスを必ず理解するようにしてください。 | AWS システム管理者 | 
| ノードを追加します。 | もっと多くのノードを追加するには、オペレーティングシステムの更新、既存のノードと一致するソフトウェアパッケージのインストール、マウントを使用可能にするなど、一連のタスクが必要です。SAP ソフトウェアプロビジョニングマネージャー (SWPM) の**追加ホストの準備**オプションを使用して、ホストの SAP 特定のベースラインを作成できます。詳細について、次のセクションの SAP ガイドをご覧ください。 | AWS システム管理者 | 

## 関連リソース
<a name="upgrade-sap-pacemaker-clusters-from-ensa1-to-ensa2-resources"></a>

**SAP と SUSE のリファレンス**

SAP ノートにアクセスするには、 SAP ONE サポートラウンチパッドのユーザーアカウントが必要です。詳細については、「[SAP サポートウェブサイト](https://support.sap.com/en/my-support/knowledge-base.html)」 を参照してください。
+ 「[SAP ノート 2501860 ‒ ABAP 7.52 の SAP NetWeaver アプリケーションサーバーのドキュメント](https://launchpad.support.sap.com/#/notes/2501860)」 
+ 「[SAP NOTE 2641019 ‒ SUSE HA 環境のENSA2 のインストールと ENSA1 から ENSA2 にアップデート](https://launchpad.support.sap.com/#/notes/2641019)」 
+ 「[SAP ノート 2641322 ‒ SAP の Red Hat HA ソリューションを使用する場合の ENSA2 のインストールと ENSA1 から ENSA2 にアップデート](https://launchpad.support.sap.com/#/notes/2641322)」 
+ 「[SAP ノート 2711036 ‒ HA 環境のスタンドアロンエンキューサーバー 2 の使用](https://launchpad.support.sap.com/#/notes/2711036)」
+ 「[スタンドアロンエンキューサーバー2 ](https://help.sap.com/docs/ABAP_PLATFORM/cff8531bc1d9416d91bb6781e628d4e0/902412f09e134f5bb875adb6db585c92.html)」 (SAP ドキュメント)
+ 「[SAP S/4 HANA ‒ エンキューレプリケーション 2 ハイアベイラビリティクラスタ-のセットアップガイド](https://documentation.suse.com/sbp/all/html/SAP_S4HA10_SetupGuide-SLE12/index.html)」 (SUSE ドキュメント)

**AWS リファレンス**
+ 「[SAP HANA on AWS: SLES と RHEL のハイアベイラビリティ設定ガイド](https://docs.aws.amazon.com/sap/latest/sap-hana/sap-hana-on-aws-ha-configuration.html)」 
+ 「[SAP Lens - AWS Well-Architected フレームワーク](https://docs.aws.amazon.com/wellarchitected/latest/sap-lens/sap-lens.html)」 