次の方法で共有


Windows Server フェールオーバー クラスタリングと Azure 共有ディスクを使用した SAP ASCS/SCS インスタンスのマルチ SID 高可用性

Windows OS Windows

この記事では、追加の SAP ASCS/SCS クラスター化インスタンスを、Azure 共有ディスクを持つ既存の Windows Server フェールオーバー クラスタリング (WSFC) クラスターにインストールすることによって、単一の SAP ASCS/SCS インストールから複数の SAP システム ID (SID) 構成に移行する方法について説明します。 このプロセスが完了したら、SAP マルチ SID クラスターの構成は完了です。

前提条件と制限事項

SAP ASCS/SCS インスタンスの Azure 共有ディスクとして Azure Premium SSD ディスクを使用できます。 次の制限事項が現在適用されます。

  • Azure Ultra Disk Storage ディスクAzure Standard SSD ディスクは、SAP ワークロード用の Azure 共有ディスクとしてサポートされていません。
  • Premium SSD ディスクを使用した Azure 共有ディスクは、可用性セットおよび可用性ゾーン内の SAP のデプロイに対してサポートされています。
  • Premium SSD ディスクを使用する Azure 共有ディスクには、次の 2 つのストレージ オプションが付属しています。
    • Premium SSD 共有ディスク (Premium_LRSskuName 値) 用のローカル冗長ストレージ (LRS) は、可用性セット内のデプロイでサポートされています。
    • Premium SSD 共有ディスク用のゾーン冗長ストレージ (Premium_ZRSskuName 値) は、可用性ゾーン内のデプロイでサポートされています。
  • Azure 共有ディスクの値 maxShares によって、その共有ディスクを使用できるクラスター ノードの数が決まります。 SAP ASCS/SCS インスタンスでは、通常 WSFC に 2 つのノードを構成します。 次に、maxShares の値を 2 に設定します。
  • Azure 近接配置グループ (PPG) は Azure 共有ディスクには必要ありません。 ただし、PPG を使用した SAP デプロイの場合、以下のガイドラインに従ってください。
    • リージョンにデプロイされた SAP システムに対して PPG を使用する場合、ディスクを共有するすべての仮想マシンが同じ PPG に含まれている必要があります。
    • ゾーン展開を使用した近接配置グループ」で説明されているように、ゾーン間にデプロイされた SAP システムに対して PPG を使用する場合は、ディスクを共有する仮想マシンに Premium_ZRS ストレージをアタッチできます。

詳細については、Azure 共有ディスクのドキュメントの制限事項セクションを確認してください。

Premium SSD 共有ディスクに関する重要な考慮事項

Azure Premium SSD 共有ディスクに関して、次の重要な点を考慮してください。

  • Premium SSD 共有ディスクのための LRS:

    • Premium SSD 共有ディスク用の LRS を使用した SAP のデプロイは、1 つのストレージ クラスター上の 1 つの Azure 共有ディスクで動作します。 Azure 共有ディスクがデプロイされているストレージ クラスターで問題が発生した場合、SAP ASCS/SCS インスタンスは影響を受けます。
  • Premium SSD 共有ディスクのための ZRS:

    • ZRS の書き込み待機時間は、ゾーンをまたいでデータがコピーされるため、LRS より長くなります。
    • 異なるリージョンの可用性ゾーン間の距離はさまざまなので、可用性ゾーン間の ZRS ディスクの待機時間もさまざまです。 ディスクのベンチマークを行って、お使いのリージョンでの ZRS ディスクの待機時間を確認してください。
    • Premium SSD 共有ディスクの ZRS によって、リージョン内の 3 つの可用性ゾーンの間でデータが同期的にレプリケートされます。 ストレージ クラスターのいずれかで問題が発生した場合、ストレージのフェールオーバーはアプリケーション レイヤーに対して透過的に行われるため、SAP ASCS/SCS インスタンスは動作し続けます。
    • 詳細については、マネージド ディスク用 ZRS に関するドキュメントの制限事項セクションを確認してください。

