デプロイメント
バージョン
バージョン | 改訂日 | 説明 | リリース日 |
1.0 | 2019.05.07 | ||
1.1 | 2019.07.04 | 1. Apsara File Storage NAS (NAS) パラメーターが最適化されました。 | 2019.07.04 |
1.2 | 2021.06.01 | 1. Pacemaker SBD タイムアウト期間が最適化されました。 | 2021.06.01 |
1.3 | 2022.1.25 | 1. Fence エージェントソリューションが更新されました。 2. レイアウトが最適化されました。 | 2022.1.25 |
1.4 | 2022.12.5 | 1. 異なるオペレーティングシステムバージョン用の fence_aliyun コンポーネント依存関係パッケージの説明が更新されました。 | 2022.12.5 |
1. 概要
このトピックでは、SUSE HAE を使用して、同一ゾーン内の Alibaba Cloud 上で S/4 HANA 1809 以降のバージョンを高可用性インストールおよびデプロイする方法について説明します。
Netweaver 7.51 以降のスタンドアロンエンキューサーバー 2 (ENSA2) の導入により、ENSA2 は S/4 HANA ABAP PLATFORM 1809 の高可用性デプロイメントのデフォルトのインストールオプションになりました。
このトピックでは、S/4 HANA 1809 以降のバージョンを高可用性設定でデプロイする方法について説明します。ただし、SAP 公式のインストールおよび構成ドキュメントまたは特定のシステムサイジングの推奨事項を完全に置き換えるものではありません。デプロイ前に、SAP 公式のインストールガイドと関連する SAP ノートを確認することをお勧めします。
1.1. 古いスタンドアロンエンキューサーバー (ENSA1) アーキテクチャでは、セントラルサービスインスタンス (ASCS) で障害が発生した場合、アクティブで実行中の ERS (ASCS のカウンターパート) サーバーに切り替えて再起動する必要があります。その後、共有メモリにアクセスして、エンキューレプリケーションテーブルからロックを引き継ぎます。
1.2. 新しい ENSA2 アーキテクチャでは、ASCS で障害が発生した場合、ASCS を ERS を実行しているサーバーに切り替える必要がなくなりました。代わりに、ASCS を別のサーバーに切り替えて再起動し、共有メモリではなくネットワークを介して Enqueue Replicator 2 からロックを引き継ぐことができます。

