SIOS 製品をインストールする前に、両方のクラスターノードに NFS サーバーをインストールしておく必要があります。
お使いの SAP 設計での SAP 要件に基づいて NFS エクスポートを作成します。以下は参考例であり、お使いの SAP 環境を表すものではありません。
LifeKeeper は inode を使用して NFS 共有情報を管理します。したがって、すべての NFS 共有には固有の inode が必要です。すべてのファイルシステムの root ディレクトリは同じ inode を持つので、LifeKeeper で保護するためには、NFS 共有は root から少なくとも 1 つ下のディレクトリレベルでなければなりません。
たとえば、上記の情報を参照すると、 /usr/sap/trans ディレクトリが SAP サーバー上で NFS 共有である場合、共有ストレージデバイス上に /trans ディレクトリが作成され、共有ストレージデバイスを /usr/sap としてマウントすることが求められます。 しかし、 /usr/sap 配下にあるすべてのファイルをこの配列で必要な共有ストレージに置くことは必ずしも望ましいとは限りません。
この問題を回避するには、NFS 共有のディレクトリを含むすべての共有ファイルシステムをマウントするための /exports ディレクトリツリーを作成するか、SAP ディレクトリと /exports ディレクトリの間にソフトリンクを作成することを推奨します。または、NFS 共有ディレクトリをローカルで NFS マウントすることを推奨します。( 注記: ここで /exports と記載しているディレクトリの名前は、ユーザーの設定よって異なる場合があります。ただし、わかりやすくするために、本書では全体を通じてこのディレクトリを /exports と記載します。)
たとえば、SAP プライマリサーバーでのこの例のディレクトリとリンク/マウントは、次のようになります。
/trans | created on share file system and shared through NFS |
/exports/usr/sap | mounted to / (on shared file system) |
/user/sap/trans | soft linked to /exports/usr/sap/trans |
<sapmnt>/<SAPSID> 共有のディレクトリとリンクは次のようになります。
/<SAPSID> | created on shared file systems and shared through NFS |
/exports/sapmnt | mounted to / (on shared file system) |
<sapmnt>/<SAPSID> | NFS mounted to <virtual SAP server>:/exports/sapmnt/<SAPSID> |
ローカル NFS マウント
LifeKeeper 環境における SAP の推奨ディレクトリ構造では、1 つ以上の SAP システムディレクトリに対してローカルにマウントされた NFS 共有が必要です。
ローカルにマウントされた NFS 共有のいずれかの NFS エクスポートポイントが使用できなくなった場合、エクスポートポイントが再び利用可能になるのを待っている間にシステムがハングすることがあり、システムの再起動を含め、多くのシステム操作が正しく機能しなくなります。SAP クラスター用の NFS サーバーは LifeKeeper で保護されている必要があり、ローカルマウントポイントが存在する間は手動でサービスを停止しないでください。
<INST>ディレクトリの場所
/usr/sap/<SAPSID> パスは NFS 共有ではないため、ファイルシステムのルートディレクトリにマウントできます。/usr/sap/<SAPSID> パスには、SYS サブディレクトリと、サーバー上で実行できる各 SAP インスタンスの <INST> サブディレクトリが含まれています。構成によっては <INST> ディレクトリは 1 つしかないので、共有ファイルシステムの /usr/sap/<SAPSID> の下に置いても問題ありません。
ただし他の構成では、バックアップサーバーにローカル AS インスタンスが含まれている可能性があります。このローカル AS インスタンスの <INST> ディレクトリは常時利用できるわけではなく、共有ファイルシステム上に置くべきではありません。この問題を解決するには、ある構成については、ローカルサーバーに配置する必要のある AS の
/usr/sap/<SAPSID>、/usr/sap/<SAPSID>/SYS および /usr/sap/<SAPSID>/<AS-INST> の代わりに、PAS、ASCS または SCS の /usr/sap/<SAPSID>/<INST>、/usr/sap/<SAPSID>/<ASCS-INST> または /usr/sap/<SAPSID>/<SCS-INST> ディレクトリを共有ファイルシステムにマウントすることを推奨します。
たとえば、次のディレクトリとマウントポイントを ABAP + Java 構成用に作成する必要があります。
usr/sap/<SAPSID>/DVEBMS<No. > | mounted to / (Replicated non-NFS file system ) |
usr/sap/<SAPSID>/SCS<No. > | mounted to / (Replicated non-NFS file system ) |
usr/sap/<SAPSID>/ERS<No. > (for SCS instance) |
should be locally mounted on all cluster nodes or mounted from a NAS share (should not be mounted on shared storage) |
usr/sap/<SAPSID> /ASCS<Instance No. > | mounted to / (Replicated from non-NFS file system) |
usr/sap/<SAPSID>/ERS<No. > (for ASCS instance) |
should be locally mounted on all cluster nodes or mounted from a NAS share (should not be mounted on shared storage) |
usr/sap/<SAPSID>AS<Instance No. > | created for AS backup server |
NFS のマウントとファイルシステムの移動
メイン SAP ファイルシステムのマウントポイントが作成されたら、必要に応じてマウントします。この時点で、これらの手順に進む前にすべての SAP サービスを停止します。
mount /dev/sap/sapmnt /exports/sapmnt
mount /dev/sap/saptrans /exports/saptrans
データの NFS への移動
- /etc/exports を編集し、SAP のメインディレクトリのマウントポイントを挿入します。
/exports/sapmnt * (rw,sync,no_root_squash)
/exports/saptrans * (rw,sync,no_root_squash)
NFS エクスポートの例
# more /etc/exports
/exports/sapmnt 10.2.0.69(rw,sync,all_squash,anonuid=0,anongid=1001)
/exports/sapmnt 10.2.0.11(rw,sync,all_squash,anonuid=0,anongid=1001)
/exports/usr/sap/<instance name>/ASCS01 10.2.0.69(rw,sync,all_squash,anonuid=0,anongid=1001)
/exports/sap/<instance name>/ASCS01
10.2.0.11(rw,sync,all_squash,anonuid=0,anongid=1001)
# more /etc/fstab
#
# /etc/fstab
# Created by anaconda on Mon Nov 9 20:20:10 2015
#
# Accessible filesystems, by reference, are maintained under ‘/dev/disk’
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=367df610-4210-4a5a-8c8d-51ddf499fc17 / xfs defaults 0 0
/dev/xvdb swap swap defaults 0 0
/dev/xvdc /tmp xfs nodev,nosuid,noexec,relatime 0 0
/dev/xvdp1 /var xfs defaults 0 0
/dev/xvdp2 /var/log xfs defaults 0 0
/dev/xvdp3 /var/log/audit xfs defaults 0 0
/dev/xvdp4 /home xfs defaults,nodev 0 0
/tmp /var/tmp none bind,nodev,nosuid 0 0
/dev/xvdj /usr/sap xfs defaults 0 0
/dev/xvdg /exports/usr/sap/P4G/ASCS01 xfs defaults 0 0
/dev/xvdh /usr/sap/P4G/D00 xfs defaults 0 0
/dev/xvdi /sapcd xfs defaults 0 0
/dev/xvdk /exports/sapmnt xfs defaults 0 0
<nfsvip>:/exports/usr/sap/P4G/ASCS01 /usr/sap/<instance name>/ASCS01 nfs nfsvers=3,proto=udp,rw,sync,bg 0 0
<nfsvip>:/exports/sapmnt /sapmnt nfs nfsvers=3,proto=udp,rw,sync,bg 0 0
<nfsvip>:/exports/usr/sap/P4G/ASCS01 /usr/sap/PG4/ASCS01 nfs nfsvers=3,proto=udp,rw,sync,bg 0 0 (Note: This ERS entry will only be present if using an ERSv2 configuration with a shared ERS filesystem.)
- systemctl start nfs-server.service コマンドを使用して NFS サーバーを起動します。 NFS サーバーがすでにアクティブな場合は、“exportfs -va” を実行してこれらのマウントポイントをエクスポートします。
- ノード 1 および 2 の両方で、次のマウントコマンドを実行します( udp の使用方法に注意してください。これはフェールオーバーとリカバリーで重要です )。これにより、NFS 共有をマウントできるようになります。
mount {virtual ip}:/exports/sapmnt/<PG4> /sapmnt/<PG4> -o rw,sync,bg,udp
mount {virtual ip}:/exports/saptrans /usr/sap/trans -o rw,sync,bg,udp
- ノード 1 から、必要なファイルシステムを、/usr/sap および/sapmnt またはその他の必要なファイルから、NFS サーバーからノード 1 にマウントされた NFS マウントポイントにコピーします。
- SAP にログインし、SAP を起動します(su の後に stcadm を実行します)。
startsap sap{No.}
- すべてのプロセスが開始されていることを確認してください。
ps –ef | grep en.sap (2 processes)
ps –ef | grep ms.sap (2 processes)
ps –ef | grep dw.sap (17 processes)
「SAP Logon」または「SAP GUI for Windows」は、SAP が提供する Windows クライアントです。プログラムは SAP のダウンロードサイトからダウンロードできます。仮想 IP アドレスは [Properties] ページで「アプリケーションサーバー」として使用できます。これにより、仮想 IP が存在するプライマリマシンへの接続がアクティブになります。
- まだ実行していない場合は、NFS 共有マウントポイントにデータレプリケーションクラスターリソースを作成して、ノード 1 からノード 2 にデータを複製します。
SAP で NFSv4/TCP を使用するときにスイッチオーバー時間を短縮
SAP/NFS 環境では次の変更を行うことでスイッチオーバー時間を短縮することができます。
すべての LK NFS リソースを out of service にして以下を実行します。
# systemctl stop nfs
# echo 10 > /proc/fs/nfsd/nfsv4gracetime
# echo 10 > /proc/fs/nfsd/nfsv4leasetime
# systemctl start nfs
LEASE 時間と GRACE 時間を永続的に設定するには、次のようにします。
RHEL 8 では以下を実行します。
# nfsconf —set nfsd grace-time 10
# nfsconf —set nfsd lease-time 10
# systemctl restart nfs-server
このトピックへフィードバック