Förbereda Azure-infrastrukturen för SAP HA med hjälp av ett Windows redundanskluster och delad disk för SAP ASCS/SCS

Windows OS Windows

Den här artikeln beskriver de steg du tar för att förbereda Azure-infrastrukturen för att installera och konfigurera en SAP ASCS/SCS-instans med hög tillgänglighet på ett Windows-redundanskluster med hjälp av en delad disk i klustret som ett alternativ för klustring av en SAP ASCS-instans. Två alternativ för klusterdelade diskar visas i dokumentationen:

Dokumentationen omfattar inte databaslagret.

Förutsättningar

Läs den här artikeln innan du påbörjar installationen:

Skapa de virtuella ASCS-datorerna

För SAP ASCS/SCS-kluster distribuerar du två virtuella datorer i Azure-tillgänglighetsuppsättningen eller Azure-tillgänglighetszoner baserat på typen av distribution. Om du använder Närhetsplaceringsgrupper (PPG)i Azure kontrollerar du att alla virtuella datorer som delar en disk måste ingå i samma PPG. När de virtuella datorerna har distribuerats:

  • Skapa azure-Load Balancer för SAP ASCS /SCS-instansen.
  • Lägg Windows virtuella datorer i AD-domänen.

Baserat på din distributionstyp skulle värdnamnen och IP-adresserna för scenariot se ut så här:

SAP-distribution i Azure-tillgänglighetsuppsättning

Värdnamnsroll Värdnamn Statisk IP-adress Tillgänglighetsuppsättning Disk-SkuName
AsCS/SCS-kluster för första klusternod pr1-ascs-10 10.0.0.4 pr1-ascs-avset Premium_LRS
ASCS/SCS-kluster för andra klusternoden pr1-ascs-11 10.0.0.5 pr1-ascs-avset
Klusternätverksnamn pr1clust 10.0.0.42(endast för Win 2016-kluster) saknas
ASCS-klusternätverksnamn pr1-ascscl 10.0.0.43 saknas
ERS-klusternätverksnamn (endast för ERS2) pr1-erscl 10.0.0.44 saknas

SAP-distribution i Azure-tillgänglighetszoner

Värdnamnsroll Värdnamn Statisk IP-adress Tillgänglighetszon Disk-SkuName
AsCS/SCS-kluster för första klusternod pr1-ascs-10 10.0.0.4 AZ01 Premium_ZRS
ASCS/SCS-kluster för andra klusternoden pr1-ascs-11 10.0.0.5 AZ02
Klusternätverksnamn pr1clust 10.0.0.42(endast för Win 2016-kluster) saknas
ASCS-klusternätverksnamn pr1-ascscl 10.0.0.43 saknas
ERS-klusternätverksnamn (endast för ERS2) pr1-erscl 10.0.0.44 saknas

Stegen i dokumentet förblir desamma för båda distributionstypen. Men om klustret körs i tillgänglighetsuppsättningen måste du distribuera LRS för delad Azure-disk (Premium_LRS) och om klustret körs i tillgänglighetszonen distribuerar du ZRS för delad Azure Premium-disk (Premium_ZRS).

Anteckning

När du använder Azures närhetsplaceringsgrupp för SAP-system måste alla virtuella datorer som delar en disk ingå i samma PPG.

Skapa en intern Azure-lastbalanserare

SAP ASCS, SAP SCS och nya SAP ERS2 använder virtuella värdnamn och virtuella IP-adresser. I Azure krävs en lastbalanserare för att använda en virtuell IP-adress. Vi rekommenderar starkt att du använder standardlastbalanserare.

Viktigt

Flytande IP stöds inte på en sekundär IP-konfiguration för nätverkskort i scenarier med belastningsutjämning. Mer information finns i Begränsningar för Azure Load Balancer. Om du behöver ytterligare IP-adress för den virtuella datorn distribuerar du ett andra nätverkskort.

I följande lista visas konfigurationen av (A)SCS/ERS-lastbalanserare. Konfigurationen för både SAP ASCS och ERS2 i utförs i samma Azure-lastbalanserare.

