Azure での Windows Server フェールオーバー クラスタリングとファイル共有による SAP ASCS/SCS インスタンスのマルチ SID 高可用性

Windows OS 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

図 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 構成

図 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 グローバル ホスト名と同じ

図 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 と同じ

図 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

図 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: “ファイル共有の追加” ウィザードを起動する

図 6: “ファイル共有の追加” ウィザードを起動する


図 7:[SMB 共有 - 簡易] を選ぶ

図 7: [SMB 共有 - 簡易] を選ぶ


図 8:

図 8: "sapglobalhost2" を選んで Volume2 のパスを指定する


図 9:ファイルの共有名を

図 9: ファイルの共有名を "sapmnt" に設定する


図 10:すべての設定を無効にする

図 10: すべての設定を無効にする


ファイルと sapmnt 共有に対するフル コントロール アクセス許可を以下に割り当てます。

  • SAP_<SID>_GlobalAdmin ドメイン ユーザー グループ
  • ASCS/SCS クラスター ノード ascs-1$ および ascs-2$ のコンピューター オブジェクト

図 11:ユーザー グループとコンピューター アカウントにフル コントロール アクセス許可を割り当てる

図 11: ユーザー グループとコンピューター アカウントに "フル コントロール" を割り当てる


図 12:[作成] を選択する

図 12: [作成] を選ぶ


図 13:sapglobal2 ホストと Volume2 にバインドされた 2 つ目の sapmnt が作成される

図 13: sapglobal2 ホストと Volume2 にバインドされた 2 つ目の sapmnt が作成される


SAP NetWeaver マルチ SID をインストールする

SAP <SID2> ASCS/SCS インスタンスと ERS インスタンスをインストールする

1 つの SAP <SID> について前に説明したものと同じインストール手順と構成手順に従います。

DBMS および SAP アプリケーション サーバーをインストールする

DBMS と SAP アプリケーション サーバーを、既に説明したとおりにインストールします。

次のステップ