重要

セットアップは次の条件を満たしている必要があります。

  • 各データベース管理システム (DBMS) の SID には、独自の専用 WSFC クラスターが必要です。
  • 1 つの SAP SID に属する SAP アプリケーション サーバーは、独自の専用仮想マシン (VM) を持っている必要があります。
  • エンキュー レプリケーション サーバー 1 (ERS1) とエンキュー レプリケーション サーバー 2 (ERS2) を同じクラスター内に混在させることは、サポートされていません。

サポートされている OS のバージョン

Windows Server 2016、2019、およびそれ以降のバージョンがサポートされています。 最新のデータセンター イメージを使用します。

次の理由から、Windows Server 2019 Datacenter 以降を使用することを強くお勧めします。

  • Windows Server 2019 の WSFC では Azure を認識しています。
  • Windows Server 2019 Datacenter には、Azure ホスト メンテナンスの統合と認識が含まれ、Azure のスケジュール イベントを監視することでエクスペリエンスが向上しました。
  • 分散ネットワーク名を使用できます。 (これは既定のオプションです。)クラスター ネットワーク名に専用の IP アドレスを設定する必要はありません。 また、この IP アドレスを Azure 内部ロード バランサーで構成する必要もありません。

アーキテクチャ

ERS1 と ERS2 はマルチ SID 構成でサポートされています。 ERS1 と ERS2 を同じクラスターに混在させることは、サポートされていません。

2 つの SAP SID を次の例に示します。 次のどちらも ERS1 アーキテクチャを採用しています。

  • SAP SID1 は共有ディスクにデプロイされ、ERS1 で使用されます。 この ERS インスタンスは、ローカル ホストとローカル ドライブにインストールされます。

    SAP SID1 には独自の仮想 IP アドレス (SID1 (A)SCS IP1) が含まれ、これは Azure 内部ロード バランサー上に構成されます。

  • SAP SID2 は共有ディスクにデプロイされ、ERS1 で使用されます。 この ERS インスタンスは、ローカル ホストとローカル ドライブにインストールされます。

    SAP SID2 には独自の仮想 IP アドレス (SID2 (A)SCS IP2) が含まれ、これは Azure 内部ロード バランサー上で構成されます。

ERS1 構成を使用した 2 つの高可用性 SAP ASCS/SCS インスタンスの図。

次の例も 2 つの SAP SID を示しています。 次のどちらも ERS2 アーキテクチャを採用しています。

  • SAP SID1 は、クラスター化され、ローカル ドライブに配置されている ERS2 を使用したシャード ディスクにデプロイされます。

    SAP SID1 には独自の仮想 IP アドレス (SID1 (A)SCS IP1) が含まれ、これは Azure 内部ロード バランサー上に構成されます。

    SAP ERS2 には独自の仮想 IP アドレス (SID1 ERS2 IP2) が含まれ、これは Azure 内部ロード バランサー上に構成されます。

  • SAP SID2 は、クラスター化され、ローカル ドライブに配置されている ERS2 を使用したシャード ディスクにデプロイされます。

    SAP SID2 には独自の仮想 IP アドレス (SID2 (A)SCS IP3) が含まれ、これは Azure 内部ロード バランサー上で構成されます。

    SAP ERS2 には独自の仮想 IP アドレス (SID2 ERS2 IP4) が含まれ、これは Azure 内部ロード バランサー上に構成されます。

  • 仮想 IP アドレスの合計は、次の 4 つになります。

    • SID1 (A)SCS IP1
    • SID2 ERS2 IP2
    • SID2 (A)SCS IP3
    • SID2 ERS2 IP4

ERS1 および ERS2 構成を使用した 2 つの高可用性 SAP ASCS/SCS インスタンスの図。

インフラストラクチャの事前準備

既存のクラスター化された SAP PR1 ASCS/SCS インスタンスに加えて、新しい SAP SID PR2 インスタンスをインストールします。