(A) SCS

  • Konfiguration av frontend
    • Statisk ASCS/SCS IP-adress 10.0.0.43
  • Serverkonfiguration
    Lägg till alla virtuella datorer som ska ingå i (A)SCS/ERS-klustret. I det här exemplet använder vi virtuella datorer pr1-ascs-10 och pr1-ascs-11.
  • Avsökningsport
    • Port 620 nr Lämna standardalternativet för Protokoll (TCP), Intervall (5), Tröskelvärde för ej feltillstånd (2)
  • Regler för belastningsutjämning
    • Om du använder Standard Load Balancer väljer du HA-portar

    • Om du använder Basic Load Balancer skapar du belastningsutjämningsregler för följande portar

      • 32 nr TCP
      • 36 nr TCP
      • 39 nr TCP
      • 81 nr TCP
      • 5 nr 13 TCP
      • 5 nr 14 TCP
      • 5 nr 16 TCP
    • Kontrollera att tidsgränsen för inaktivitet (minuter) är inställd på maxvärdet 30 och att Flytande IP (direkt serverretur) är Aktiverat.

ERS2

Eftersom Enqueue Replication Server 2 (ERS2) också är klustrad måste även den virtuella ERS2-IP-adressen konfigureras på Azure ILB utöver ovanstående SAP ASCS/SCS IP. Det här avsnittet gäller endast om du använder arkitekturen För replikeringsserver 2 i sekvens.

  • Konfiguration för andra frontend

    • Statisk SAP ERS2 IP-adress 10.0.0.44
  • Serverkonfiguration
    De virtuella datorerna har redan lagts till i ILB-backend-poolen.

  • Andra avsökningsporten

    • Port 621 nr
      Lämna standardalternativet för Protokoll (TCP), Intervall (5), Tröskelvärde för ej feltillstånd (2)
  • Andra belastningsutjämningsregler

    • Om du använder Standard Load Balancer väljer du HA-portar

    • Om du använder Basic Load Balancer skapar du belastningsutjämningsregler för följande portar

      • 32 nr TCP
      • 33 nr TCP
      • 5 nr 13 TCP
      • 5 nr 14 TCP
      • 5 nr 16 TCP
    • Kontrollera att tidsgränsen för inaktivitet (minuter) är inställd på maxvärdet 30 och att Flytande IP (direkt serverretur) är Aktiverat.

Tips

Med Azure Resource Manager mallen för WSFC för SAP ASCS/SCS-instansenmed Azure Shared Disk kan du automatisera infrastrukturförberedelserna med hjälp av Azure Shared Disk för ett SAP SID med ERS1.
Azure ARM-mallen skapar två virtuella Windows 2019 eller 2016, skapar en delad Azure-disk och ansluter till de virtuella datorerna. Azure Internal Load Balancer även skapas och konfigureras. Mer information finns i ARM-mallen.

Lägga till registerposter på båda klusternoderna i ASCS/SCS-instansen

Azure Load Balancer kan stänga anslutningar om anslutningarna är inaktiva under en period och överskrider tidsgränsen för inaktivitet. SAP-arbetsprocesserna öppnar anslutningar till SAP-ifyllningsprocessen så snart den första begäran om att komma i kontakt med/ta i kontakt med måste skickas. För att undvika att avbryta dessa anslutningar ändrar du värdena för TCP/IP KeepAliveTime och KeepAliveInterval på båda klusternoderna. Om du använder ERS1 är det också nödvändigt att lägga till SAP-profilparametrar, enligt beskrivningen senare i den här artikeln. Följande registerposter måste ändras på båda klusternoderna:

  • KeepAliveTime
  • KeepAliveInterval
Sökväg Variabelnamn Variabeltyp Värde Dokumentation
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters KeepAliveTime REG_DWORD (decimal) 120000 KeepAliveTime
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters KeepAliveInterval REG_DWORD (decimal) 120000 KeepAliveInterval

Om du vill tillämpa ändringarna startar du om båda klusternoderna.

Lägga till Windows virtuella datorer i domänen

När du har tilldelar statiska IP-adresser till de virtuella datorerna lägger du till de virtuella datorerna i domänen.

Installera och konfigurera Windows redundanskluster

Installera funktionen Windows redundanskluster

Kör det här kommandot på en av klusternoderna:

# Hostnames of the Win cluster for SAP ASCS/SCS
$SAPSID = "PR1"
$ClusterNodes = ("pr1-ascs-10","pr1-ascs-11")
$ClusterName = $SAPSID.ToLower() + "clust"

# Install Windows features.
# After the feature installs, manually reboot both nodes
Invoke-Command $ClusterNodes {Install-WindowsFeature Failover-Clustering, FS-FileServer -IncludeAllSubFeature -IncludeManagementTools }

När funktionsinstallationen är klar startar du om båda klusternoderna.

Testa och konfigurera Windows redundanskluster

I Windows 2019 identifierar klustret automatiskt att det körs i Azure, och som standardalternativ för klusterhanterings-IP används namnet på det distribuerade nätverket. Därför kommer den att använda någon av de lokala IP-adresserna för klusternoderna. Därför finns det inget behov av ett dedikerat (virtuellt) nätverksnamn för klustret och du behöver inte konfigurera den här IP-adressen på Azure Internal Load Balancer.

Mer information finns i Windows Server 2019-redundansklustring Nya funktioner Kör det här kommandot på en av klusternoderna:

# Hostnames of the Win cluster for SAP ASCS/SCS
$SAPSID = "PR1"
$ClusterNodes = ("pr1-ascs-10","pr1-ascs-11")
$ClusterName = $SAPSID.ToLower() + "clust"

# IP adress for cluster network name is needed ONLY on Windows Server 2016 cluster
$ClusterStaticIPAddress = "10.0.0.42"

# Test cluster
Test-Cluster –Node $ClusterNodes -Verbose

$ComputerInfo = Get-ComputerInfo

$WindowsVersion = $ComputerInfo.WindowsProductName

if($WindowsVersion -eq "Windows Server 2019 Datacenter"){
    write-host "Configuring Windows Failover Cluster on Windows Server 2019 Datacenter..."
    New-Cluster –Name $ClusterName –Node  $ClusterNodes -Verbose
}elseif($WindowsVersion -eq "Windows Server 2016 Datacenter"){
    write-host "Configuring Windows Failover Cluster on Windows Server 2016 Datacenter..."
    New-Cluster –Name $ClusterName –Node  $ClusterNodes –StaticAddress $ClusterStaticIPAddress -Verbose 
}else{
    Write-Error "Not supported Windows version!"
}

Konfigurera klustermolnkvorum

När du använder Windows Server 2016 eller 2019 rekommenderar vi att du konfigurerar Azure Cloud Witnesssom klusterkvorum.

Kör det här kommandot på en av klusternoderna:

$AzureStorageAccountName = "cloudquorumwitness"
Set-ClusterQuorum –CloudWitness –AccountName $AzureStorageAccountName -AccessKey <YourAzureStorageAccessKey> -Verbose

Justera tröskelvärdena Windows redundanskluster

När du har installerat Windows redundanskluster måste du justera vissa tröskelvärden för att vara lämpligt för kluster som distribueras i Azure. Parametrarna som ska ändras dokumenteras i Justera tröskelvärden för redundansklusternätverk. Förutsatt att de två virtuella datorerna som utgör Windows-klusterkonfigurationen för ASCS/SCS finns i samma undernät, ändrar du följande parametrar till dessa värden:

  • SameSubNetDelay = 2000
  • SameSubNetThreshold = 15
  • RoutingHistoryLength = 30

De här inställningarna har testats med kunder och ger en bra kompromiss. De är tillräckligt motståndskraftiga, men de tillhandahåller även redundans som är tillräckligt snabbt för verkliga feltillstånd i SAP-arbetsbelastningar eller VM-fel.

Konfigurera delad Azure-disk

Det här avsnittet gäller endast om du använder en delad Azure-disk.

Skapa och koppla en delad Azure-disk med PowerShell

Kör det här kommandot på en av klusternoderna. Du måste justera värdena för resursgruppen, Azure-regionen, SAPSID och så vidare.

#############################
# Create Azure Shared Disk
#############################

$ResourceGroupName = "MyResourceGroup"
$location = "MyAzureRegion"
$SAPSID = "PR1"