1.3. ENSA1 アーキテクチャの場合、Pacemaker は 2 ノードクラスターをサポートし、ASCS は ERS に従う必要があります。新しい ENSA2 アーキテクチャでは、Pacemaker は 2 ノードクラスターだけでなく、マルチノードクラスターもサポートできます。
このデプロイメントでは、S/4 HANA 1809 サーバーのインストールのみを含み、Fiori フロントエンドサーバーを除く、ベストプラクティスとして 2 ノードクラスターを使用しています。また、このデプロイメントでは SAP liveCache Integration はインストールされていません。
2. アーキテクチャ
次の図は、このデプロイメントのアーキテクチャを示しています。
3. リソースプランニング
3.1 ネットワークプランニング
ネットワーク | ゾーン | CIDR ブロック | vSwitch | VPC |
ビジネスネットワーク | 北京ゾーン G | 10.0.10.0/24 | SAP_Business_Vswitch | S4_1809_VPC |
ハートビートネットワーク | 北京ゾーン G | 10.0.20.0/24 | SAP_Heartbeat_Vswitch | S4_1809_VPC |
3.2 SAP とホストのプランニング
SAP アプリケーション SID: S4T
SAP HANA SID: S4T
アプリケーションと HANA の SID は異なる場合があります。
ホスト名 | IP アドレス | タイプ | インスタンス ID | 備考 |
s4app1 | 10.0.10.10/10.0.20.10 | PAS インスタンス | 01 | ローカルインストール |
s4app2 | 10.0.10.11/10.0.20.11 | AAS インスタンス | 02 | ローカルインストール |
VASCSS4T | 10.0.10.12 | ASCS インスタンス | 00 | 仮想ホスト名へのインストール |
VERSS4T | 10.0.10.13 | ERS インスタンス | 10 | 仮想ホスト名へのインストール |
VDBS4T | 10.0.10.9 | DB インスタンス | 仮想ホスト名へのインストール | |
hana01 | 10.0.10.7/10.0.20.7 | DB (プライマリ) | 00 | ローカルインストール |
hana02 | 10.0.10.8/10.0.20.8 | DB (セカンダリ) | 00 | ローカルインストール |
3.3 ユーザーとグループのプランニング
高可用性クラスター内の 2 つのノードの SAP と HANA で、同じユーザー ID とグループ ID を使用していることを確認します。
ユーザー ID: <sid> adm を 2000 に、sapadm を 2001 に設定します。
グループ ID: sapsys を 2000 に設定します。
3.4 SWAP プランニング
SAP アプリケーションをインストールするには、スワップスペースが必要です。Elastic Compute Service (ECS) インスタンスを作成するときに、SSD または拡張 SSD (ESSD) を作成してスワップスペースを提供することをお勧めします。スワップスペースの詳細については、「SAP Note: 1597355 - Swap-space recommendation for Linux」をご参照ください。
3.5 ファイルシステムプランニング
SAP アプリケーションのグローバルファイルシステムのマウントには、Autofs を使用することをお勧めします。ファイルシステムサイズの計画を立てるには、SAP 公式のインストールおよび構成ドキュメント、または実装パートナーが提供する計画を参照してください。このトピックの例は参考用です。
ファイルシステム | タイプ | LV | VG |
/usr/sap | XFS | usrsaplv | sapvg |
/sapmnt | NAS | ||
/usr/sap/trans | NAS | ||
/hana/data | XFS | datalv | hanavg |
/hana/log | XFS | loglv | hanavg |
/hana/shared | XFS | sharedlv | hanavg |
4. 準備
4.1 Alibaba Cloud アカウント
Alibaba Cloud アカウントをお持ちでない場合は、Alibaba Cloud 公式 Web サイトまたは Alibaba Cloud アプリで登録してください。アカウントを登録するには携帯電話番号を使用し、アカウントの実名登録を完了する必要があります。その後、このアカウントで Alibaba Cloud アプリにログインして、クラウドリソースの管理と監視、身分認証の実行、Yunqi Community での質問や知識の習得を行うことができます。
4.2 VPC
仮想プライベートクラウド (VPC) は、Alibaba Cloud 上に構築された分離された仮想ネットワークです。VPC は論理的に相互に分離されています。VPC はクラウド内のプライベートネットワークです。VPC を完全に制御できます。たとえば、IP アドレス範囲を指定し、VPC のルートテーブルとゲートウェイを構成できます。計画に基づいて VPC、関連するビジネスネットワークの vSwitch、およびハートビート vSwitch を作成する方法の詳細については、ドキュメントセンターをご覧ください。
4.3 ECS インスタンス
ECS は、Alibaba Cloud が提供する基本的なクラウドコンピューティングサービスです。ECS コンソール にログインして、ECS インスタンスを構成できます。
Alibaba Cloud NetWeaver の詳細については、「SAP note: 1380654 - SAP support in public cloud environments」をご参照ください。
4.3.1. ECS インスタンスの作成
ECS コンソールで ECS インスタンスを作成する場合は、課金方式を選択し、ゾーンとして北京ゾーン G を指定し、Alibaba Cloud Marketplace から SUSE Linux Enterprise Server for SAP Applications 12 SP3 という名前のイメージを購入します。
計画に基づいて、ディスクの数とサイズを選択します。この例では、300 GB のデータディスクと 50 GB の SWAP ディスクが使用されています。システムディスクには、効率的なクラウドディスクまたは SSD を使用することをお勧めします。データディスクには、ESSD または SSD を使用します。また、SSD または ESSD を SWAP ディスクとして作成することをお勧めします。クラウドディスクの詳細については、「ブロックストレージのパフォーマンス」をご参照ください。
既存の VPC とセキュリティグループを選択します。この例では、hanasg セキュリティグループを選択します。詳細については、「セキュリティグループに関するよくある質問」をご参照ください。
ビジネス要件と計画に基づいて、Resource Access Management (RAM) ロールを選択することもできます。パラメーターの構成を確認したら、ECS インスタンスを作成します。このデプロイメント計画では、北京ゾーン G ゾーンに 4 つの ECS インスタンスを作成する必要があります。インスタンスを作成したら、構成を変更して、計画に基づいてホスト名またはプライベート IP アドレスを変更します。
4.3.2 ENI の構成
高可用性クラスター内の各 ECS インスタンスの弾性ネットワークインターフェース (ENI) を作成して、ハートビートネットワークを構成します。
ECS コンソールにログインします。左側のナビゲーションウィンドウで、[ネットワークとセキュリティ] > [弾性ネットワークインターフェース] を選択します。表示されるページで、ENI を作成します。
4 つの ENI を作成する必要があります。
4.3.3 ECS Metrics Collector のインストール
ECS Metrics Collector は、SAP システムが Alibaba Cloud 上で使用して、仮想マシンの構成と基盤となる物理リソースの使用状況に関する必要な情報を収集するモニターエージェントです。SAP システムが ECS インスタンスで実行されている場合、SAP Host Agent はメタデータサービスと API を使用して、SAP システムの監視に必要な情報 (オペレーティングシステム、ネットワーク、ストレージ、SAP アーキテクチャに関する情報を含む) を取得します。その後、SAP Host Agent は、SAP アプリケーションがイベントとシステムパフォーマンスを分析するための情報を提供します。SAP システムが実行されている各 ECS インスタンス (SAP アプリケーションまたは SAP HANA のいずれか) に、SAP 用の ECS Metrics Collector をインストールする必要があります。
詳細については、「SAP 向け ECS Metrics Collector デプロイメントガイド」をご参照ください。
4.4 Fence の構成
Alibaba Cloud は、SAP システムの高可用性デプロイメントで Fence 機能を実装するための 2 つのソリューションを提供しています。クラウドネイティブのソリューション 2: Fence_aliyun を使用することをお勧めします。
ソリューション 1: 共有ブロックストレージデバイスを使用して SBD Fence を実装する (現在は利用不可)
共有ブロックストレージは、高い同時実行性、高パフォーマンス、高信頼性を備えたブロックレベルのデータストレージサービスです。複数の ECS インスタンスへの同時読み取りと書き込みをサポートします。単一の共有ブロックストレージデバイスは、最大 16 個の ECS インスタンスに同時に接続できます。
共有ブロックストレージデバイスは、高可用性クラスターの SBD デバイスとして使用されます。ECS インスタンスと同じリージョンの同じゾーンを選択し、高可用性クラスター内の ECS インスタンスにデバイスを接続します。
サービスの使用を申請するには、Alibaba Cloud ソリューションアーキテクト (SA) にお問い合わせください。
[1] 共有ブロックストレージデバイスの作成
ECS コンソールにログインします。左側のナビゲーションウィンドウで、[ストレージとスナップショット] > [ストレージとスナップショット] を選択します。表示されるページで、ECS インスタンスと同じリージョンの同じゾーンに共有ブロックストレージデバイスを作成します。
共有ブロックストレージデバイスを作成したら、Elastic Block Storage (EBS) コンソールに移動し、高可用性クラスター内の 2 つの ECS インスタンスにデバイスを接続します。
[2] 共有ブロックストレージデバイスの構成
オペレーティングシステムにログインし、lsblk コマンドを実行してディスク情報を表示します。
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 100G 0 disk
└─vda1 253:1 0 100G 0 part /
vdb 253:16 0 500G 0 disk
vdc 253:32 0 500G 0 disk
vdd 253:48 0 500G 0 disk
vde 253:64 0 64G 0 disk
vdf 253:80 0 20G 0 diskこの例では、ディスク /dev/vdf が共有ブロックストレージデバイスのデバイス識別子として使用されています。
[3] ウォッチドッグの構成 (クラスターの 2 つのノード)
echo "modprobe softdog" > /etc/init.d/boot.local
echo "softdog" > /etc/modules-load.d/watchdog.conf
modprobe softdog
# ウォッチドッグの構成を確認します。
ls -l /dev/watchdog
crw------- 1 root root 10, 130 Apr 23 12:09 /dev/watchdog
lsmod | grep -e wdt -e dog
softdog 16384 0
grep -e wdt -e dog /etc/modules-load.d/watchdog.conf
softdog[4] SBD の構成 (クラスターの 2 つのノード)
sbd -d /dev/vdf -4 60 -1 30 create
# SBD パラメーターを構成します。
vim /etc/sysconfig/sbd
# 次のパラメーターを変更し、SBD_DEVICE の値を共有ブロックストレージデバイスのデバイス識別子に置き換えます。
SBD_DEVICE="/dev/vdf"
SBD_STARTMODE="clean"
SBD_OPTS="-W"[5] SBD の確認
ノードの SBD を確認します。
sbd -d /dev/vdf list両方のノードの SBD ステータスがクリアであることを確認します。
sbd -d /dev/vdf list
0 s4app1 clear
1 s4app2 clear[6] SBD 構成の検証
Fence ノードのアプリケーションがシャットダウンされていることを確認します。シャットダウン操作により、ノードの再起動アクションがトリガーされます。
この例では、プライマリノード s4app1 にログインします。
sbd -d /dev/vdf message s4app2 resetセカンダリノードが再起動された場合、構成は成功です。
セカンダリノードが再起動された後、手動でクリア状態にリセットする必要もあります。
sbd -d /dev/vdf list
0 s4app1 clear
1 s4app2 reset s4app1
sbd -d /dev/vdf message s4app2 clear
sbd -d /dev/vdf list
0 s4app1 clear
1 s4app2 clear s4app1ソリューション 2: fence_aliyun を使用して Fence 機能を実装する
fence_aliyun は、Alibaba Cloud プラットフォーム専用に開発された Fence エージェントです。SAP の高可用性環境で障害が発生したノードを分離するために使用されます。Alibaba Cloud の API を呼び出して、Alibaba Cloud リソースの柔軟なスケジューリングと管理を有効にすることができます。この機能は、同一ゾーン内での SAP の高可用性デプロイメントをサポートし、重要な SAP アプリケーションを高可用性でデプロイするという企業のニーズを満たします。
fence_aliyun は、Alibaba Cloud 環境向けに調整されたオープンソースの Fence エージェントです。SAP の高可用性環境で障害が発生したノードを分離するために使用されます。
SUSE Enterprise Server for SAP Applications 12 SP4 以降のバージョンでは、fence_aliyun コンポーネントがネイティブに統合されているため、Alibaba Cloud パブリッククラウドに SAP の高可用性環境を簡単にデプロイするように構成できます。
[1] 環境を準備する
この例では、Alibaba Cloud SUSE CSP 有料イメージが使用されています。これは、Alibaba Cloud SUSE SMT 更新ソースに直接接続して、SUSE コンポーネントをダウンロードまたは更新できます。
カスタムイメージを使用する場合は、イメージを SUSE 公式の更新ソースに接続できます。詳細については、「SUSEConnect コマンドラインツールを使用して SLES を登録する方法」をご覧ください。
Python などのオープンソースソフトウェアをインストールするには、インターネット接続が必要です。ECS インスタンスにエラスティック IP アドレス (EIP) または NAT ゲートウェイが構成されていることを確認します。
[2] Python と pip をインストールして検証する
fence_aliyun は Python 3.6 以降をサポートしています。バージョン要件が満たされていることを確認します。
# Python 3 のバージョンを確認します。
python3 -V
Python 3.6.15
# Python パッケージの管理に使用する pip を確認します。
pip -V
pip 21.2.4 from /usr/lib/python3.6/site-packages/pip (python 3.6)Python 3 がインストールされていないか、Python のバージョンが Python 3.6 より前の場合、必要な Python のバージョンをインストールします。
次のコードは、Python 3.6.15 を例として使用しています。
# Python 3.6 をインストールします。
wget https://www.python.org/ftp/python/3.6.15/Python-3.6.15.tgz
tar -xf Python-3.6.15.tgz
./configure
make && make install
# インストール結果を確認します。
python3 -V
# pip をインストールします。
curl https://bootstrap.pypa.io/pip/3.6/get-pip.py -o get-pip.py
python3 get-pip.py
# インストール結果を確認します。
pip3 -V[3] Alibaba Cloud SDK と依存関係パッケージをインストールする
aliyun-python-sdk-core のバージョンが 2.13.35 以降であり、aliyun-python-sdk-ecs のバージョンが 4.24.8 以降であることを確認します。
python3 -m pip install --upgrade pip
pip3 install --upgrade aliyun-python-sdk-core
pip3 install --upgrade aliyun-python-sdk-ecs
# 依存関係パッケージをインストールします。
### カスタムイメージを使用する場合は、後続のインストール操作を実行する前に、関連するモジュールを手動でアクティブ化する必要があります。
## SUSE Linux Enterprise Server (SLES) 12 SP1、SLES 12 SP2、SLES 12 SP3、および SLES 12 SP5 の場合は、次のコマンドを実行します。x は SP のマイナーバージョン番号を示します。
SUSEConnect -p sle-sdk/12.x/x86_64
SUSEConnect -p SLES_SAP/12.x/x86_64
## SLES 12 SP4 環境の場合は、次のコマンドを実行します。
SUSEConnect -p sle-sdk/12.4/x86_64
SUSEConnect -p sle-ha/12.4/x86_64
## SLES 15 SP1 環境の場合は、次のコマンドを実行します。
SUSEConnect -p SLES_SAP/15.1/x86_64
SUSEConnect -p sle-ha/15.1/x86_64
## SLES 15 SP2 および SLES 15 SP3 の場合は、次のコマンドを実行します。x は SP のマイナーバージョン番号を示します。
SUSEConnect -p sle-module-basesystem/15.x/x86_64
SUSEConnect -p sle-ha/15.x/x86_64
###
zypper install libcurl-devel
pip3 install pycurl pexpect
zypper install fence-agents
インストール結果を確認するためのサンプルコード:
pip3 list | grep aliyun-python
aliyun-python-sdk-core 2.13.35
aliyun-python-sdk-core-v3 2.13.32
aliyun-python-sdk-ecs 4.24.8[4] RAM ロールの構成
fence_aliyun は RAM ロールを利用して、ECS インスタンスなどのクラウドリソースのステータスを照会し、インスタンスの起動や停止などの操作を実行します。
RAM コンソールにログインします。左側のナビゲーションウィンドウで、[権限] > [ポリシー] を選択します。表示されるページで、[ポリシーの作成] をクリックします。
この例では、ポリシー SAP-HA-ROLE-POLICY が使用されています。次のコードは、ポリシーコンテンツの例です。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecs:StartInstance",
"ecs:StopInstance",
"ecs:RebootInstance",
"ecs:DescribeInstances"
],
"Resource": [
"acs:ecs:*:*:instance/*"
]
}
]
}RAM ロールにポリシーをアタッチする
RAM コンソールに戻ります。[ロール] ページで、ロール AliyunECSAccessingHBRRole を見つけます。[操作] 列で、[権限の付与] をクリックします。表示されるパネルで、ポリシー SAP-HA-ROLE-POLICY を選択し、ロール AliyunECSAccessingHBRRole にポリシーをアタッチします。
ECS インスタンスに RAM ロールを割り当てる
ECS コンソールにログインします。[インスタンス] ページで、必要な ECS インスタンスを見つけ、[操作] 列の [その他] アイコンをクリックし、[RAM ロールの接続/切断] をクリックします。表示されるダイアログボックスで、ロール AliyunECSAccessingHBRRole を選択または作成し、[確認] をクリックします。
[5] fence_aliyun をインストールして構成する
fence_aliyun の最新バージョンをダウンロードする
fence_aliyun をダウンロードするには、GitHub にアクセスする必要があります。ECS インスタンスが GitHub サイトにアクセスするための適切なネットワーク接続を持っていることを確認します。
ブラウザを開き、fence_aliyun ソースコード の GitHub に移動します。ファイルを作成し、ソースコードを /usr/sbin/fence_aliyun にコピーします。
# 権限を構成します。
chmod 755 /usr/sbin/fence_aliyun
chown root:root /usr/sbin/fence_aliyunユーザー環境に適応させる
# インタープリターを Python 3 に設定します。
sed -i "1s|@PYTHON@|$(which python3 2>/dev/null || which python 2>/dev/null)|" /usr/sbin/fence_aliyun
# Fence エージェント lib のディレクトリを指定します。
sed -i "s|@FENCEAGENTSLIBDIR@|/usr/share/fence|" /usr/sbin/fence_aliyunインストール結果を確認する
# サンプル構文:
# fence_aliyun --[リージョン ID] --ram-role [RAM ロール] --action status --plug '[ECS インスタンス ID]'
# サンプルコード:
fence_aliyun --region cn-beijing --ram-role AliyunECSAccessingHBRRole --action status --plug 'i-xxxxxxxxxxxxxxxxxxxx'
# 構成が有効な場合、インスタンスのステータスが返されます。サンプルコード:
Status: ONAlibaba Cloud リージョンとリージョン ID のマッピングの詳細については、「リージョンとゾーン」をご参照ください。
現在のリージョン内のすべての ECS インスタンスの名前に漢字が含まれていないことを確認します。
4.5 HAVIP
高可用性仮想 IP アドレス (HAVIP) は、独立したリソースとして作成およびリリースできるプライベート IP アドレスです。ARP メッセージを使用して、ECS インスタンスで HAVIP をアドバタイズできます。このデプロイメントでは、クラスター内の仮想 IP アドレスとして HAVIP を使用して、クラスター内の各ノードにマウントします。
この例では、ASCS インスタンスの HAVIP を作成します。HAVIP は、ASCS インスタンスをインストールするための仮想 IP アドレスとして使用されます。ビジネスネットワークに HAVIP を作成します。同様に、ERS インスタンスの HAVIP を作成します。
[1] HAVIP の作成
VPC コンソールにログインします。左側のナビゲーションウィンドウで、[HaVip] をクリックします。表示されるページで、HAVIP を作成します。
サービスの使用を申請するには、Alibaba Cloud SA にお問い合わせください。
[2] ECS インスタンスと HAVIP の関連付け
高可用性クラスターにバインドされている ECS インスタンスをクリックします。クラスター内の 2 つの ECS インスタンスがバインドされていることを確認します。
[3] 一時的な HAVIP の構成
HAVIP は、Pacemaker などのクラスターソフトウェアによってリソースとして引き継がれた後にのみ有効になります。デプロイメントのために、一時的な HAVIP を作成する必要があります。
最初のノードにログインし、ASCS インスタンスと ERS インスタンスに適用された HAVIP を一時的に追加アドレスに構成して、インストール中に HAVIP の接続性を確保します。
#yast2 network