ホスト名と IP アドレス

デプロイの種類に基づいて、シナリオのホスト名と IP アドレスは次の例に示すように設定する必要があります。

Azure 可用性セットにおける SAP デプロイの詳細を次に示します。

ホスト名の役割 ホスト名 静的 IP アドレス 可用性セット ディスク SkuName の値
最初のクラスター ノードの ASCS/SCS クラスター pr1-ascs-10 10.0.0.4 pr1-ascs-avset Premium_LRS
2 番目のクラスター ノードの ASCS/SCS クラスター pr1-ascs-11 10.0.0.5 pr1-ascs-avset
クラスター ネットワーク名 pr1clust 10.0.0.42 (Windows Server 2016 クラスターの場合のみ) 適用なし
SID1 ASCS クラスターのネットワーク名 pr1-ascscl 10.0.0.43 適用なし
SID1 ERS クラスターのネットワーク名 (ERS2 の場合のみ) pr1-erscl 10.0.0.44 適用なし
SID2 ASCS クラスターのネットワーク名 pr2-ascscl 10.0.0.45 適用なし
SID2 ERS クラスターのネットワーク名 (ERS2 の場合のみ) pr1-erscl 10.0.0.46 適用なし

Azure 可用性ゾーンにおける SAP デプロイの詳細を次に示します。

ホスト名の役割 ホスト名 静的 IP アドレス 可用性ゾーン ディスク SkuName の値
最初のクラスター ノードの ASCS/SCS クラスター pr1-ascs-10 10.0.0.4 AZ01 Premium_ZRS
2 番目のクラスター ノードの ASCS/SCS クラスター pr1-ascs-11 10.0.0.5 AZ02
クラスター ネットワーク名 pr1clust 10.0.0.42 (Windows Server 2016 クラスターの場合のみ) 適用なし
SID1 ASCS クラスターのネットワーク名 pr1-ascscl 10.0.0.43 適用なし
SID2 ERS クラスターのネットワーク名 (ERS2 の場合のみ) pr1-erscl 10.0.0.44 適用なし
SID2 ASCS クラスターのネットワーク名 pr2-ascscl 10.0.0.45 適用なし
SID2 ERS クラスターのネットワーク名 (ERS2 の場合のみ) pr1-erscl 10.0.0.46 適用なし

この記事の手順は、どちらのデプロイの種類の場合も同じです。 ただし、クラスターを可用性セットで実行している場合は、LRS for Azure Premium SSD 共有ディスク (Premium_LRS) をデプロイする必要があります。 クラスターを可用性ゾーンで実行している場合は、ZRS for Azure Premium SSD 共有ディスク (Premium_ZRS) をデプロイする必要があります。

Azure 内部ロード バランサーを作成する

SAP SID、PR2 のマルチ SID 構成では、SAP SID、PR1 システム用に作成したのと同じ内部ロード バランサーを使用できます。 Windows の ENSA1 アーキテクチャでは、SAP ASCS/SCS に必要な仮想 IP アドレスは 1 つだけです。 一方、ENSA2 アーキテクチャでは、SAP ASCS と ERS2 用に 2 つの仮想 IP アドレスが必要です。

