Ketersediaan tinggi multi-SID instans SAP ASCS/SCS dengan Pengklusteran Failover Windows Server dan disk bersama Azure

Windows OS Windows

Artikel ini berfokus pada cara berpindah dari satu penginstalan SAP ASCS/SCS ke konfigurasi beberapa ID sistem SAP (SID) dengan menginstal instans terkluster SAP ASCS/SCS tambahan ke kluster Windows Server Failover Clustering (WSFC) yang ada dengan disk bersama Azure. Ketika Anda menyelesaikan proses ini, Anda telah mengonfigurasi kluster multi-SID SAP.

Prasyarat dan batasan

Anda dapat menggunakan disk Azure Premium SSD sebagai disk bersama Azure untuk instans SAP ASCS/SCS. Berikut keterbatasan yang saat ini berlaku:

  • Disk Azure Ultra Disk Storage dan disk Azure Standard SSD tidak didukung sebagai disk bersama Azure untuk beban kerja SAP.
  • Disk bersama Azure dengan disk SSD Premium didukung untuk penyebaran SAP di set ketersediaan dan zona ketersediaan.
  • Disk bersama Azure dengan disk SSD Premium dilengkapi dengan dua opsi penyimpanan:
    • Penyimpanan redundan lokal (LRS) untuk disk bersama SSD Premium (skuName nilai Premium_LRS) didukung dengan penyebaran dalam set ketersediaan.
    • Penyimpanan zona redundan (ZRS) untuk disk bersama SSD Premium (skuName nilai Premium_ZRS) didukung dengan penyebaran di zona ketersediaan.
  • Nilai disk bersama Azure maxShares menentukan berapa banyak node kluster yang dapat menggunakan disk bersama. Untuk instans SAP ASCS/SCS, Anda biasanya mengonfigurasi dua simpul di WSFC. Anda kemudian mengatur nilai untuk maxShares ke 2.
  • Grup penempatan kedekatan Azure (PPG) tidak diperlukan untuk disk bersama Azure. Tetapi untuk penyebaran SAP dengan PPG, ikuti panduan berikut:
    • Jika Anda menggunakan PPG untuk sistem SAP yang disebarkan di suatu wilayah, semua komputer virtual yang berbagi disk harus menjadi bagian dari PPG yang sama.
    • Jika Anda menggunakan PPG untuk sistem SAP yang disebarkan di seluruh zona, seperti yang dijelaskan dalam Grup penempatan kedekatan dengan penyebaran zona, Anda dapat melampirkan Premium_ZRS penyimpanan ke komputer virtual yang berbagi disk.

Untuk informasi selengkapnya, tinjau bagian Batasan dokumentasi untuk disk bersama Azure.

Pertimbangan penting untuk disk bersama SSD Premium

Pertimbangkan poin-poin penting ini tentang disk bersama Azure Premium SSD:

  • LRS untuk disk bersama SSD Premium:

    • Penyebaran SAP dengan LRS untuk disk bersama SSD Premium beroperasi dengan satu disk bersama Azure pada satu kluster penyimpanan. Jika ada masalah dengan kluster penyimpanan tempat disk bersama Azure disebarkan, hal ini memengaruhi instans SAP ASCS/SCS Anda.
  • ZRS untuk disk bersama SSD Premium:

    • Latensi tulis untuk ZRS lebih tinggi daripada LRS karena penyalinan data lintas zona.
    • Jarak antara zona ketersediaan di berbagai wilayah bervariasi, dan begitu juga latensi disk ZRS di seluruh zona ketersediaan. Tolok ukur disk Anda untuk mengidentifikasi latensi disk ZRS di wilayah Anda.
    • ZRS untuk disk bersama SSD Premium secara sinkron mereplikasi data di tiga zona ketersediaan di wilayah tersebut. Jika ada masalah di salah satu kluster penyimpanan, instans SAP ASCS/SCS Anda terus berjalan karena failover penyimpanan transparan ke lapisan aplikasi.
    • Untuk informasi selengkapnya, tinjau bagian Batasan dokumentasi tentang ZRS untuk disk terkelola.