ASCS インスタンスと ERS インスタンスの HAVIP を構成します。

ERS インスタンスの HAVIP を同じ方法で構成します。
ASCS インスタンスの HAVIP の接続性をテストします。

ERS インスタンスの HAVIP の接続性をテストします。

4.6 NAS
Apsara File Storage NAS (NAS) は、ECS インスタンス、E-HPC インスタンス、Docker コンテナーなどのコンピュートノードにファイルストレージソリューションを提供します。NAS は標準のファイルアクセスプロトコルをサポートしています。既存のアプリケーションを変更することなく、NAS を使用できます。NAS は、無制限の容量、パフォーマンスの拡張、単一のネームスペース、多者間共有、高信頼性、高可用性など、さまざまな機能を提供します。Alibaba Cloud に SAP アプリケーションをデプロイするには、グローバルホストと trans ホストのファイルシステムに NAS を使用することをお勧めします。
[1] NAS ファイルシステムの作成
リージョンとストレージタイプを選択します。このデプロイメントでは、容量型 NAS ファイルシステムを使用します。NAS パフォーマンスの詳細については、「汎用 NAS ファイルシステム」をご参照ください。[マウントターゲットの追加] をクリックし、作成したサービス CIDR ブロックの VPC と vSwitch を選択します。
[2] NAS ファイルシステムのマウントアドレスを記録する
システム ID または名前をクリックして NAS 構成ページに移動し、計画に基づいて /sapmnt と /usr/sap/trans の 2 つの NAS ファイルシステムを作成します。
5. SAP HANA のインストール
SAP HANA のインストールと構成方法の詳細については、「SAP HANA プラットフォーム」をご覧ください。
SAP HANA システムレプリケーションの構成方法の詳細については、「SAP HANA のシステムレプリケーションを実行する方法」をご覧ください。
SAP HANA HA のインストールと構成方法の詳細については、「同一ゾーンにおける SAP HANA 高可用性デプロイメント」をご参照ください。
6. 高可用性クラスターの構成
6.1 ホスト名の維持
SAP アプリケーションと SAP HANA のすべてのノードのホスト名を変更します。計画どおりに /etc/hosts ディレクトリに次の情報を追加します。
###S4 アプリケーションビジネス###
10.0.10.10 s4app1 s4app1.alibaba.com
10.0.10.11 s4app2 s4app2.alibaba.com
10.0.10.12 VASCSS4T VASCSS4T.alibaba.com
10.0.10.13 VERSS4T VERSS4T.alibaba.com
###S4 アプリケーションハートビート###
10.0.20.10 s4app1-ha
10.0.20.11 s4app2-ha
###S4 HANA データベース####
10.0.10.7 hana01 hana01.alibaba.com
10.0.10.8 hana02 hana02.alibaba.com
10.0.10.9 VDBS4T VDBS4T.alibaba.com
###S4 HANA データベースハートビート####
10.0.20.7 hana01-ha
10.0.20.8 hana02-ha6.2 ファイルシステムの作成
次の例では、
/sapmnt と /usr/sap/trans は NAS ファイルシステムを使用します。
/usr/sap は XFS ファイルシステムを使用します。
[1] /usr/sap
(1). ディスクを確認します。
(2). 永続ボリューム (PV) を作成します。
(3). sapvg を作成します。
(4). usrsaplv を作成します。
(5). ファイルシステムを作成します。
(6) ファイルシステムのマウントポイントを追加します。システムの起動時にファイルシステムがマウントされるようにします。
#fdisk -l
#pvcreate /dev/vdb
#vgcreate sapvg /dev/vdb
#lvcreate -L 100G -n usrsaplv sapvg
#mkfs.xfs /dev/sapvg/usrsaplv
#mkdir -p /usr/sap/etc/fstab ファイルに次のコンテンツを追加します。
/dev/sapvg/usrsaplv /usr/sap xfs defaults 0 0すべてのファイルシステムをマウントします。
#mount -a#mount -a
[2] スワップの作成
(1). スワップディスクを確認します。
#fdisk -l
/dev/vdd は個別に作成されたスワップディスクです。
(2). スワップを構成します。
mkswap /dev/vdc
swapon /dev/vdc
swapon -s/etc/fstab ファイルに次のコンテンツを追加します。
/dev/vdc swap swap defaults 0 0[3] グローバルファイルシステムと Trans ホストファイルシステム
/sapmnt と /usr/sap/trans の両方で autofs を使用することをお勧めします。autofs を構成するためにディレクトリを作成する必要はありません。
(1). 次のコマンドを実行して、auto.master ファイルを編集します。
#vim /etc/auto.master
ファイルの末尾に /- /etc/auto.nfs を追加します。
(2). /etc/auto.nfs ファイルを作成して編集します。
アドレスを NAS アドレスに置き換えます。
/sapmnt -vers=3,noacl,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport xxxxxxxx-beijing.nas.aliyuncs.com:/
/usr/sap/trans -vers=3,noacl,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport xxxxxxxx-beijing.nas.aliyuncs.com:/(3). autofs サービスを開始します。
#systemctl start autofs
(4). システムの起動時に自動的に開始されるようにします。
#systemctl enable autofs
cd コマンドを実行して 2 つのファイルシステムにアクセスし、マウントされているかどうかを確認できます。
6.3 OS とインストールパッケージの準備
以下の構成手順はすべて、HA に参加するデュアルマシンで操作する必要があります。この例では、いずれかのノードでの操作についてのみ説明します。
[1]. HA 構成と最適化に必要なパッケージをインストールする
# SLES 12 for SAP バージョンのコンポーネント
zypper in -y patterns-ha-ha_sles sap-suse-cluster-connector fence-agents
SLES 15 for SAP バージョンのコンポーネント
zypper in -y patterns-ha-ha_sles sap-suse-cluster-connector corosync-qdevice saptune fence-agents[2]. ネットワークタイムプロトコル (NTP) サービスを確認する
#ntpq -p
デフォルトでは、Alibaba ECS インスタンスで NTP サービスが有効になっています。ECS インスタンスのタイムゾーンが Asia/Shanghai でない場合は、タイムゾーンを変更して NTP サービスを構成します。すべての ECS インスタンスで NTP サービスが有効になっており、同じタイムゾーンが使用されていることを確認します。
[3]. saptune をインストールする
sapconf ツールのアップグレードバージョンである saptune は、SUSE Linux Enterprise Server 12 SP2 以降のバージョンで使用できます。saptune を使用して、オペレーティングシステムとデータベースのパラメーターを調整できます。これにより、SAP NetWeaver または SAP HANA のパフォーマンスが向上します。構文:
SAP ノート
SAP および SUSE のノートに従ってシステムを調整します。
saptune note [ list | verify ]
saptune note [ apply | simulate | verify | customise | revert ] NoteIDSAP ソリューション
SAP ソリューションに適用可能なすべてのノートのシステムを調整します。
saptune solution [ list | verify ]
saptune solution [ apply | simulate | verify | revert ] SolutionNameこの例では、NETWEAVER がインストールされています。インストールのコード:

次のコマンドを実行してデーモンを起動します。
saptune daemon start
systemctl enable tunedsaptune の詳細については、「saptune を使用して SAP ソリューション用の Linux を準備する」または SLES の公式ドキュメントをご覧ください。
6.4 クラスターの構成
[1]. corosync の構成
(1). クラスターグラフィカルインターフェースを起動します。最初のノードで yast2 を起動し、クラスターを選択します。
(2). 通信チャネルを構成します。
転送方法としてユニキャストを選択します。チャネルバインドアドレス 10.0.20.0 (ハートビート IP サブネット) を入力します。冗長チャネルバインドアドレス 10.0.10.0 (サービス IP サブネット) を入力します。2 つの HA ノードのハートビート IP アドレスとサービス IP アドレス (冗長) を追加します。予想投票数に 2 (ノード数) を入力します。
(3). セキュリティを構成します。
[セキュリティ認証を有効にする] を選択し、[認証キーファイルの生成] をクリックして認証キーファイルを生成します。
(4) Csync2 を構成します。
csync2 は、構成ファイルをクラスター内のすべてのノードに複製するために使用される同期ツールです。ホストを追加するには、[推奨ファイルを追加] を選択し、[csync2 をオンにする] をクリックします。次に、[事前共有キーの生成] をクリックします。生成された /etc/csync2/key_hagroup ファイルを 2 番目のノードの対応するディレクトリにコピーします。
(5). サービスを構成します。
システムの起動後に Pacemaker を自動的に起動するかどうかを指定します。デフォルトでは、無効になっています。この例では、手動制御オプションを選択し、オフのままにします。
(6). 最初のノードの /etc/corosync ディレクトリにある corosync 構成ファイルと authkey ファイルを、2 番目のノードの対応するディレクトリにコピーします。
#scp -pr corosync.conf authkey root@s4app2:/etc/corosync
[2] 2 つのノードの Pacemaker を起動する
#systemctl start pacemaker
両方のノードがオンラインであることを確認します。
#crm_mon -r
7. S/4HANA 1809 のインストール
7.1 ASCS インスタンスのインストール
最初のノードで SWPM インストールを開始します。ASCS を仮想ホスト名 VASCSS4T にインストールします。
# ./sapinst SAPINST_USE_HOSTNAME=VASCSS4T
Windows ジャンプホストのブラウザで、アクセスアドレスを入力します。
https://VASCSS4T:4237/sapinst/docs/index.html
ルートユーザーとパスワードを使用してログインします。ホスト名の解決とポートがアクセス可能であることを確認します。
計画に基づいて SID と sapmnt パスを入力します。
FQDN を構成します。
パスワードを構成します。
ユーザー ID とグループ ID を入力します。
カーネルパスを入力します。
ASCS インスタンス番号と仮想ホスト名を入力します。
Web Dispatcher と Gateway を統合します。
Web Dispatcher を構成します。パラメーターを変更できます。
セキュリティ上の理由から、sapinst グループから sidadm ユーザーをクリアすることをお勧めします。
パラメーターの構成を確認します。定義したパラメーターを変更できます。
メッセージサーバーとエンキューサーバーのプロセスを確認します。
7.2 ERS インスタンスのインストール
最初のノードで SWPM を再インストールします。ERS を仮想ホスト名 VERS4T にインストールします。
# ./sapinst SAPINST_USE_HOSTNAME=VERSS4T
Windows ジャンプホストのブラウザで、アクセスアドレスを入力します。
https://VERSS4T:4237/sapinst/docs/index.html
ルートユーザーとパスワードを使用してログインします。ホスト名の解決とポートがアクセス可能であることを確認します。
計画に基づいてユーザー ID を入力します。
ERS インスタンス番号と仮想ホスト名を入力します。
計画に基づいてユーザー ID を入力します。

