サイト内の現在位置を表示しています。

SAP NetWeaverのHAクラスターをAmazon Elastic File Systemを使用して構築してみました(Linux)

CLUSTERPRO オフィシャルブログ ~クラブロ~

はじめに

Amazon Elastic File System(以降、Amazon EFS)は、AWS クラウドサービス、および、オンプレミスリソースで利用可能なシンプルかつスケーラブルなファイルシステムです。
東京リージョンは2018年7月から利用可能になりました。
※ 大阪リージョンは2019年9月時点ではサービス未提供です。

今回はこのAmazon EFSサービスを使用して、SAP NetWeaver(以降、SAP NW)のHAクラスターの構築を試してみました。

この記事の内容

1. Amazon EFSを利用するメリット

SAP NWのHAクラスター化にあたり、共有データ類をサーバー間で共有するために共有ファイルシステムが必要となります。
しかしそのためにSAP NW用とは別にNFSサーバー用インスタンスを用意すると、インスタンス、ボリュームなどの管理コストが追加で発生します。
また、NFSサーバーが単一障害点となることを避けるためにはNFSサーバーもクラスター化することが望ましいですが、その分管理コストが増大します。

Amazon EFS はそれ自体が複数のアベイラビリティゾーンから利用可能かつ冗長性を持っており、インスタンスによるNFSサーバーを利用する場合と比較しても管理が容易です。
また、Amazon EFS作成時に容量を決める必要がなく、ファイルの追加や削除にあわせて容量の拡張や縮小が自動的に行われるため、途中で容量不足になる心配がありません。

2. SAP NW HAクラスターの構成

構築するSAP NW HAクラスターの構成を次の図に示します。

SAP NW HAクラスター構成図

この構成では次の3つの共有ファイルシステムを使用します。

  • /sapmnt (SAP Mount ディレクトリ)
  • /usr/sap/trans (transディレクトリ)
  • /usr/sap/<SAP SID>/ASCS10 (ASCS インスタンス用)

また、HAクラスター環境のOSは Red Hat Enterprise Linux 7.6を使用します。

3. SAP NW HAクラスターの構築

3.1 共有ファイルシステムの作成

Amazonマネジメントコンソールを使用して、各共有データ(/sapmnt、/usr/sap/trans、/usr/sap/<SAP SID>/ASCS10)用のAmazon EFSファイルシステムを作成します。
また、Amazon EFSを利用するEC2インスタンスが、Amazonが提供するDNSサーバーを使用するように、EC2インスタンスが所属するVPCのDNS解決を有効します。

Amazon EFSの作成および、VPCの設定詳細は、popup以前のブログの「3.1 HAクラスター構築の事前準備」も参照してください(なお、このブログ記事作成時点では後述のAmazon EFSマウントヘルパーが未公開であったため、マウント方法がマウントヘルパーを使用しない古い方法になっていることにご注意ください)。

3.2 共有ファイルシステムのマウント

Amazon EFSをLinuxインスタンスにマウントして使用するときは、Amazon EFSマウントヘルパーの使用が推奨されています。
Amazon EFSマウントヘルパーを使用することで、Amazon EFS 推奨のマウントオプションが使用され、また、マウントが簡素化されます。
Amazon EFSマウントヘルパーの利用にあたってのサポートOSや使用方法などの詳細は、以下をご参照ください。

Amazon EFSマウントヘルパーを使用しない場合は、以下をご参照ください。

AWSマネジメントコンソールのAmazon EFSファイルシステム一覧からも「Amazon EC2のマウント手順」を確認できますので、自分の環境にあったマウント手順を確認しておきます。

作成した共有ファイルシステムのそれぞれについて、マウント設定を行います。マウント方法は「fstab」と「NASリソース」の二通りあります。

マウントポイント ファイルシステムIDの例 マウント方法 説明
/sapmnt fs-xxxxxxxx fstab 全てのHAクラスター用インスタンスのシステム起動時にマウントしておき、常時アクセス可能にします。
/usr/sap/trans fs-yyyyyyyy fstab 全てのHAクラスター用インスタンスのシステム起動時にマウントしておき、常時アクセス可能にします。
/usr/sap/<SAP SID>/ASCS10 fs-zzzzzzzz NASリソース ASCS用グループが活性化したインスタンスでのみマウントし、アクセス可能にします。

SAP NWのHAクラスター構築の具体的な手順は、SAP NetWeaverの構築ガイド、設定例をご参照ください。

【参考】
  • ERP > SAP NetWeaver システム構築ガイド
  • ERP > SAP NetWeaver 設定例

構築ガイド中の「NFS共有ファイルシステム」の部分を「Amazon EFSの共有ファイルシステム」に読み替えてください。

fstabに記述してマウントする場合

/etc/fstabに、マウントする共有ファイルシステムのエントリを追加します。

<EFS(fs-xxxxxxxx)を/sapmntに、EFS(fs-yyyyyyyy)を/usr/sap/transにそれぞれマウントする設定例>

fs-xxxxxxxx:/ /sapmnt efs _netdev,tls 0 0
fs-yyyyyyyy:/ /usr/sap/trans efs _netdev,tls 0 0