Penting

Penyiapannya harus memenuhi ketentuan berikut:

  • SID untuk setiap sistem manajemen database (DBMS) harus memiliki kluster WSFC khusus sendiri.
  • Server aplikasi SAP yang termasuk dalam satu SAP SID harus memiliki komputer virtual (VM) khusus mereka sendiri.
  • Campuran Enqueue Replication Server 1 (ERS1) dan Enqueue Replication Server 2 (ERS2) di kluster yang sama tidak didukung.

Versi OS yang didukung

Windows Server 2016, 2019, dan yang lebih baru didukung. Gunakan gambar pusat data terbaru.

Kami sangat menyarankan untuk menggunakan setidaknya Pusat Data Windows Server 2019, karena alasan ini:

  • WSFC di Windows Server 2019 menyadari Azure.
  • Pusat Data Windows Server 2019 mencakup integrasi dan kesadaran tentang pemeliharaan host Azure dan pengalaman yang ditingkatkan dengan memantau peristiwa terjadwal Azure.
  • Anda dapat menggunakan nama jaringan terdistribusi. (Ini adalah opsi default.) Tidak perlu memiliki alamat IP khusus untuk nama jaringan kluster. Selain itu, Anda tidak perlu mengonfigurasi alamat IP pada load balancer internal Azure.

Arsitektur

ERS1 dan ERS2 didukung dalam konfigurasi multi-SID. Campuran ERS1 dan ERS2 tidak didukung dalam kluster yang sama.

Contoh berikut menunjukkan dua SID SAP. Keduanya memiliki arsitektur ERS1 di mana:

  • SAP SID1 disebarkan pada disk bersama dengan ERS1. Instans ERS diinstal pada host lokal dan di drive lokal.

    SAP SID1 memiliki alamat IP virtual sendiri (SID1 (A)SCS IP1), yang dikonfigurasi pada load balancer internal Azure.

  • SAP SID2 disebarkan pada disk bersama dengan ERS1. Instans ERS diinstal pada host lokal dan di drive lokal.

    SAP SID2 memiliki alamat IP virtual sendiri (SID2 (A)SCS IP2), yang dikonfigurasi pada load balancer internal Azure.

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

Contoh berikutnya juga menunjukkan dua SID SAP. Keduanya memiliki arsitektur ERS2 di mana:

  • SAP SID1 disebarkan pada disk shard dengan ERS2, yang diklusterkan dan disebarkan pada drive lokal.

    SAP SID1 memiliki alamat IP virtual sendiri (SID1 (A)SCS IP1), yang dikonfigurasi pada load balancer internal Azure.

    SAP ERS2 memiliki alamat IP virtualnya sendiri (SID1 ERS2 IP2), yang dikonfigurasi pada load balancer internal Azure.

  • SAP SID2 disebarkan pada disk shard dengan ERS2, yang diklusterkan dan disebarkan pada drive lokal.

    SAP SID2 memiliki alamat IP virtual sendiri (SID2 (A)SCS IP3), yang dikonfigurasi pada load balancer internal Azure.

    SAP ERS2 memiliki alamat IP virtual sendiri (SID2 ERS2 IP4), yang dikonfigurasi pada load balancer internal Azure.

  • Ada total empat alamat IP virtual:

    • 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.

Persiapan Infrastruktur

Anda menginstal instans SAP SID PR2 baru, selain instans SAP PR1 ASCS/SCS berkluster yang ada.

Nama host dan alamat IP

Berdasarkan jenis penyebaran Anda, nama host dan alamat IP skenario harus seperti contoh berikut.

Berikut adalah detail untuk penyebaran SAP dalam set ketersediaan Azure:

