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
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:
- Delade diskar i Azure
- Använda SIOS DataKeeper Cluster Edition för att skapa speglad lagring, som simulerar klustrad delad disk
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.
- 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.
- 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.
- 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"
- 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 Portal, 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
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
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
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\}
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.
Installera SIOS-programvaran på båda klusternoderna.
Första sidan i SIOS DataKeeper-installationen
I dialogrutan väljer du Ja.
DataKeeper informerar dig om att en tjänst kommer att inaktiveras
I dialogrutan rekommenderar vi att du väljer Domän eller Server-konto.
Användarval för SIOS DataKeeper
Ange det domännamn och lösenord för domänkontot som du skapade för SIOS DataKeeper.
Ange domännamnet och lösenordet för SIOS DataKeeper-installationen
Installera licensnyckeln för din SIOS DataKeeper-instans enligt bild 35.
Ange din SIOS DataKeeper-licensnyckel
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.
Starta datakeeperhanterings- och konfigurationsverktyget och välj sedan Anslut server.
SIOS DataKeeper-hanterings- och konfigurationsverktyget
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.
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
Skapa replikeringsjobbet mellan de två noderna.
Skapa ett replikeringsjobb
En guide vägleder dig genom processen att skapa ett replikeringsjobb.
Definiera namnet på replikeringsjobbet.
Definiera namnet på replikeringsjobbet
Definiera basdata för noden, som ska vara den aktuella källnoden
Definiera målnodens namn, TCP/IP-adress och diskvolym.
Definiera namn, TCP/IP-adress och diskvolym för den aktuella målnoden
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.
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.
Definiera replikeringsinformation
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.
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.
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:
Klusterhanteraren för redundans visar disken som DataKeeper replikerade