エンキューレプリケーションサーバープロセスを確認します。
7.3 セカンダリノードでの ASCS または ERS の構成
1. ユーザーとグループを作成します。 SWPM を使用して、2 番目のノードに同じユーザーとグループを作成します。
#./sapinst
sidadm ユーザーと sapadm ユーザーを作成します
。SID を入力し、ABAP スタックを選択します。
計画に基づいてユーザー ID とグループ ID を入力し、最初のノードと一致させます。

2. ファイルをコピーします。 最初のノードにログインします。
(1). /etc/ の services ファイルを 2 番目のノードにコピーします。
#scp -pr services root@s4app2:/etc/
(2). /usr/sap の sapservices ファイルを 2 番目のノードにコピーします。
#scp -pr sapservices root@s4app2:/usr/sap/
(3). ASCS00、ERS10、SYS ディレクトリを 2 番目のノードにコピーします。
#cd /usr/sap/S4T
#tar -cvf ASCSERSSYS.tar *
2 番目のノードにログインします。/usr/sap ディレクトリに、同じ権限で S4T ディレクトリを作成します。ディレクトリをコピーして解凍します。
#scp -pr ASCSERSSYS.tar root@s4app2:/usr/sap/S4T
#tar -xvf ASCSERSSYS.tar
(4). SYS のソフトリンクが正しいかどうかを確認します
7.4 DB インスタンスのインストール
最初のノードにログインして SWPM をインストールします。DB インスタンスを仮想ホスト名 VDBS4T にインストールします。
# ./sapinst SAPINST_USE_HOSTNAME=VDBS4T
Windows ジャンプホストのブラウザで、アクセスアドレスを入力します。
https://VDBS4T:4237/sapinst/docs/index.html
ルートユーザーとパスワードを使用してログインします。ホスト名の解決とポートがアクセス可能であることを確認します。
DB SID、インスタンス番号、ホスト名を入力します。
エクスポートパスを指定します。
パスワードを入力します。