次のガイドラインに従って、既存のロード バランサー上の SAP SID、PR2 システムの追加のフロントエンド IP と負荷分散規則を構成します。 このセクションでは、ロード バランサーの作成の説明に従って、SAP SID、PR1 の標準内部ロード バランサー構成が既に設定されていることを前提としています。

  1. SAP SID、PR1 システム用に作成したものと同じ標準内部ロード バランサーを開きます。
  2. フロントエンド IP 構成: フロントエンド IP を作成します (10.0.0.45 など)。
  3. バックエンド プール: バックエンド プールは、SAP SID PR1 システムの場合と同じです。
  4. インバウンド規則: 負荷分散規則を作成します。
    • フロントエンド IP アドレス: フロントエンド IP を選択します
    • バックエンド プール: バックエンド プールを選択します
    • [High availability ports] (高可用性ポート) をオンにします
    • プロトコル: TCP
    • 正常性プローブ: 以下の詳細を使って正常性プローブを作成します
      • プロトコル: TCP
      • ポート: [例: SAP SID, PR2 ASCS の場合、620 <インスタンス番号>]
      • 間隔: 5
      • プローブしきい値: 2
    • アイドル タイムアウト (分): 30
    • [Floating IP を有効にする] をオンにします
  5. ENSA2 アーキテクチャにのみ適用: ポイント 1 と 3 で説明されているように、追加のフロントエンド IP (10.0.0.44)、負荷分散規則 (ERS2 正常性プローブ ポートに 621 <インスタンス番号>を使用) を作成します。

Note

正常性プローブ構成プロパティ numberOfProbes (ポータルでは [異常のしきい値] と呼ばれます) が順守されていません。 このため、成功または失敗した連続プローブの数を制御するには、プロパティ "probeThreshold" を 2 に設定します。 現在、このプロパティは Azure portal を使用して設定できないため、Azure CLI または PowerShell コマンドを使用してください。

Note

パブリック IP アドレスのない VM が、内部の (パブリック IP アドレスのない) Standard Azure Load Balancer のバックエンド プール内に配置されている場合、パブリック エンドポイントへのルーティングを許可するように追加の構成が実行されない限り、送信インターネット接続はありません。 送信接続を実現する方法の詳細については、「SAP の高可用性シナリオにおける Azure Standard Load Balancer を使用した Virtual Machines のパブリック エンドポイント接続」を参照してください。

2 番目の Azure 共有ディスクを作成して接続する

クラスター ノードのいずれかでこのコマンドを実行します。 リソース グループ、Azure リージョン、SAP SID などの詳細の値は適宜調整してください。

$ResourceGroupName = "MyResourceGroup"
$location = "MyRegion"
$SAPSID = "PR2"
$DiskSizeInGB = 512
$DiskName = "$($SAPSID)ASCSSharedDisk"
$NumberOfWindowsClusterNodes = 2

# For SAP deployment in an availability set, use this storage SkuName value
$SkuName = "Premium_LRS"
# For SAP deployment in an availability zone, use this storage SkuName value
$SkuName = "Premium_ZRS"

$diskConfig = New-AzDiskConfig -Location $location -SkuName $SkuName  -CreateOption Empty  -DiskSizeGB $DiskSizeInGB -MaxSharesCount $NumberOfWindowsClusterNodes
    
$dataDisk = New-AzDisk -ResourceGroupName $ResourceGroupName -DiskName $DiskName -Disk $diskConfig
##################################
## Attach the disk to cluster VMs
##################################
# ASCS cluster VM1
$ASCSClusterVM1 = "pr1-ascs-10"
# ASCS cluster VM2
$ASCSClusterVM2 = "pr1-ascs-11"
# Next free LUN
$LUNNumber = 1

# Add the Azure shared disk to Cluster Node 1
$vm = Get-AzVM -ResourceGroupName $ResourceGroupName -Name $ASCSClusterVM1 
$vm = Add-AzVMDataDisk -VM $vm -Name $DiskName -CreateOption Attach -ManagedDiskId $dataDisk.Id -Lun $LUNNumber
Update-AzVm -VM $vm -ResourceGroupName $ResourceGroupName -Verbose

# Add the Azure shared disk to Cluster Node 2
$vm = Get-AzVM -ResourceGroupName $ResourceGroupName -Name $ASCSClusterVM2
$vm = Add-AzVMDataDisk -VM $vm -Name $DiskName -CreateOption Attach -ManagedDiskId $dataDisk.Id -Lun $LUNNumber
Update-AzVm -VM $vm -ResourceGroupName $ResourceGroupName -Verbose