Peran nama host Nama Host Alamat IP statis Rangkaian ketersediaan Nilai disk SkuName
Kluster ASCS/SCS node kluster pertama pr1-ascs-10 10.0.0.4 pr1-ascs-avset Premium_LRS
Kluster ASCS/SCS node kluster kedua pr1-ascs-11 10.0.0.5 pr1-ascs-avset
Nama Jaringan kluster pr1clust 10.0.0.42 (hanya untuk kluster Windows Server 2016) Tidak berlaku
SID1 Nama jaringan klaster ASCS pr1-ascscl 10.0.0.43 Tidak berlaku
SID1 Nama jaringan kluster ERS (hanya untuk ERS2) pr1-erscl 10.0.0.44 Tidak berlaku
SID2 Nama jaringan klaster ASCS pr2-ascscl 10.0.0.45 Tidak berlaku
SID2 Nama jaringan klaster ERS (hanya untuk ERS2) pr1-erscl 10.0.0.46 Tidak berlaku

Berikut adalah detail untuk penyebaran SAP di zona ketersediaan Azure:

Peran nama host Nama Host Alamat IP statis Zona ketersediaan Nilai disk SkuName
Kluster ASCS/SCS node kluster pertama pr1-ascs-10 10.0.0.4 AZ01 Premium_ZRS
Kluster ASCS/SCS node kluster kedua pr1-ascs-11 10.0.0.5 AZ02
Nama Jaringan kluster pr1clust 10.0.0.42 (hanya untuk kluster Windows Server 2016) Tidak berlaku
SID1 Nama jaringan klaster ASCS pr1-ascscl 10.0.0.43 Tidak berlaku
SID2 Nama jaringan klaster ERS (hanya untuk ERS2) pr1-erscl 10.0.0.44 Tidak berlaku
SID2 Nama jaringan klaster ASCS pr2-ascscl 10.0.0.45 Tidak berlaku
SID2 Nama jaringan klaster ERS (hanya untuk ERS2) pr1-erscl 10.0.0.46 Tidak berlaku

Langkah-langkah dalam artikel ini tetap sama untuk kedua jenis penyebaran. Tetapi jika kluster Anda berjalan dalam set ketersediaan, Anda perlu menyebarkan LRS untuk disk bersama Azure Premium SSD (Premium_LRS). Jika kluster Anda berjalan di zona ketersediaan, Anda perlu menyebarkan ZRS untuk disk bersama Azure Premium SSD (Premium_ZRS).

Membuat load balancer internal Azure

Untuk konfigurasi multi-sid SAP SID, PR2, Anda dapat menggunakan load balancer internal yang sama dengan yang telah Anda buat untuk sistem SAP SID, PR1. Untuk arsitektur ENSA1 di Windows, Anda hanya memerlukan satu alamat IP virtual untuk SAP ASCS/SCS. Di sisi lain, arsitektur ENSA2 memerlukan dua alamat IP virtual - satu untuk SAP ASCS dan satu lagi untuk ERS2.

Konfigurasikan IP frontend tambahan dan aturan penyeimbangan beban untuk sistem SAP SID, PR2 pada load balancer yang ada menggunakan panduan berikut. Bagian ini mengasumsikan bahwa konfigurasi load balancer internal standar untuk SAP SID, PR1 sudah ada seperti yang dijelaskan dalam membuat load balancer.

  1. Buka load balancer internal standar yang sama dengan yang telah Anda buat untuk sistem SAP SID, PR1.
  2. Konfigurasi IP Frontend: Buat IP frontend (misalnya: 10.0.0.45).
  3. Kumpulan Backend: Kumpulan Backend sama dengan sistem SAP SID PR1.
  4. Aturan masuk: Buat aturan penyeimbangan beban.
    • Alamat IP frontend: Pilih IP frontend
    • Kumpulan backend: Pilih kumpulan backend
    • Periksa "Port ketersediaan tinggi"
    • Protocol: TCP
    • Pemeriksaan Kesehatan: Buat pemeriksaan kesehatan dengan detail di bawah ini
      • Protocol: TCP
      • Port: [misalnya: 620<Instance-no.> untuk SAP SID, PR2 ASCS]
      • Interval: 5
      • Ambang Probe: 2
    • Batas waktu diam (menit): 30
    • Periksa "Aktifkan IP Mengambang"
  5. Hanya berlaku untuk arsitektur ENSA2: Buat IP frontend tambahan (10.0.0.44), aturan penyeimbangan beban (gunakan 621<Instance-no.> untuk port pemeriksaan kesehatan ERS2) seperti yang dijelaskan pada titik 1 dan 3.