_netdev はシステム起動時にネットワークが有効化された後にマウントするためのオプションです。
tls はNFSの通信を暗号化するためのオプションです。

NASリソースでマウントする場合

Cluster WebUIでNASリソースを追加し、次の画面を参考に設定を行います。

<EFS(fs-zzzzzzzz)を/usr/sap/NEC/ASCS10にマウントする設定例>

NASリソースの詳細設定画面

  • 「サーバ名」に "fs-zzzzzzzz" を入力します。
  • 「共有名」に "/" を入力します。
  • 「マウントポイント」に "/usr/sap/NEC/ASCS10" を入力します。
  • 「ファイルシステム」に "efs" を入力します。(手入力します)

「調整」ボタンをクリックすると、「調整プロパティ」が表示されます。

NASリソースの調整プロパティ(マウント)画面

  • 「マウントオプション」に "rw,tls" を入力します。
  • 「タイムアウト」、「リトライ回数」は任意の値を指定します。

NASリソースの調整プロパティ(NAS)画面

  • 「Pingタイムアウト」は必ず 0 を指定します。Amazon EFSはPingに応答しないため、0 以外の値を指定すると NAS リソースはPingによるチェックに失敗し、正常に起動しません。

4. 動作確認

SAP NWのHAクラスターが正常に動作することを確認します。
今回の動作確認では、共有ファイルシステムをNASリソースでマウントした場合のHAクラスター構成を使用します。

  • 1.Cluster WebUIよりSAP NW のHAクラスターを起動します。SAPの各インスタンスが正常に起動することを確認します。

動作確認-1

  • 2.ASCS用グループがアクティブなインスタンスに、NASリソースによってEFSファイルシステム(fs-zzzzzzzz)が正常にマウントされていることを確認します。(実際の出力は環境、マウントオプションによって異なります)

アクティブなインスタンス(server1)でマウントされていることの確認

[root@server1 ~]# mount -l | fgrep ASCS10
127.0.0.1:/ on /usr/sap/NEC/ASCS10 type nfs4 (rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,noresvport,proto=tcp,port=20160,timeo=600,retrans=2,sec=sys,clientaddr=127.0.0.1,local_lock=none,addr=127.0.0.1)

ASCSインスタンスのプロセスが正常に動作していることの確認

[root@server1 ~]# /usr/sap/hostctrl/exe/sapcontrol -host ascssv -nr 10 -function GetProcessList
 
25.06.2019 02:51:38
GetProcessList
OK
name, description, dispstatus, textstatus, starttime, elapsedtime, pid
msg_server, MessageServer, GREEN, Running, 2019 06 25 02:20:15, 0:31:23, 4505
enq_server, Enqueue Server 2, GREEN, Running, 2019 06 25 02:20:15, 0:31:23, 4506

非アクティブなインスタンス(server2)でマウントされていないことの確認

[root@server2 ~]# mount -l | fgrep ASCS10
(結果出力なし)

  • 3.Cluster WebUIからインスタンスServer1のASCS用フェールオーバーグループをインスタンスServer2に移動します。

動作確認-2

  • 4.ASCSグループがインスタンスServer1で停止し、インスタンスServer2で起動することを確認します。

動作確認-3

  • 5.EFSファイルシステム(fs-zzzzzzzz)が、ASCS用グループの移動元インスタンスでアンマウントされ、移動先インスタンスで正常にマウントされていることを確認します(実際の出力は環境、マウントオプションによって異なります)。

移動元インスタンス(server1)でマウントされていないことの確認

[root@server1 ~]# mount -l | fgrep ASCS10
(結果出力なし)

移動先インスタンス(server2)でマウントされていることの確認

[root@server2 ~]# mount -l | fgrep ASCS10
127.0.0.1:/ on /usr/sap/NEC/ASCS10 type nfs4 (rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,noresvport,proto=tcp,port=20323,timeo=600,retrans=2,sec=sys,clientaddr=127.0.0.1,local_lock=none,addr=127.0.0.1)

ASCSインスタンスのプロセスが正常に動作していることの確認

[root@server2 ~]# /usr/sap/hostctrl/exe/sapcontrol -host ascssv -nr 10 -function GetProcessList
 
25.06.2019 03:09:16
GetProcessList
OK
name, description, dispstatus, textstatus, starttime, elapsedtime, pid
msg_server, MessageServer, GREEN, Running, 2019 06 25 03:07:43, 0:01:33, 10395
enq_server, Enqueue Server 2, GREEN, Running, 2019 06 25 03:07:43, 0:01:33, 10396

さいごに

今回はNFSサーバーの代替として、Amazon EFSを利用した共有ファイルシステムでSAP NWのHAクラスターを構築できることを確認しました。
SAP NW HAクラスターは複数の共有ファイルシステムを必要としますが、単一障害点になりにくく、簡単に共有ファイルシステムを用意できるという点で、Amazon EFSは非常に便利だと思います。

本記事の構成をご検討の際は、CLUSTERPROのpopup試用版を用いて検証した後、ご提案・構築ください。

お問い合わせ

本記事に関するお問い合わせは、popupお問い合わせ窓口までお問い合わせください。