PowerShell を使用して共有ディスクをフォーマットする

  1. ディスク番号を取得します。 クラスター ノードのいずれかでこれらの PowerShell コマンドを実行します。

     Get-Disk | Where-Object PartitionStyle -Eq "RAW"  | Format-Table -AutoSize 
     # Example output
     # Number Friendly Name     Serial Number HealthStatus OperationalStatus Total Size Partition Style
     # ------ -------------     ------------- ------------ ----------------- ---------- ---------------
     # 3      Msft Virtual Disk               Healthy      Online                512 GB RAW            
    
    
  2. ディスクをフォーマットします。 次の例では、ディスク番号 3 です。

     # Format SAP ASCS disk number 3, with drive letter S
     $SAPSID = "PR2"
     $DiskNumber = 3
     $DriveLetter = "S"
     $DiskLabel = "$SAPSID" + "SAP"
    
     Get-Disk -Number $DiskNumber | Where-Object PartitionStyle -Eq "RAW" | Initialize-Disk -PartitionStyle GPT -PassThru |  New-Partition -DriveLetter $DriveLetter -UseMaximumSize | Format-Volume  -FileSystem ReFS -NewFileSystemLabel $DiskLabel -Force -Verbose
     # Example outout
     # DriveLetter FileSystemLabel FileSystem DriveType HealthStatus OperationalStatus SizeRemaining      Size
     # ----------- --------------- ---------- --------- ------------ ----------------- -------------      ----
     # S           PR2SAP          ReFS       Fixed     Healthy      OK                    504.98 GB 511.81 GB
    
  3. ディスクが次のクラスター ディスクとして表示されるようになったことを確認します。

     # List all disks
     Get-ClusterAvailableDisk -All
     # Example output
     # Cluster    : pr1clust
     # Id         : c469b5ad-d089-4d8f-ae4c-d834cbbde1a2
     # Name       : Cluster Disk 2
     # Number     : 3
     # Size       : 549755813888
     # Partitions : {\\?\GLOBALROOT\Device\Harddisk3\Partition2\}
    
  4. 次のクラスターにディスクを登録します。

     # Add the disk to the cluster 
     Get-ClusterAvailableDisk -All | Add-ClusterDisk
     # Example output 
     # Name           State  OwnerGroup        ResourceType 
     # ----           -----  ----------        ------------ 
     # Cluster Disk 2 Online Available Storage Physical Disk
    

クラスター化された SAP ASCS/SCS インスタンスの仮想ホスト名の作成

  1. Windows DNS マネージャーで、新しい SAP ASCS/SCS インスタンスに対して仮想ホスト名の DNS エントリを作成します。

    DNS で仮想ホスト名に割り当てる IP アドレスは、Azure Load Balancer で割り当てた IP アドレスと同じである必要があります。

    SAP ASCS/SCS クラスターの仮想名と IP アドレスの DNS エントリを定義するためのオプションを示すスクリーンショット。

  2. SAP ERS2 のクラスター化インスタンスを使用している場合は、DNS で ERS2 の仮想ホスト名を予約する必要があります。

    DNS で ERS2 の仮想ホスト名に割り当てる IP アドレスは、Azure Load Balancer で割り当てた IP アドレスと同じである必要があります。

    SAP ERS2 クラスターの仮想名と IP アドレスの DNS エントリを定義するためのオプションを示すスクリーンショット。

  3. 仮想ホスト名に割り当てる IP アドレスを定義するには、 [DNS マネージャー]>[ドメイン] の順に選択します。

    SAP ASCS/SCS および ERS2 クラスター構成の新しい仮想名と IP アドレスを示すスクリーンショット。

SAP のインストール

最初の SAP クラスター ノードのインストール

SAP の説明に従ってインストール手順を行います。 インストールを開始するオプションとして、最初のクラスター ノードを必ず選択してください。 構成オプションとして、クラスター共有ディスクを選択します。 新しく作成した共有ディスクを選択します。

ASCS/SCS インスタンスの SAP プロファイルの変更