7.5 SAP インスタンスとの統合
7.5.1 haclint グループにユーザーを追加する
両方のノードの haclient グループに sidadm ユーザーを追加します。
#usermod -a -G haclient s4tadm
7.5.2 ASCS パラメーターファイルの変更
(1). sap-suse-cluster-connector の統合を構成します。
(2). エンキューサーバープロセスに障害が発生した場合に再起動しないように SAP スタートフレームワークに通知します。
####sap-suse-cluster-connector 用に追加####
#-----------------------------------
#SUSE HAE sap_suse_cluster_connector
#-----------------------------------
service/halib = $(DIR_CT_RUN)/saphascriptco.so
service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector
####エンキュープロセスを自動再起動しないように変更####
# SAP エンキューサーバーを起動します
_EN = en.sap$(SAPSYSTEMNAME)_$(INSTANCE_NAME)
Execute_04 = local rm -f $(_EN)
Execute_05 = local ln -s -f $(DIR_EXECUTABLE)/enserver$(FT_EXE) $(_EN)
#Restart_Program_01 = local $(_EN) pf=$(_PF)
Start_Program_01 = local $(_EN) pf=$(_PF)
##################################7.5.3 ERS パラメーターファイルの変更
(1). sap-suse-cluster-connector の統合を構成します。
(2). エンキューサーバープロセス (Enqueue Replicator 2) に障害が発生した場合に再起動しないように SAP スタートフレームワークに通知します。
####sap-suse-cluster-connector 用に追加####
#-----------------------------------
#SUSE HAE sap_suse_cluster_connector
#-----------------------------------
service/halib = $(DIR_CT_RUN)/saphascriptco.so
service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector
###############################################################
#####dongchen_201804 によって変更###
#Restart_Program_00 = local $(_ENQR) pf=$(_PF) NR=$(SCSID)
Start_Program_00 = local $(_ENQR) pf=$(_PF) NR=$(SCSID)
##################################7.5.4 リソースエージェントの構成
このトピックでは、構成用に 2 つの Fence ソリューションが提供されています。使用しているソリューションに基づいて必要なスクリプトを選択できます。
ソリューション 1: 共有ブロックストレージデバイスを使用して SBD Fence を実装する (現在は利用不可)
クラスター内のノードにログインして、テキストファイルを作成します。スクリプト内の SID、InstanceNumber、および params ip パラメーターの値を、デプロイされた SAP システムの値に置き換えます。
HA_script.txt の内容:
#クラスター設定
property cib-bootstrap-options: \
have-watchdog=true \
cluster-infrastructure=corosync \
cluster-name=hacluster \
stonith-enabled=true \
placement-strategy=balanced \
maintenance-mode=false
rsc_defaults rsc-options: \
resource-stickiness=1 \
migration-threshold=3
op_defaults op-options: \
timeout=600 \
record-pending=true
#STONITH リソース設定
primitive stonith-sbd stonith:external/sbd \
params pcmk_delay_max=30s
#ASCS リソース設定
primitive rsc_ip_S4T_ASCS00 IPaddr2 \
params ip=10.0.10.12 \
op monitor interval=10s timeout=20s
primitive rsc_sap_S4T_ASCS00 SAPInstance \
operations $id=rsc_sap_S4T_ASCS00-operations \
op monitor interval=11 timeout=60 on_fail=restart \
params InstanceName=S4T_ASCS00_VASCSS4T START_PROFILE="/sapmnt/S4T/profile/S4T_ASCS00_VASCSS4T" AUTOMATIC_RECOVER=false \
meta resource-stickiness=5000 target-role=Started
#ERS リソース設定
primitive rsc_ip_S4T_ERS10 IPaddr2 \
params ip=10.0.10.13 \
op monitor interval=10s timeout=20s
primitive rsc_sap_S4T_ERS10 SAPInstance \
operations $id=rsc_sap_S4T_ERS10-operations \
op monitor interval=11 timeout=60 on_fail=restart \
params InstanceName=S4T_ERS10_VERSS4T START_PROFILE="/sapmnt/S4T/profile/S4T_ERS10_VERSS4T" AUTOMATIC_RECOVER=false IS_ERS=true \
meta target-role=Started maintenance=false
#グループとコロケーション
group grp_S4T_ASCS00 rsc_ip_S4T_ASCS00 rsc_sap_S4T_ASCS00 \
meta resource-stickiness=3000
group grp_S4T_ERS10 rsc_ip_S4T_ERS10 rsc_sap_S4T_ERS10 \
meta target-role=Started
colocation col_sap_S4T_no_both -5000: grp_S4T_ERS10 grp_S4T_ASCS00
order ord_sap_S4T_first_start_ascs Optional: rsc_sap_S4T_ASCS00:start rsc_sap_S4T_ERS10:stop symmetrical=falseHA ステータスを確認して、すべてのリソースが開始されていることを確認します。
crm_mon -r

