Dela via


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

Windows OS Windows

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

Dokumentationen omfattar inte databaslagret.

Förutsättningar

Innan du påbörjar installationen bör du läsa den här artikeln:

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. När de virtuella datorerna har distribuerats:

  • Skapa en intern Azure Load Balancer för SAP ASCS/SCS-instans.
  • Lägg till virtuella Windows-datorer i AD-domänen.

Baserat på din distributionstyp skulle värdnamnen och IP-adresserna i scenariot vara som:

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 klusternoden 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 Availability zone Disk SkuName
ASCS/SCS-kluster för första klusternoden 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 som nämns i dokumentet är desamma för båda distributionstyperna. Men om klustret körs i tillgänglighetsuppsättningen måste du distribuera LRS för delad Azure Premium-disk (Premium_LRS) och om klustret körs i tillgänglighetszonen distribueraR du ZRS för delad Azure Premium-disk (Premium_ZRS).

Kommentar

Azure närhetsplaceringsgrupp krävs inte för delad Azure-disk. Men för SAP-distribution med PPG följer du riktlinjerna nedan:

  • Om du använder PPG för SAP-system som distribuerats i en region måste alla virtuella datorer som delar en disk vara en del av samma PPG.
  • Om du använder PPG för SAP-system som distribuerats mellan zoner, som beskrivs i dokumentet Närhetsplaceringsgrupper med zonindelade distributioner, kan du koppla Premium_ZRS lagring till virtuella datorer som delar en disk.

Skapa en intern Azure-lastbalanserare

Under vm-konfigurationen kan du skapa eller välja att avsluta lastbalanseraren i nätverksavsnittet. För ENSA1-arkitekturen i Windows behöver du bara en virtuell IP-adress för SAP ASCS/SCS. Å andra sidan kräver ENSA2-arkitekturen två virtuella IP-adresser – en för SAP ASCS/SCS och en annan för ERS2. När du konfigurerar en intern standardlastbalanserare för HA-konfigurationen av SAP ASCS/SCS i Windows följer du riktlinjerna nedan.

  1. Ip-konfiguration för klientdelen: Skapa klientdels-IP (exempel: 10.0.0.43). Välj samma virtuella nätverk och undernät som dina virtuella ASCS/ERS-datorer.
  2. Serverdelspool: Skapa serverdelspool och lägg till virtuella ASCS- och ERS-datorer. I det här exemplet är virtuella datorer pr1-ascs-10 och pr1-ascs-11.
  3. Regler för inkommande trafik: Skapa belastningsutjämningsregel.
    • Klientdels-IP-adress: Välj klientdels-IP
    • Serverdelspool: Välj serverdelspool
    • Kontrollera "Portar med hög tillgänglighet"
    • Protokoll: TCP
    • Hälsoavsökning: Skapa hälsoavsökning med information nedan
      • Protokoll: TCP
      • Port: [till exempel: 620<Instans-nej.> för ASCS]
      • Intervall: 5
      • Tröskelvärde för avsökning: 2
    • Tidsgräns för inaktivitet (minuter): 30
    • Kontrollera "Aktivera flytande IP"
  4. Gäller endast för ENSA2-arkitektur: Skapa ytterligare klientdels-IP (10.0.0.44), belastningsutjämningsregel (använd 621<Instans-nr.> för ERS2-hälsoavsökningsporten) enligt beskrivningen i punkt 1 och 3.

Kommentar

Egenskapsnummer för hälsoavsökningskonfigurationOfProbes, även kallat "Tröskelvärde för feltillstånd" i portalen, respekteras inte. Så om du vill kontrollera antalet lyckade eller misslyckade efterföljande avsökningar anger du egenskapen "probeThreshold" till 2. Det går för närvarande inte att ange den här egenskapen med Hjälp av Azure-portalen, så använd antingen Azure CLI - eller PowerShell-kommandot .

Kommentar

När virtuella datorer utan offentliga IP-adresser placeras i serverdelspoolen för en intern (ingen offentlig IP-adress) Standard Azure-lastbalanserare, kommer det inte att finnas någon utgående Internetanslutning om du inte utför ytterligare konfiguration för att tillåta routning till offentliga slutpunkter. Mer information om hur du uppnår utgående anslutning finns i Offentlig slutpunktsanslutning för virtuella datorer som använder Azure Standard Load Balancer i SAP-scenarier med hög tillgänglighet.

Dricks

Med Azure Resource Manager-mallen för WSFC för SAP ASCS/SCS-instansen med 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-datorer, skapar en delad Azure-disk och ansluter till de virtuella datorerna. Azure Internal Load Balancer skapas och konfigureras också. Mer information finns i ARM-mallen.

Lägg 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-processen så snart den första begäran om enqueue/dequeue måste skickas. För att undvika att avbryta dessa anslutningar ändrar du värdena 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ägg till de virtuella Windows-datorerna i domänen

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

Installera och konfigurera Windows-redundanskluster

Installera windows-redundansklusterfunktionen

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 har slutförts 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änder det namnet på distribuerat nätverk. Därför använder den någon av klusternodernas lokala IP-adresser. Det innebär att det inte finns något behov av ett dedikerat (virtuellt) nätverksnamn för klustret, och det finns inget behov av att konfigurera den här IP-adressen i 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 Witness som 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 för Windows-redundanskluster

När du har installerat Windows-redundansklustret måste du justera vissa tröskelvärden för att vara lämplig för kluster som distribueras i Azure. De parametrar som ska ändras dokumenteras i Tröskelvärden för justering av redundansklusternätverk. Om du antar att dina två virtuella datorer 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
  • RouteHistoryLength = 30

De här inställningarna har testats med kunder och erbjuder en bra kompromiss. De är tillräckligt motståndskraftiga, men de ger också 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 din resursgrupp, Azure-region, 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 dessa 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 programvaran SIOS DataKeeper Cluster Edition från tredje part för att skapa en speglad lagring som simulerar klusterdelade diskar.

Nu har du en fungerande konfiguration för 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 .NET-ramverkskraven
  • 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 klusterdelade lagring.

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

Kommentar

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 Server-konto.

    Bild 33: Användarval för SIOS DataKeeper

    Användarval för SIOS DataKeeper

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

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

    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 att göra 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 datakeeperhanterings- och konfigurationsverktyget och välj sedan Anslut server.

    Bild 36: SIOS DataKeeper-hanterings- och konfigurationsverktyget

    SIOS DataKeeper-hanterings- och konfigurationsverktyget

  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 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 målnodens namn, TCP/IP-adress och diskvolym.

    Bild 41: Definiera namn, TCP/IP-adress och diskvolym 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. Särskilt i omsynkroniseringssituationer minskar komprimering av replikeringsströmmen dramatiskt omsynkroniseringstiden. Komprimering använder CPU- och RAM-resurser för en virtuell dator. När komprimeringshastigheten ökar ökar också volymen av 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 Konfiguration av Windows Server-redundanskluster 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 verktyget DataKeeper Management and Configuration 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 redundans visar nu disken som en DataKeeper-disk, enligt bild 45:

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

    Klusterhanteraren för redundans visar disken som DataKeeper replikerade

Nästa steg