ERS1 を実行している場合は、SAP プロファイル パラメーターenque/encni/set_so_keepaliveを追加します。 このプロファイル パラメーターにより、SAP ワーク プロセスとエンキュー サーバー間の接続が長時間にわたってアイドル状態のときに、接続が閉じられるのを防ぐことができます。 ERS2 の場合、SAP パラメーターは必要ありません。

  1. 次の ERS1 を使用する場合は、このプロファイル パラメーターを SAP ASCS/SCS インスタンス プロファイルに追加します。

    enque/encni/set_so_keepalive = true
    

    ERS1 と ERS2 の両方について、keepalive OS パラメーターが SAP ノート 1410736 の説明に従って設定されていることを確認します。

  2. SAP プロファイル パラメーターに対する変更を適用するには、SAP ASCS/SCS インスタンスを再起動します。

クラスター リソースでプローブ ポートを構成する

内部ロード バランサーのプローブ機能を使用して、クラスター全体の構成が Azure Load Balancer で動作するようにします。 通常、Azure 内部ロード バランサーは、参加している仮想マシン間に受信ワークロードを均等に分散させます。

ただし、アクティブなインスタンスが 1 つだけであるため、この方法は一部のクラスター構成では動作しません。 他のインスタンスはパッシブであり、ワークロードを受け付けることができません。 プローブ機能は、Azure の内部ロード バランサーによってアクティブなインスタンスが検出され、アクティブなインスタンスのみが対象とされる場合に役立ちます。

重要

この構成例では、プローブ ポートは 620nr に設定されます。 インスタンス番号が 02 の SAP ASCS の場合は、62002 です。

SAP インスタンス番号と SAP SID に合わせて構成を調整する必要があります。

プローブ ポートを追加するには、次のいずれかのクラスター VM でこの PowerShell モジュールを実行します。

  • インスタンス番号が 02 の SAP ASC/SCS を使用している場合は、次のようになります。

    Set-AzureLoadBalancerHealthCheckProbePortOnSAPClusterIPResource -SAPSID PR2 -ProbePort 62002
    
  • インスタンス番号が 12 の ERS2 を使用している場合は、プローブ ポートを構成します。 ERS1 にプローブ ポートを構成する必要はありません。 インスタンス番号が 12 の ERS2 はクラスター化されていますが、ERS1 はクラスター化されていません。

    Set-AzureLoadBalancerHealthCheckProbePortOnSAPClusterIPResource -SAPSID PR2 -ProbePort 62012 -IsSAPERSClusteredInstance $True
    

