具有 Windows Server 故障轉移叢集和 Azure 共用磁碟的 SAP ASCS/SCS 實例多重 SID 高可用性

Windows OS 窗戶

本文著重於如何將其他 SAP ASCS/SCS 叢集實例安裝安裝到將其他 SAP ASCS/SCS 叢集實例安裝到具有 Azure 共用磁碟的現有 Windows Server 故障轉移叢集 (WSFC) 叢集,以設定多個 SAP 系統識別符。 完成此程式時,您已設定 SAP 多重 SID 叢集。

先決條件與限制

您可以使用 Azure 進階版 SSD 磁碟作為 SAP ASCS/SCS 實例的 Azure 共用磁碟。 目前有下列限制:

如需詳細資訊,請檢閱 Azure 共用磁碟檔的限制一節。

進階版 SSD 共用磁碟的重要考慮

請考慮下列有關 Azure 進階版 SSD 共用磁碟的要點:

  • 進階版 SSD 共用磁碟的 LRS:

    • 使用適用於 進階版 SSD 共用磁碟的 LRS 部署,可在一個記憶體叢集上使用單一 Azure 共用磁碟運作。 如果部署 Azure 共用磁碟的記憶體叢集發生問題,它會影響您的 SAP ASCS/SCS 實例。
  • 進階版 SSD 共用磁碟的 ZRS:

    • ZRS 的寫入延遲高於 LRS 的延遲,因為跨區域複製數據。
    • 不同區域的可用性區域之間的距離會有所不同,而且跨可用性區域的 ZRS 磁碟延遲也是如此。 對磁碟 進行效能評定,以識別您區域中 ZRS 磁碟的延遲。
    • 進階版 SSD 共用磁碟的 ZRS 會同步復寫區域中三個可用性區域的數據。 如果其中一個記憶體叢集中發生問題,您的 SAP ASCS/SCS 實例會繼續執行,因為對應用層而言,記憶體故障轉移是透明的。
    • 如需詳細資訊,請參閱 受控磁碟 ZRS 相關文件的<限制 >一節。

重要

安裝程式必須符合下列條件:

  • 每個資料庫管理系統的 SID 都必須有自己的專用 WSFC 叢集。
  • 屬於一個 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位址。 此外,您不需要在 Azure 內部負載平衡器上設定 IP 位址。

架構

多重 SID 組態支援 ERS1 和 ERS2。 相同叢集中不支援混合 ERS1 和ERS2。

下列範例顯示兩個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 內部負載平衡器上設定的。

Diagram of two high-availability SAP ASCS/SCS instances with an ERS1 configuration.

下一個範例也會顯示兩個 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位址:

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

Diagram of two high-availability SAP ASCS/SCS instances with an ERS1 and ERS2 configuration.

基礎結構準備

除了現有的叢集 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
第二個叢集節點 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
第二個叢集節點 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 不適用

本文中的步驟對於這兩種部署類型都保持不變。 但是,如果您的叢集是在可用性設定組中執行,您必須為 Azure 進階版 SSD 共用磁碟部署 LRS(Premium_LRS)。 如果您的叢集是在可用性區域中執行,您必須為 Azure 進階版 SSD 共用磁碟部署 ZRS(Premium_ZRS)。

建立 Azure 內部負載平衡器

針對 SAP SID、PR2 的多 Sid 組態,您可以使用針對 SAP SID、PR1 系統所建立的相同內部負載平衡器。 針對 Windows 上的 ENSA1 架構,您只需要 SAP ASCS/SCS 的一個虛擬 IP 位址。 另一方面,ENSA2 架構需要兩個虛擬IP位址,一個用於SAP ASCS,另一個用於ERS2。