シナリオ 2: fence_aliyun を使用して Fence 機能を実装する
クラスター内のノードにログインして、テキストファイルを作成します。サンプルスクリプトをコピーし、SAP ASCS のデプロイメントに基づいて変更します。
plug の値を、S/4 ASCS クラスター内の 2 つの ECS インスタンスのインスタンス ID に置き換えます。
ram_role の値を、指定した RAM ロールに置き換えます。
region の値を、ECS インスタンスが存在するリージョンの ID に置き換えます。
ip の値を、S/4 ASCS と ERS の HAVIP に置き換えます。
InstanceName と START_PROFILE の値を、S/4 ASCS と ERS のパラメーター名とパスに置き換えます。
group、colocation、および order の値は、以前に定義したリソース名と一致している必要があります。
location の後のパラメーターを、S/4 ASCS インスタンスと ERS インスタンスのホスト名に置き換えます。
Alibaba Cloud リージョンとリージョン ID のマッピングの詳細については、「リージョンとゾーン」をご参照ください。
この例では、スクリプトファイル名は HA_script.txt です。
#Fence エージェント設定
primitive res_ALIYUN_STONITH_1 stonith:fence_aliyun \
op monitor interval=120 timeout=60 \
params plug=i-xxxxxxxxxxxxxxxxxxxx ram_role=AliyunECSAccessingHBRRole region=cn-beijing
primitive res_ALIYUN_STONITH_2 stonith:fence_aliyun \
op monitor interval=120 timeout=60 \
params plug=i-xxxxxxxxxxxxxxxxxxxx ram_role=AliyunECSAccessingHBRRole region=cn-beijing
#ASCS/ERS リソース設定
primitive rsc_ip_S4T_ASCS00 IPaddr2 \
params ip=10.0.10.12 \
op monitor interval=10s timeout=20s
primitive rsc_sap_S4T_ASCS00 SAPInstance \
operations $id=rsc_sap_S4T_ASCS00-operations \
op monitor interval=11 timeout=60 \
op_params on_fail=restart \
params InstanceName=S4T_ASCS00_VASCSS4T START_PROFILE="/sapmnt/S4T/profile/S4T_ASCS00_VASCSS4T" AUTOMATIC_RECOVER=false \
meta resource-stickiness=5000
primitive rsc_ip_S4T_ERS10 IPaddr2 \
params ip=10.0.10.13 \
op monitor interval=10s timeout=20s
primitive rsc_sap_S4T_ERS10 SAPInstance \
operations $id=rsc_sap_S4T_ERS10-operations \
op monitor interval=11 timeout=60 \
op_params on_fail=restart \
params InstanceName=S4T_ERS10_VERSS4T START_PROFILE="/sapmnt/S4T/profile/S4T_ERS10_VERSS4T" AUTOMATIC_RECOVER=false IS_ERS=true
#グループ
group grp_S4T_ASCS00 rsc_ip_S4T_ASCS00 rsc_sap_S4T_ASCS00 \
meta target-role=Started resource-stickiness=3000
group grp_S4T_ERS10 rsc_ip_S4T_ERS10 rsc_sap_S4T_ERS10 \
meta target-role=Started
#コロケーション
colocation col_sap_S4T_no_both -5000: grp_S4T_ERS10 grp_S4T_ASCS00
#Stonith 1 は、プライマリノードを制御しているため、プライマリノードで実行しないでください
location loc_s4app1_stonith_not_on_s4app1 res_ALIYUN_STONITH_1 -inf: s4app1
location loc_s4app2_stonith_not_on_s4app2 res_ALIYUN_STONITH_2 -inf: s4app2
#次数
order ord_sap_S4T_first_start_ascs Optional: rsc_sap_S4T_ASCS00:start rsc_sap_S4T_ERS10:stop symmetrical=false
#クラスター設定
property cib-bootstrap-options: \
have-watchdog=false \
cluster-name=hacluster \
stonith-enabled=true \
stonith-timeout=150s
rsc_defaults rsc-options: \
migration-threshold=5000 \
resource-stickiness=1000
op_defaults op-options: \
timeout=600ルートユーザーとして次のコマンドを実行して、SAP ASCS リソースを SUSE HAE が引き継ぐことを許可します。
crm configure load update HA_script.txtHA ステータスを確認して、すべてのリソースが開始されていることを確認します。
crm_mon -r