関数 Set-AzureLoadBalancerHealthCheckProbePortOnSAPClusterIPResource のコードは次の例のようになります。

 function Set-AzureLoadBalancerHealthCheckProbePortOnSAPClusterIPResource {
 <#
 .SYNOPSIS 
 Set-AzureLoadBalancerHealthProbePortOnSAPClusterIPResource will set a new Azure Load Balancer health probe port on the SAP $SAPSID IP cluster resource.
    
 .DESCRIPTION
 Set-AzureLoadBalancerHealthProbePortOnSAPClusterIPResource will set a new Azure Load Balancer health probe port on the SAP $SAPSID IP cluster resource.
 It will also restart the SAP cluster group (default behavior), to activate the changes. 
    
 You need to run it on one of the SAP ASCS/SCS Windows cluster nodes.
    
 The expectation is that the SAP group is installed with the official SWPM installation tool, which will set the default expected naming convention for:
 - SAP cluster group:               SAP $SAPSID
 - SAP cluster IP address resource: SAP $SAPSID IP 
    
 .PARAMETER SAPSID 
 SAP SID - three characters, starting with a letter.
    
 .PARAMETER ProbePort 
 Azure Load Balancer health check probe port.
    
 .PARAMETER RestartSAPClusterGroup 
 Optional parameter. Default value is $True, so the SAP cluster group will be restarted to activate the changes.
    
 .PARAMETER IsSAPERSClusteredInstance 
 Optional parameter. Default value is $False.
 If it's set to $True, then handle the clustered new SAP ERS2 instance.
    
    
 .EXAMPLE 
 # Set the probe port to 62000 on SAP cluster resource SAP AB1 IP, and restart the SAP cluster group SAP AB1 to activate the changes.
 Set-AzureLoadBalancerHealthCheckProbePortOnSAPClusterIPResource -SAPSID AB1 -ProbePort 62000 
    
 .EXAMPLE 
 # Set the probe port to 62000 on SAP cluster resource SAP AB1 IP. SAP cluster group SAP AB1 is not restarted, so the changes are not active.
 # To activate the changes, you need to manually restart the SAP AB1 cluster group.
 Set-AzureLoadBalancerHealthCheckProbePortOnSAPClusterIPResource -SAPSID AB1 -ProbePort 62000 -RestartSAPClusterGroup $False
    
 .EXAMPLE 
 # Set the probe port to 62001 on SAP cluster resource SAP AB1 ERS IP. SAP cluster group SAP AB1 ERS is restarted to activate the changes.
 Set-AzureLoadBalancerHealthCheckProbePortOnSAPClusterIPResource -SAPSID AB1 -ProbePort 62000 -IsSAPERSClusteredInstance $True
        
 #> 
    
     [CmdletBinding()]
     param(
            
         [Parameter(Mandatory=$True)]
         [ValidateNotNullOrEmpty()]  
         [ValidateLength(3,3)]      
         [string]$SAPSID,

         [Parameter(Mandatory=$True)]
         [ValidateNotNullOrEmpty()]        
         [int] $ProbePort,
    
         [Parameter(Mandatory=$False)] 
         [bool] $RestartSAPClusterGroup = $True,
    
         [Parameter(Mandatory=$False)] 
         [bool] $IsSAPERSClusteredInstance = $False
      
     )
  
     BEGIN{}
        
     PROCESS{
         try{                                      
                
             if($IsSAPERSClusteredInstance){
                 #Handle clustered SAP ERS instance
                 $SAPClusterRoleName = "SAP $SAPSID ERS"
                 $SAPIPresourceName = "SAP $SAPSID ERS IP"            
             }else{
                 #Handle clustered SAP ASCS/SCS instance
                 $SAPClusterRoleName = "SAP $SAPSID"
                 $SAPIPresourceName = "SAP $SAPSID IP"
             }

             $SAPIPResourceClusterParameters =  Get-ClusterResource $SAPIPresourceName | Get-ClusterParameter
             $IPAddress = ($SAPIPResourceClusterParameters | Where-Object {$_.Name -eq "Address" }).Value
             $NetworkName = ($SAPIPResourceClusterParameters | Where-Object {$_.Name -eq "Network" }).Value
             $SubnetMask = ($SAPIPResourceClusterParameters | Where-Object {$_.Name -eq "SubnetMask" }).Value
             $OverrideAddressMatch = ($SAPIPResourceClusterParameters | Where-Object {$_.Name -eq "OverrideAddressMatch" }).Value
             $EnableDhcp = ($SAPIPResourceClusterParameters | Where-Object {$_.Name -eq "EnableDhcp" }).Value
             $OldProbePort = ($SAPIPResourceClusterParameters | Where-Object {$_.Name -eq "ProbePort" }).Value
    
             $var = Get-ClusterResource | Where-Object {  $_.name -eq $SAPIPresourceName  }
    
             #Write-Host "Current configuration parameters for SAP IP cluster resource '$SAPIPresourceName' are:" -ForegroundColor Cyan
             Write-Output "Current configuration parameters for SAP IP cluster resource '$SAPIPresourceName' are:" 
   
             Get-ClusterResource -Name $SAPIPresourceName | Get-ClusterParameter
    
             Write-Output " "
             Write-Output "Current probe port property of the SAP cluster resource '$SAPIPresourceName' is '$OldProbePort'." 
             Write-Output " "
             Write-Output "Setting the new probe port property of the SAP cluster resource '$SAPIPresourceName' to '$ProbePort' ..." 
             Write-Output " "
    
             $var | Set-ClusterParameter -Multiple @{"Address"=$IPAddress;"ProbePort"=$ProbePort;"Subnetmask"=$SubnetMask;"Network"=$NetworkName;"OverrideAddressMatch"=$OverrideAddressMatch;"EnableDhcp"=$EnableDhcp}
    
             Write-Output " "
    
             #$ActivateChanges = Read-Host "Do you want to take restart SAP cluster role '$SAPClusterRoleName', to activate the changes (yes/no)?"
    
             if($RestartSAPClusterGroup){
                 Write-Output ""
                 Write-Output "Activating changes..." 
    
                 Write-Output " "
                 Write-Output "Taking SAP cluster IP resource '$SAPIPresourceName' offline ..."
                 Stop-ClusterResource -Name $SAPIPresourceName
                 sleep 5
    
                 Write-Output "Starting SAP cluster role '$SAPClusterRoleName' ..."
                 Start-ClusterGroup -Name $SAPClusterRoleName
    
                 Write-Output "New ProbePort parameter is active." 
                 Write-Output " "
    
                 Write-Output "New configuration parameters for SAP IP cluster resource '$SAPIPresourceName':" 
                 Write-Output " " 
                 Get-ClusterResource -Name $SAPIPresourceName | Get-ClusterParameter
             }else
             {
                 Write-Output "SAP cluster role '$SAPClusterRoleName' is not restarted, therefore changes are not activated."
             }
         }
         catch{
            Write-Error  $_.Exception.Message
        }
    
     }
    
     END {}
 }