$DiskSizeInGB = 512
$DiskName = "$($SAPSID)ASCSSharedDisk"

# With parameter '-MaxSharesCount', we define the maximum number of cluster nodes to attach the shared disk
$NumberOfWindowsClusterNodes = 2

# For SAP deployment in availability set, use below storage SkuName
$SkuName = "Premium_LRS"
# For SAP deployment in availability zone, use below storage SkuName
$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 = "$SAPSID-ascs-10"

# ASCS Cluster VM2
$ASCSClusterVM2 = "$SAPSID-ascs-11"

# 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 0
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 0
Update-AzVm -VM $vm -ResourceGroupName $ResourceGroupName -Verbose

Formatera den delade disken med PowerShell

  1. Hämta disknumret. Kör följande PowerShell-kommandon på en av klusternoderna:

     Get-Disk | Where-Object PartitionStyle -Eq "RAW"  | Format-Table -AutoSize 
     # Example output
     # Number Friendly Name     Serial Number HealthStatus OperationalStatus Total Size Partition Style
     # ------ -------------     ------------- ------------ ----------------- ---------- ---------------
     # 2      Msft Virtual Disk               Healthy      Online                512 GB RAW            
    
    
  2. Formatera disken. I det här exemplet är det disknummer 2.

     # Format SAP ASCS Disk number '2', with drive letter 'S'
     $SAPSID = "PR1"
     $DiskNumber = 2
     $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           PR1SAP          ReFS       Fixed     Healthy      OK                    504.98 GB 511.81 GB
    
  3. Kontrollera att disken nu visas som en klusterdisk.

     # List all disks
     Get-ClusterAvailableDisk -All
     # Example output
     # Cluster    : pr1clust
     # Id         : 88ff1d94-0cf1-4c70-89ae-cbbb2826a484
     # Name       : Cluster Disk 1
     # Number     : 2
     # Size       : 549755813888
     # Partitions : {\\?\GLOBALROOT\Device\Harddisk2\Partition2\}
    
  4. Registrera disken i klustret.

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

SIOS DataKeeper Cluster Edition för SAP ASCS/SCS-klusterresursdisken

Det här avsnittet gäller endast om du använder programvara från tredje part SIOS DataKeeper Cluster Edition för att skapa en speglad lagring som simulerar klusterdelade diskar.

Nu har du en fungerande konfiguration Windows Server-redundanskluster i Azure. Om du vill installera en SAP ASCS/SCS-instans behöver du en delad diskresurs. Ett av alternativen är att använda SIOS DataKeeper Cluster Edition är en lösning från tredje part som du kan använda för att skapa delade diskresurser.

Installation av SIOS DataKeeper Cluster Edition för SAP ASCS/SCS-klusterresursdisken omfattar följande uppgifter:

  • Lägg till Microsoft .NET Framework, om det behövs. Se SIOS-dokumentationen för de senaste kraven för .NET-ramverket
  • Installera SIOS DataKeeper
  • Konfigurera SIOS DataKeeper

Installera SIOS DataKeeper

Installera SIOS DataKeeper Cluster Edition på varje nod i klustret. Om du vill skapa virtuell delad lagring med SIOS DataKeeper skapar du en synkroniserad spegling och simulerar sedan delad klusterlagring.

Innan du installerar SIOS-programvaran skapar du DataKeeperSvc-domänanvändaren.

Anteckning

Lägg till DataKeeperSvc-domänanvändaren i gruppen Lokal administratör på båda klusternoderna.

  1. Installera SIOS-programvaran på båda klusternoderna.

    SIOS-installationsprogram

    Bild 31: Första sidan i SIOS DataKeeper-installationen

    Första sidan i SIOS DataKeeper-installationen

  2. I dialogrutan väljer du Ja.

    Bild 32: DataKeeper informerar dig om att en tjänst kommer att inaktiveras

    DataKeeper informerar dig om att en tjänst kommer att inaktiveras

  3. I dialogrutan rekommenderar vi att du väljer Domän eller Serverkonto.

    Bild 33: Användarval för SIOS DataKeeper

    Användarval för SIOS DataKeeper

  4. Ange det användarnamn och lösenord för domänkontot som du skapade för SIOS DataKeeper.

    Bild 34: Ange domännamnet och lösenordet för installationen av SIOS DataKeeper

    Ange domännamnet och lösenordet för SIOS DataKeeper-installationen

  5. Installera licensnyckeln för din SIOS DataKeeper-instans, enligt bild 35.

    Bild 35: Ange din SIOS DataKeeper-licensnyckel

    Ange din SIOS DataKeeper-licensnyckel

  6. Starta om den virtuella datorn när du uppmanas till det.