7.5.5 一時的な HAVIP バインディングの削除
#yast2 network
ASCS と ERS の一時的な HAVIP を削除します。
7.5.6 ASCS または ERS の起動と停止
ASCS インスタンスまたは ERS インスタンスを起動します。
su - s4tadm
# ASCS を起動します。
sapcontrol -nr 00 -function StartService S4T
sapcontrol -nr 00 -function Start
# ERS を起動します
sapcontrol -nr 10 -function StartService S4T
sapcontrol -nr 10 -function StartASCS インスタンスまたは ERS インスタンスを停止します
su - s4tadm
# ASCS を停止します。
sapcontrol -nr 00 -function Stop
sapcontrol -nr 00 -function StopService S4T
# ERS を停止します。
sapcontrol -nr 10 -function Stop
sapcontrol -nr 10 -function StopService S4T7.5.7 HA クラスターの確認
FailoverConfig を確認します。
sapcontrol -nr 00 -function HAGetFailoverConfig
HACheckConfig を確認します。
sapcontrol -nr 00 -function HACheckConfig
HACheckFailoverConfig を確認します。
sapcontrol -nr 00 -function HACheckFailoverConfig
7.6 PAS インスタンスのインストール
PAS は HA のスイッチオーバーに関与せず、ローカルにインストールされます。SWPM インストールを開始し、PAS をローカルにインストールします。
# ./sapinst
Windows ジャンプホストのブラウザで、アクセスアドレスを入力します。
https://s4app1:4237/sapinst/docs/index.html
ルートユーザーとパスワードを使用してログインします。ホスト名の解決とポートがアクセス可能であることを確認します。
インスタンス番号を入力します。
sld を登録しない場合は、後で登録できます。
メッセージサーバーの ACL を作成するかどうかを指定します。このデプロイメントで ACL を作成しない場合は、後で作成できます。
s4app2 にローカルで AAS をインストールし、PAS をインストールするプロセスは似ています。
7.7 hdbuserstore の構成
PAS または AAS をインストールした後、hdbuserstore を構成して、PAS と AAS が HANA の HAVIP に対応する仮想ホスト名に接続されていることを確認する必要があります。
su - s4tadm
hdbuserstore set default VDBS4T:30015 SAPHANADB "pasword"
hdbuserstore list
8. 切り替えテストの実行
詳細については、「SAP システム高可用性環境メンテナンスガイド」をご参照ください。SUSE HAE の日々の管理タスクとコマンドの詳細については、「管理ガイド」をご覧ください。