Catatan

Nomor properti konfigurasi pemeriksaan kesehatanOfProbes, atau dikenal sebagai "Ambang tidak sehat" di Portal, tidak dihormati. Jadi untuk mengontrol jumlah pemeriksaan berturut-turut yang berhasil atau gagal, atur properti "probeThreshold" ke 2. Saat ini tidak dimungkinkan untuk mengatur properti ini menggunakan portal Azure, jadi gunakan perintah Azure CLI atau PowerShell.

Penting

Alamat IP mengambang tidak didukung pada konfigurasi IP sekunder kartu antarmuka jaringan (NIC) dalam skenario penyeimbangan beban. Untuk detailnya, lihat batasan Azure Load Balancer. Jika Anda memerlukan alamat IP lain untuk VM, sebarkan NIC kedua.

Catatan

Ketika mesin virtual tanpa alamat IP publik ditempatkan di kumpulan back-end dari load balancer Azure Standar internal (tanpa alamat IP publik), tidak akan ada konektivitas internet keluar kecuali Anda melakukan konfigurasi tambahan untuk memungkinkan perutean ke titik akhir publik. Untuk detail tentang cara mencapai konektivitas keluar, lihat Konektivitas titik akhir publik untuk mesin virtual menggunakan Azure Standard Load Balancer dalam skenario ketersediaan tinggi SAP.

Membuat dan melampirkan disk bersama Azure kedua

Jalankan perintah ini pada salah satu simpul klaster. Sesuaikan nilai untuk detail seperti grup sumber daya, wilayah Azure, dan SAP SID Anda.

$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

Memformat disk bersama dengan menggunakan PowerShell

  1. Dapatkan nomor disk. Jalankan perintah PowerShell pada salah satu simpul kluster:

     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. Format disk tersebut. Dalam contoh ini, disk nomor 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. Verifikasi bahwa disk sekarang terlihat sebagai disk kluster:

     # 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. Daftarkan disk di kluster:

     # 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
    

Membuat nama host virtual untuk instans SAP ASCS/SCS terklaster

  1. Buat entri DNS untuk nama host virtual untuk instans SAP ASCS/SCS baru di manajer DNS Windows.

    Alamat IP yang Anda tetapkan ke nama host virtual di DNS harus sama dengan alamat IP yang Anda tetapkan di Azure Load Balancer.

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

  2. Jika Anda menggunakan instans terkluster SAP ERS2, Anda perlu memesan di DNS nama host virtual untuk ERS2.

    Alamat IP yang Anda tetapkan ke nama host virtual untuk ERS2 di DNS harus sama dengan alamat IP yang Anda tetapkan di Azure Load Balancer.

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

  3. Untuk menentukan alamat IP yang ditetapkan ke nama host virtual, pilih Manajer DNS>Domain.

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

Penginstalan SAP

Pasang simpul klaster pertama SAP

Ikuti prosedur penginstalan yang dijelaskan SAP. Pastikan untuk memilih Node Kluster Pertama sebagai opsi untuk memulai penginstalan. Pilih Disk Bersama Kluster sebagai opsi konfigurasi. Pilih disk bersama yang baru dibuat.

Memodifikasi profil SAP instans ASCS/SCS

Jika Anda menjalankan ERS1, tambahkan parameter enque/encni/set_so_keepaliveprofil SAP . Parameter profil mencegah koneksi antara proses kerja SAP dan server antrean ditutup saat diam terlalu lama. Parameter SAP tidak diperlukan untuk ERS2.

  1. Tambahkan parameter profil ini ke profil instans SAP ASCS/SCS, jika Anda menggunakan ERS1:

    enque/encni/set_so_keepalive = true
    

    Untuk ERS1 dan ERS2, pastikan bahwa keepalive parameter OS diatur seperti yang dijelaskan dalam Catatan SAP 1410736.

  2. Untuk menerapkan perubahan pada parameter profil SAP, mulai ulang instans SAP ASCS/SCS.