Konfigurera SIOS DataKeeper

När du har installerat SIOS DataKeeper på båda noderna startar du konfigurationen. Målet med konfigurationen är att ha synkron datareplikering mellan de ytterligare diskar som är anslutna till var och en av de virtuella datorerna.

  1. Starta verktyget DataKeeper Management and Configuration och välj sedan Anslut Server.

    Bild 36: SIOS DataKeeper-hanterings- och konfigurationsverktyget

    SIOS DataKeeper-hanterings- och konfigurationsverktyg

  2. Ange namnet eller TCP/IP-adressen för den första noden som hanterings- och konfigurationsverktyget ska ansluta till och, i ett andra steg, den andra noden.

    Bild 37: Infoga namnet eller TCP/IP-adressen för den första noden som hanterings- och konfigurationsverktyget ska ansluta till, och i ett andra steg, den andra noden

    Infoga namnet eller TCP/IP-adressen för den första noden som hanterings- och konfigurationsverktyget ska ansluta till och i ett andra steg den andra noden

  3. Skapa replikeringsjobbet mellan de två noderna.

    Bild 38: Skapa ett replikeringsjobb

    Skapa ett replikeringsjobb

    En guide vägleder dig genom processen för att skapa ett replikeringsjobb.

  4. Definiera namnet på replikeringsjobbet.

    Bild 39: Definiera namnet på replikeringsjobbet

    Definiera namnet på replikeringsjobbet

    Bild 40: Definiera basdata för noden, som ska vara den aktuella källnoden

    Definiera basdata för noden, som ska vara den aktuella källnoden

  5. Definiera namnet, TCP/IP-adressen och diskvolymen för målnoden.

    Bild 41: Definiera namnet, TCP/IP-adressen och diskvolymen för den aktuella målnoden

    Definiera namn, TCP/IP-adress och diskvolym för den aktuella målnoden

  6. Definiera komprimeringsalgoritmerna. I vårt exempel rekommenderar vi att du komprimerar replikeringsströmmen. I synnerhet i omsynkroniseringssituationer minskar komprimeringen av replikeringsströmmen avsevärt omsynkroniseringstiden. Komprimering använder CPU- och RAM-resurser för en virtuell dator. När komprimeringshastigheten ökar, ökar även mängden processorresurser som används. Du kan justera den här inställningen senare.

  7. En annan inställning som du behöver kontrollera är om replikeringen sker asynkront eller synkront. När du skyddar SAP ASCS/SCS-konfigurationer måste du använda synkron replikering.

    Bild 42: Definiera replikeringsinformation

    Definiera replikeringsinformation

  8. Definiera om volymen som replikeras av replikeringsjobbet ska representeras av en Windows Server-redundansklusterkonfiguration som en delad disk. För SAP ASCS/SCS-konfigurationen väljer du Ja så att Windows-klustret ser den replikerade volymen som en delad disk som den kan använda som klustervolym.

    Bild 43: Välj Ja för att ange den replikerade volymen som en klustervolym

    Välj Ja för att ange den replikerade volymen som en klustervolym

    När volymen har skapats visar datakeeperhanterings- och konfigurationsverktyget att replikeringsjobbet är aktivt.

    Bild 44: DataKeeper-synkron spegling för SAP ASCS/SCS-resursdisken är aktiv

    DataKeeper-synkron spegling för SAP ASCS/SCS-resursdisken är aktiv

    Klusterhanteraren för växling vid fel nu disken som en DataKeeper-disk, som du ser i bild 45:

    Bild 45: Klusterhanteraren för växling vid fel visar disken som DataKeeper replikerade

    Klusterhanteraren för växling vid fel visar disken som DataKeeper replikerade

Nästa steg