SAP のインストールを続行する

  1. SAP インストール ガイドに記載されている手順に従って、データベース インスタンスをインストールします。

  2. SAP インストール ガイドに記載されている手順に従って、2 番目のクラスター ノードに SAP をインストールします。

  3. SAP プライマリ アプリケーション サーバー (PAS) のインスタンスを、PAS のホストとして指定した仮想マシンにインストールします。

    SAP インストール ガイドに記載されている手順に従います。 Azure に対する依存関係はありません。

  4. 追加の SAP アプリケーション サーバーを、SAP アプリケーション サーバー インスタンスのホストとして指定した仮想マシンにインストールします。

    SAP インストール ガイドに記載されている手順に従います。 Azure に対する依存関係はありません。

SAP ASCS/SCS インスタンス フェールオーバーをテストする

このフェールオーバー テストの概要では、SAP ASCS がノード A でアクティブであることを前提としています。

  1. SAP システムがノード A からノード B に正常にフェールオーバーできることを確認します。この例では、SAP SID PR2 に対してテストが行われます。

    各 SAP SID が他のクラスター ノードに正常に移動できることを確認します。 次のいずれかの方法を選んで、クラスター ノード A からクラスター ノード B への SAP <SID> クラスター グループのフェールオーバーを開始します。

    • フェールオーバー クラスター マネージャー
    • フェイルオーバー クラスター用の PowerShell コマンド
    $SAPSID = "PR2"     # SAP <SID>
    
    $SAPClusterGroup = "SAP $SAPSID"
    Move-ClusterGroup -Name $SAPClusterGroup
    
    
  2. Windows ゲスト オペレーティング システムでクラスター ノード A を再起動します。 この手順により、ノード A からノード B への SAP <SID> クラスター グループの自動フェールオーバーが開始されます。

  3. Azure Portal からクラスター ノード A を再起動します。 この手順により、ノード A からノード B への SAP <SID> クラスター グループの自動フェールオーバーが開始されます。

  4. Azure PowerShell を使ってクラスター ノード A を再起動します。 この手順により、ノード A からノード B への SAP <SID> クラスター グループの自動フェールオーバーが開始されます。

次のステップ