Mengonfigurasi port probe pada sumber daya kluster

Gunakan fungsionalitas probe internal load balancer untuk membuat seluruh konfigurasi kluster berfungsi dengan Azure Load Balancer. Azure internal load balancer biasanya mendistribusikan beban kerja yang masuk secara merata antara komputer virtual yang berpartisipasi.

Namun, pendekatan ini tidak akan berfungsi dalam beberapa konfigurasi kluster karena hanya satu instans yang aktif. Instance lainnya ber pasif dan tidak dapat menerima beban kerja apa pun. Fungsionalitas pemeriksaan membantu ketika load balancer internal Azure mendeteksi instans mana yang aktif dan hanya menargetkan instans aktif.

Penting

Dalam contoh konfigurasi ini, port probe diatur ke 620nr. Untuk SAP ASCS dengan nomor instans 02, ini adalah 62002.

Anda perlu menyesuaikan konfigurasi agar sesuai dengan nomor instans SAP dan SAP SID Anda.

Untuk menambahkan port probe, jalankan modul PowerShell ini pada salah satu VM kluster:

  • Jika Anda menggunakan SAP ASC/SCS dengan nomor instans 02:

    Set-AzureLoadBalancerHealthCheckProbePortOnSAPClusterIPResource -SAPSID PR2 -ProbePort 62002
    
  • Jika Anda menggunakan ERS2 dengan nomor instans 12, konfigurasikan port probe. Tidak perlu mengonfigurasi port probe untuk ERS1. ERS2 dengan nomor instans 12 diklusterkan, sedangkan ERS1 tidak diklusterkan.

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

Kode untuk fungsi Set-AzureLoadBalancerHealthCheckProbePortOnSAPClusterIPResource terlihat seperti contoh ini:

 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 {}
 }

Lanjutkan dengan penginstalan SAP

  1. Instal instans database dengan mengikuti proses yang dijelaskan dalam panduan penginstalan SAP.

  2. Pasang SAP pada simpul klaster kedua dengan mengikuti langkah-langkah yang dijelaskan dalam panduan penginstalan SAP.

  3. Instal instans SAP Primary Application Server (PAS) pada komputer virtual yang ditunjuk untuk menghosting PAS.

    Ikuti proses yang dijelaskan dalam panduan penginstalan SAP. Tidak ada dependensi pada Azure.

  4. Instal server aplikasi SAP tambahan pada komputer virtual yang ditunjuk untuk menghosting instans server aplikasi SAP.

    Ikuti proses yang dijelaskan dalam panduan penginstalan SAP. Tidak ada dependensi pada Azure.

Uji failover instans SAP ASCS/SCS

Pengujian failover yang diuraikan mengasumsikan bahwa SAP ASCS aktif pada node A.

  1. Verifikasi bahwa sistem SAP dapat berhasil melakukan failover dari node A ke node B. Dalam contoh ini, pengujian adalah untuk SAP SID PR2.

    Pastikan bahwa setiap SAP SID dapat berhasil berpindah ke node kluster lainnya. Pilih salah satu opsi ini untuk memulai failover grup kluster <SID> SAP dari node kluster A ke node kluster B:

    • Buka Pengelola Kluster Failover
    • Perintah PowerShell untuk kluster failover
    $SAPSID = "PR2"     # SAP <SID>
    
    $SAPClusterGroup = "SAP $SAPSID"
    Move-ClusterGroup -Name $SAPClusterGroup
    
    
  2. Mulai ulang node kluster A dalam sistem operasi tamu Windows. Langkah ini memulai failover otomatis grup kluster SAP <SID> dari simpul A ke simpul B.

  3. Mulai ulang node kluster A dari portal Microsoft Azure. Langkah ini memulai failover otomatis grup kluster SAP <SID> dari simpul A ke simpul B.

  4. Mulai ulang node kluster A dengan menggunakan Azure PowerShell. Langkah ini memulai failover otomatis grup kluster SAP <SID> dari simpul A ke simpul B.

Langkah berikutnya