Azure での Windows Server フェールオーバー クラスタリングとファイル共有による SAP ASCS/SCS インスタンスのマルチ SID 高可用性
Windows
Azure 内部ロード バランサーを使用して、複数の仮想 IP アドレスを管理できます。
SAP がデプロイされている場合は、内部ロード バランサーを使って SAP Central Services (ASCS/SCS) インスタンスの Windows クラスター構成を作成できます。
この記事では、SAP ASCS/SCS のクラスター化された追加インスタンスを、ファイル共有を備えた既存の Windows Server フェールオーバー クラスタリング (WSFC) クラスターにインストールすることにより、1 つの ASCS/SCS インストールから SAP マルチ SID 構成に移行する方法について取り上げます。 このプロセスが完了したら、SAP マルチ SID クラスターの構成は完了です。
Note
この機能は、Azure Resource Manager デプロイ モデルでのみ使用できます。
Azure 内部ロード バランサーごとにプライベート フロントエンド IP の数に制限があります。
1 つの WSFC クラスターにおける SAP ASCS/SCS インスタンスの最大数は、Azure 内部ロード バランサーあたりのプライベート フロントエンド IP の最大数と等しくなります。
このドキュメントで紹介されている構成を Azure Availability Zones で使用することはまだサポートされていません
ロード バランサーの制限の詳細については、ネットワークの制限:Azure Resource Manager。 Azure Load Balancer の Basic SKU の代わりに、Azure Standard Load Balancer SKU を使用することも検討してください。
前提条件
次の図に示すように、ファイル共有を使って 1 つの SAP ASCS/SCS インスタンスに使う WSFC クラスターを構成済みであることが必要です。
図 1: 2 つのクラスターにデプロイされた SAP ASCS/SCS インスタンスと SOFS
重要
セットアップは次の条件を満たしている必要があります。
- SAP ASCS/SCS インスタンスは同じ WSFC クラスターを共有している必要があります。
- 異なる SAP SID に属する別の SAP Global Hosts ファイル共有は、同じ SOFS クラスターを共有する必要があります。
- SAP ASCS/SCS インスタンスと SOFS 共有は、同じクラスター内で組み合わせることができません。
- 各データベース管理システム (DBMS) SID には、独自の専用 WSFC クラスターが必要です。
- 1 つの SAP システム SID に属する SAP アプリケーション サーバーは、独自の専用 VM を持っている必要があります。
- エンキュー レプリケーション サーバー 1 とエンキュー レプリケーション サーバー 2 を同じクラスター上に配置することは、サポートされていません。
ファイル共有を使用した SAP ASCS/SCS マルチ SID アーキテクチャ
次の例のように、複数の SAP Advanced Business Application Programming (ASCS) または SAP Java (SCS) クラスター化インスタンスを同じ WSFC クラスター内にインストールすることが目標です。
図 2: 2 つのクラスターの SAP マルチ SID 構成
追加の SAP <SID2> システムのインストールは、1 つの <SID> システムのインストールと同じです。 ASCS/SCS クラスターとファイル共有 SOFS クラスターでは、さらに 2 つの準備手順が必要です。
SAP マルチ SID シナリオのインフラストラクチャを準備する
ドメイン コントローラーでインフラストラクチャを準備する
<Domain>\SAP_<SID2>_GlobalAdmin というドメイン グループを作成します。例として、 <SID2> を PR2 にします。 ドメイン グループ名は <Domain>\SAP_PR2_GlobalAdmin となります。
ASCS/SCS クラスターでインフラストラクチャを準備する
第 2 の SAP <SID> 用に既存の ASCS/SCS クラスターでインフラストラクチャを準備する必要があります。
- DNS サーバーのクラスター化された SAP ASCS/SCS インスタンスの仮想ホスト名を作成します。
- PowerShell を使って既存の Azure 内部ロード バランサーに IP アドレスを追加します。
これらの手順については、SAP マルチ SID シナリオ用のインフラストラクチャの準備に関するページをご覧ください。
既存の SAP グローバル ホストを使って SOFS クラスターでインフラストラクチャを準備する
最初の SAP <SID1> システムの既存の <SAPGlobalHost> と Volume1 を再利用できます。
図 3: マルチ SID の SOFS は SAP グローバル ホスト名と同じ
重要
2 つ目の SAP <SID2> システムには、同じ Volume1 と同じ <SAPGlobalHost> ネットワーク名を使います。 さまざまな SAP システム用の共有名として SAPMNT を既に設定してあるため、<SAPGlobalHost> ネットワーク名を再利用するには、同じ Volume1 を使う必要があります。
<SID2> グローバル ホストのファイル パスは、C:\ClusterStorage\Volume1\usr\sap<SID2>\SYS です。
<SID2> システムの場合は、SAP グローバル ホスト ..\SYS.. フォルダーを SOFS クラスターに準備する必要があります。
<SID2> インスタンスの SAP グローバル ホストを準備するには、次の PowerShell スクリプトを実行します。
##################
# SAP multi-SID
##################
$SAPSID2 = "PR2"
$DomainName2 = "SAPCLUSTER"
$SAPSIDGlobalAdminGroupName2 = "$DomainName2\SAP_" + $SAPSID2 + "_GlobalAdmin"
# SAP ASCS/SCS cluster nodes
$ASCSCluster2Node1 = "ja1-ascs-0"
$ASCSCluster2Node2 = "ja1-ascs-1"
# Define the SAP ASCS/SCS cluster node computer objects
$ASCSCluster2ObjectNode1 = "$DomainName2\$ASCSCluster2Node1$"
$ASCSCluster2ObjectNode2 = "$DomainName2\$ASCSCluster2Node2$"
# Create usr\sap\.. folders on CSV
$SAPGlobalFolder2 = "C:\ClusterStorage\Volume1\usr\sap\$SAPSID2\SYS"
New-Item -Path $SAPGlobalFolder2 -ItemType Directory
# Add permissions for the SAP SID2 system
Grant-SmbShareAccess -Name sapmnt -AccountName $SAPSIDGlobalAdminGroupName2, $ASCSCluster2ObjectNode1, $ASCSCluster2ObjectNode2 -AccessRight Full -Force
$UsrSAPFolder = "C:\ClusterStorage\Volume1\usr\sap\"
# Set file and folder security
$Acl = Get-Acl $UsrSAPFolder
# Add the security object of the SAP_<sid>_GlobalAdmin group
$Ar = New-Object system.security.accesscontrol.filesystemaccessrule($SAPSIDGlobalAdminGroupName2,"FullControl", 'ContainerInherit,ObjectInherit', 'None', 'Allow')
$Acl.SetAccessRule($Ar)
# Add the security object of the clusternode1$ computer object
$Ar = New-Object system.security.accesscontrol.filesystemaccessrule($ASCSCluster2ObjectNode1,"FullControl",'ContainerInherit,ObjectInherit', 'None', 'Allow')
$Acl.SetAccessRule($Ar)
# Add the security object of the clusternode2$ computer object
$Ar = New-Object system.security.accesscontrol.filesystemaccessrule($ASCSCluster2ObjectNode2,"FullControl",'ContainerInherit,ObjectInherit', 'None', 'Allow')
$Acl.SetAccessRule($Ar)
# Set security
Set-Acl $UsrSAPFolder $Acl -Verbose
異なる SAP グローバル ホストを使って SOFS クラスターでインフラストラクチャを準備する
2 つ目の SOFS を構成できます (たとえば、2 つ目の SOFS クラスター ロールを <SAPGlobalHost2> に設定し、2 つ目の <SID2> に異なる Voulme2 を設定します)。
図 4: マルチ SID の SOFS は SAP グローバル ホスト名 2 と同じ
<SAPGlobalHost2> で 2 つ目の SOFS ロールを作成するには、次の PowerShell スクリプトを実行します。
# Create SOFS with SAP Global Host Name 2
$SAPGlobalHostName = "sapglobal2"
Add-ClusterScaleOutFileServerRole -Name $SAPGlobalHostName
2 つ目の Volume2 を作成します。 次の PowerShell スクリプトを実行します。
New-Volume -StoragePoolFriendlyName S2D* -FriendlyName SAPPR2 -FileSystem CSVFS_ReFS -Size 5GB -ResiliencySettingName Mirror
図 5: フェールオーバー クラスター マネージャーでの 2 つ目の Volume2
2 つ目の <SID2> の SAP グローバル フォルダーを作成して、ファイル セキュリティを設定します。
次の PowerShell スクリプトを実行します。
# Create a folder for <SID2> on a second Volume2 and set file security
$SAPSID = "PR2"
$DomainName = "SAPCLUSTER"
$SAPSIDGlobalAdminGroupName = "$DomainName\SAP_" + $SAPSID + "_GlobalAdmin"
# SAP ASCS/SCS cluster nodes
$ASCSClusterNode1 = "ascs-1"
$ASCSClusterNode2 = "ascs-2"
# Define SAP ASCS/SCS cluster node computer objects
$ASCSClusterObjectNode1 = "$DomainName\$ASCSClusterNode1$"
$ASCSClusterObjectNode2 = "$DomainName\$ASCSClusterNode2$"
# Create usr\sap\.. folders on CSV
$SAPGlobalFolder = "C:\ClusterStorage\Volume2\usr\sap\$SAPSID\SYS"
New-Item -Path $SAPGlobalFOlder -ItemType Directory
$UsrSAPFolder = "C:\ClusterStorage\Volume2\usr\sap\"
# Set file and folder security
$Acl = Get-Acl $UsrSAPFolder
# Add the file security object of the SAP_<sid>_GlobalAdmin group
$Ar = New-Object system.security.accesscontrol.filesystemaccessrule($SAPSIDGlobalAdminGroupName,"FullControl", 'ContainerInherit,ObjectInherit', 'None', 'Allow')
$Acl.SetAccessRule($Ar)
# Add the security object of the clusternode1$ computer object
$Ar = New-Object system.security.accesscontrol.filesystemaccessrule($ASCSClusterObjectNode1,"FullControl",'ContainerInherit,ObjectInherit', 'None', 'Allow')
$Acl.SetAccessRule($Ar)
# Add the security object of the clusternode2$ computer object
$Ar = New-Object system.security.accesscontrol.filesystemaccessrule($ASCSClusterObjectNode2,"FullControl",'ContainerInherit,ObjectInherit', 'None', 'Allow')
$Acl.SetAccessRule($Ar)
# Set security
Set-Acl $UsrSAPFolder $Acl -Verbose
2 つ目の SAP <SID2> 用として、ホスト名 <SAPGlobalHost2> を使用して Volume2 に SAPMNT ファイル共有を作成するには、フェールオーバー クラスター マネージャーで [ファイル共有の追加] ウィザードを開始します。
saoglobal2 SOFS クラスター グループを右クリックして、 [ファイル共有の追加] を選びます。
図 6: “ファイル共有の追加” ウィザードを起動する
図 7: [SMB 共有 - 簡易] を選ぶ
図 8: "sapglobalhost2" を選んで Volume2 のパスを指定する
図 9: ファイルの共有名を "sapmnt" に設定する
図 10: すべての設定を無効にする
ファイルと sapmnt 共有に対するフル コントロール アクセス許可を以下に割り当てます。
- SAP_<SID>_GlobalAdmin ドメイン ユーザー グループ
- ASCS/SCS クラスター ノード ascs-1$ および ascs-2$ のコンピューター オブジェクト
図 11: ユーザー グループとコンピューター アカウントに "フル コントロール" を割り当てる
図 12: [作成] を選ぶ
図 13: sapglobal2 ホストと Volume2 にバインドされた 2 つ目の sapmnt が作成される
SAP NetWeaver マルチ SID をインストールする
SAP <SID2> ASCS/SCS インスタンスと ERS インスタンスをインストールする
1 つの SAP <SID> について前に説明したものと同じインストール手順と構成手順に従います。
DBMS および SAP アプリケーション サーバーをインストールする
DBMS と SAP アプリケーション サーバーを、既に説明したとおりにインストールします。
次のステップ
[共有ディスクなしでフェールオーバー クラスターに ASCS/SCS インスタンスをインストールする][sap-official-ha-file-share-document]: HA ファイル共有に関する SAP の公式ガイドライン