使用下列指導方針,在現有負載平衡器上設定SAP SID、PR2 系統的其他前端IP和負載平衡規則。 本節假設 SAP SID 的標準內部負載平衡器設定已就緒,如建立負載平衡器中所述

  1. 開啟您為 SAP SID、PR1 系統建立的相同標準內部負載平衡器。
  2. 前端IP組態: 建立前端IP(例如:10.0.0.0.45)。
  3. 後端集區: 後端集區與 SAP SID PR1 系統相同。
  4. 輸入規則: 建立負載平衡規則。
    • 前端IP位址:選取前端IP
    • 後端集區:選取後端集區
    • 檢查「高可用性埠」
    • 通訊協定:TCP
    • 健康情況探查:使用下列詳細數據建立健康情況探查
      • 通訊協定:TCP
      • 埠:[例如:620<實例否。> 適用於 SAP SID,PR2 ASCS]
      • 間隔:5
      • 探查臨界值:2
    • 閑置逾時(分鐘):30
    • 檢查 [啟用浮動 IP]
  5. 僅適用於 ENSA2 架構:建立額外的前端 IP(10.0.0.44)、負載平衡規則(針對 ERS2 健康情況探查埠使用 621<實例否> ),如第 1 點和 3 中所述。

注意

健康情況探查組態屬性 numberOfProbes,否則在入口網站中稱為「狀況不良閾值」,則不會受到尊重。 因此,若要控制連續探查成功或失敗的數目,請將屬性 “probeThreshold” 設定為 2。 目前無法使用 Azure 入口網站 來設定此屬性,因此請使用 Azure CLIPowerShell 命令。

重要

負載平衡案例中的網路適配器 (NIC) 次要IP組態不支援浮動IP位址。 如需詳細資訊,請參閱 Azure Load Balancer 限制。 如果您需要 VM 的另一個 IP 位址,請部署第二個 NIC。

注意

當沒有公用IP位址的VM放在內部(無公用IP位址)標準 Azure 負載平衡器的後端集區時,除非您執行其他設定以允許路由傳送至公用端點,否則不會有輸出因特網連線能力。 如需如何達成輸出連線的詳細資訊,請參閱 SAP 高可用性案例中使用 Azure Standard Load Balancer 的虛擬機公用端點連線。

建立並連結第二個 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 位址相同。

    Screenshot that shows options for defining a DNS entry for the SAP ASCS/SCS cluster virtual name and IP address.

  2. 如果您使用 SAP ERS2 的叢集實例,則必須在 DNS 中保留 ERS2 的虛擬主機名。

    您指派給 DNS 中 ERS2 虛擬主機名的 IP 位址必須與您在 Azure Load Balancer 中指派的 IP 位址相同。

    Screenshot that shows options for defining a DNS entry for the SAP ERS2 cluster virtual name and IP address.

  3. 若要定義指派給虛擬主機名的IP位址,請選取 [DNS 管理員>網域]。

    Screenshot that shows a new virtual name and IP address for SAP ASCS/SCS and ERS2 cluster configuration.

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 內部負載平衡器通常會在參與的虛擬機之間平均分配傳入工作負載。

不過,這種方法無法在某些叢集組態中運作,因為只有一個實例作用中。 另一個實例是被動的,無法接受任何工作負載。 當 Azure 內部負載平衡器偵測到哪一個實例為作用中,且只以作用中實例為目標時,探查功能會有所説明。

重要

在此範例組態中,探查埠會設定為 620nr。 對於實例編號為 02 的 SAP ASCS,其為 62002。

您必須調整組態,以符合您的 SAP 實例號碼和 SAP SID。

若要新增探查埠,請在其中一個叢集 VM 上執行此 PowerShell 模組:

  • 如果您使用 SAP ASC/SCS 搭配實例號碼 02:

    Set-AzureLoadBalancerHealthCheckProbePortOnSAPClusterIPResource -SAPSID PR2 -ProbePort 62002
    
  • 如果您使用 ERS2 搭配實例號碼 12,請設定探查埠。 不需要設定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 安裝指南中所述的步驟,在第二個叢集節點上安裝 SAP。

  3. 在指定裝載 PAS 的虛擬機上安裝 SAP 主要應用程式伺服器 (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 入口網站 重新啟動叢集節點 A。 此步驟會起始從節點 A 到節點 B 的 SAP <SID> 叢集群組自動故障轉移。

  4. 使用 Azure PowerShell 重新啟動叢集節點 A。 此步驟會起始從節點 A 到節點 B 的 SAP <SID> 叢集群組自動故障轉移。

下一步