De Azure-infrastructuur voorbereiden voor SAP HA met behulp van een Windows-failovercluster en een gedeelde schijf voor SAP ASCS/SCS
Ramen
In dit artikel worden de stappen beschreven die u moet uitvoeren om de Azure-infrastructuur voor te bereiden voor het installeren en configureren van een SAP ASCS/SCS-exemplaar met hoge beschikbaarheid op een Windows-failovercluster met behulp van een gedeelde clusterschijf als optie voor het clusteren van een SAP ASCS-exemplaar. In de documentatie worden twee alternatieven voor gedeelde clusterschijven weergegeven:
- Gedeelde Azure-schijven
- SIOS DataKeeper Cluster Edition gebruiken om gespiegelde opslag te maken, die geclusterde gedeelde schijf simuleert
De documentatie heeft geen betrekking op de databaselaag.
Vereisten
Lees dit artikel voordat u begint met de installatie:
De ASCS-VM's maken
Voor SAP ASCS-/SCS-cluster worden twee VM's geïmplementeerd in de Beschikbaarheidsset van Azure of Azure-beschikbaarheidszones op basis van het type implementatie. Zodra de VM's zijn geïmplementeerd:
- Azure Internal Load Balancer maken voor SAP ASCS/SCS-exemplaar.
- Windows-VM's toevoegen aan het AD-domein.
Op basis van uw implementatietype zijn de hostnamen en de IP-adressen van het scenario als volgt:
SAP-implementatie in Azure-beschikbaarheidsset
Hostnaamrol | Hostnaam | Statisch IP-adres | Beschikbaarheidsset | Schijf-SkuName |
---|---|---|---|---|
Eerste clusterknooppunt ASCS/SCS-cluster | pr1-ascs-10 | 10.0.0.4 | pr1-ascs-avset | Premium_LRS |
Tweede clusterknooppunt ASCS/SCS-cluster | pr1-ascs-11 | 10.0.0.5 | pr1-ascs-avset | |
Naam van het clusternetwerk | pr1clust | 10.0.0.42(alleen voor Win 2016-cluster) | N.v.t. | |
Netwerknaam van ASCS-cluster | pr1-ascscl | 10.0.0.43 | N.v.t. | |
ERS-clusternetwerknaam (alleen voor ERS2) | pr1-erscl | 10.0.0.44 | N.v.t. |
SAP-implementatie in Azure-beschikbaarheidszones
Hostnaamrol | Hostnaam | Statisch IP-adres | Availability zone | Schijf-SkuName |
---|---|---|---|---|
Eerste clusterknooppunt ASCS/SCS-cluster | pr1-ascs-10 | 10.0.0.4 | AZ01 | Premium_ZRS |
Tweede clusterknooppunt ASCS/SCS-cluster | pr1-ascs-11 | 10.0.0.5 | AZ02 | |
Naam van het clusternetwerk | pr1clust | 10.0.0.42(alleen voor Win 2016-cluster) | N.v.t. | |
Netwerknaam van ASCS-cluster | pr1-ascscl | 10.0.0.43 | N.v.t. | |
ERS-clusternetwerknaam (alleen voor ERS2) | pr1-erscl | 10.0.0.44 | N.v.t. |
De stappen die in het document worden genoemd, blijven hetzelfde voor beide implementatietypen. Maar als uw cluster wordt uitgevoerd in de beschikbaarheidsset, moet u LRS implementeren voor gedeelde Azure Premium-schijf (Premium_LRS) en als het cluster wordt uitgevoerd in de beschikbaarheidszone ZRS implementeren voor gedeelde Azure Premium-schijf (Premium_ZRS).
Notitie
De plaatsingsgroep van Azure-nabijheid is niet vereist voor een gedeelde Azure-schijf. Maar voor SAP-implementatie met PPG volgt u de onderstaande richtlijnen:
- Als u PPG gebruikt voor SAP-systeem dat is geïmplementeerd in een regio, moeten alle virtuele machines die een schijf delen deel uitmaken van dezelfde PPG.
- Als u PPG gebruikt voor SAP-systeem dat is geïmplementeerd in zones zoals beschreven in de plaatsingsgroepen van het document met zonegebonden implementaties, kunt u Premium_ZRS opslag koppelen aan virtuele machines die een schijf delen.
Een interne Load Balancer voor Azure maken
Tijdens de VM-configuratie kunt u een load balancer maken of selecteren in de sectie Netwerken. Voor de ENSA1-architectuur in Windows hebt u slechts één virtueel IP-adres nodig voor SAP ASCS/SCS. Aan de andere kant vereist de ENSA2-architectuur twee virtuele IP-adressen: één voor SAP ASCS/SCS en een voor ERS2. Als u een standaard interne load balancer configureert voor de hoge beschikbaarheid van SAP ASCS/SCS in Windows, volgt u de onderstaande richtlijnen.
- Front-end-IP-configuratie: front-end-IP maken (bijvoorbeeld: 10.0.0.43). Selecteer hetzelfde virtuele netwerk en subnet als uw virtuele ASCS-/ERS-machines.
- Back-endpool: back-endpool maken en ASCS- en ERS-VM's toevoegen. In dit voorbeeld zijn VM's pr1-ascs-10 en pr1-ascs-11.
- Regels voor inkomend verkeer: taakverdelingsregel maken.
- Front-end-IP-adres: front-end-IP selecteren
- Back-endpool: back-endpool selecteren
- Controleer poorten met hoge beschikbaarheid
- Protocol: TCP
- Statustest: Statustest maken met de onderstaande details
- Protocol: TCP
- Poort: [bijvoorbeeld: 620<Instance-no.> voor ASCS]
- Interval: 5
- Testdrempel: 2
- Time-out voor inactiviteit (minuten): 30
- Schakel Zwevend IP-adres in
- Van toepassing op alleen ENSA2-architectuur: Maak extra front-end-IP (10.0.0.44), taakverdelingsregel (gebruik 621<Exemplaar-nee.> voor DE STATUStestpoort VOOR ERS2), zoals beschreven in punt 1 en 3.
Notitie
Het eigenschapsnummer van de statustestconfiguratieofOfProbes, ook wel 'Drempelwaarde beschadigd' genoemd in de portal, wordt niet gerespecteerd. Als u dus het aantal geslaagde of mislukte opeenvolgende tests wilt beheren, stelt u de eigenschap probeThreshold in op 2. Het is momenteel niet mogelijk om deze eigenschap in te stellen met behulp van Azure Portal, dus gebruik de Azure CLI of PowerShell-opdracht .
Notitie
Wanneer VM's zonder openbare IP-adressen worden geplaatst in de back-endpool van een interne (geen openbaar IP-adres) Standard Azure Load Balancer, is er geen uitgaande internetverbinding, tenzij u aanvullende configuratie uitvoert om routering naar openbare eindpunten toe te staan. Zie Openbare eindpuntconnectiviteit voor virtuele machines met behulp van Azure Standard Load Balancer in scenario's met hoge beschikbaarheid van SAP voor meer informatie over het bereiken van uitgaande connectiviteit.
Tip
Met de Azure Resource Manager-sjabloon voor WSFC voor SAP ASCS/SCS-exemplaar met een gedeelde Azure-schijf kunt u de voorbereiding van de infrastructuur automatiseren met behulp van Azure Shared Disk voor één SAP SID met ERS1.
Met de Azure ARM-sjabloon maakt u twee virtuele Windows 2019- of 2016-vm's, maakt u een gedeelde Azure-schijf en koppelt u deze aan de VIRTUELE machines. Azure Internal Load Balancer wordt ook gemaakt en geconfigureerd.
Zie de ARM-sjabloon voor meer informatie.
Registervermeldingen toevoegen op beide clusterknooppunten van het ASCS/SCS-exemplaar
Azure Load Balancer kan verbindingen sluiten als de verbindingen gedurende een bepaalde periode inactief zijn en de time-out voor inactiviteit overschrijden. De SAP-werkprocessen openen verbindingen met het SAP-proces in de wachtrij zodra de eerste aanvraag in de wachtrij moet worden verzonden. Wijzig de waarden TCP/IP KeepAliveTime en KeepAliveInterval op beide clusterknooppunten om te voorkomen dat deze verbindingen worden onderbroken. Als u ERS1 gebruikt, is het ook nodig om SAP-profielparameters toe te voegen, zoals verderop in dit artikel wordt beschreven. De volgende registervermeldingen moeten worden gewijzigd op beide clusterknooppunten:
- KeepAliveTime
- KeepAliveInterval
Pad | Variabelenaam | Type variabele | Weergegeven als | Documentatie |
---|---|---|---|---|
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters | KeepAliveTime | REG_DWORD (decimaal) | 120.000 | KeepAliveTime |
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters | KeepAliveInterval | REG_DWORD (decimaal) | 120.000 | KeepAliveInterval |
Als u de wijzigingen wilt toepassen, start u beide clusterknooppunten opnieuw op.
De Windows-VM's toevoegen aan het domein
Nadat u statische IP-adressen aan de virtuele machines hebt toegewezen, voegt u de virtuele machines toe aan het domein.
Windows-failovercluster installeren en configureren
De windows-failoverclusterfunctie installeren
Voer deze opdracht uit op een van de clusterknooppunten:
# 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 }
Nadat de installatie van de functie is voltooid, start u beide clusterknooppunten opnieuw op.
Windows-failovercluster testen en configureren
In Windows 2019 herkent het cluster automatisch dat het wordt uitgevoerd in Azure. Als standaardoptie voor clusterbeheer-IP wordt de naam van het gedistribueerde netwerk gebruikt. Daarom wordt een van de lokale IP-adressen van de clusterknooppunten gebruikt. Als gevolg hiervan is er geen speciale (virtuele) netwerknaam voor het cluster nodig en hoeft u dit IP-adres niet te configureren in Azure Internal Load Balancer.
Zie Windows Server 2019 Failover Clustering New features Voer deze opdracht uit op een van de clusterknooppunten voor meer informatie:
# 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!"
}
Clustercloudquorum configureren
Als u Windows Server 2016 of 2019 gebruikt, raden we u aan Om Azure Cloud Witness te configureren als clusterquorum.
Voer deze opdracht uit op een van de clusterknooppunten:
$AzureStorageAccountName = "cloudquorumwitness"
Set-ClusterQuorum –CloudWitness –AccountName $AzureStorageAccountName -AccessKey <YourAzureStorageAccessKey> -Verbose
Drempelwaarden voor Windows-failoverclusters afstemmen
Nadat u het Windows-failovercluster hebt geïnstalleerd, moet u enkele drempelwaarden aanpassen om geschikt te zijn voor clusters die zijn geïmplementeerd in Azure. De parameters die moeten worden gewijzigd, worden beschreven in netwerkdrempels voor failoverclusters afstemmen. Ervan uitgaande dat uw twee VIRTUELE machines waaruit de Configuratie van het Windows-cluster voor ASCS/SCS bestaat zich in hetzelfde subnet bevinden, wijzigt u de volgende parameters in deze waarden:
- SameSubNetDelay = 2000
- SameSubNetThreshold = 15
- RouteHistoryLength = 30
Deze instellingen zijn getest met klanten en bieden een goed compromis. Ze zijn tolerant genoeg, maar ze bieden ook failover die snel genoeg is voor echte foutomstandigheden in SAP-workloads of VM-fouten.
Gedeelde Azure-schijf configureren
Deze sectie is alleen van toepassing als u een gedeelde Azure-schijf gebruikt.
Een gedeelde Azure-schijf maken en koppelen met PowerShell
Voer deze opdracht uit op een van de clusterknooppunten. U moet de waarden voor uw resourcegroep, Azure-regio, SAPSID enzovoort aanpassen.
#############################
# 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
De gedeelde schijf formatteren met PowerShell
Haal het schijfnummer op. Voer deze PowerShell-opdrachten uit op een van de clusterknooppunten:
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
Maak de schijf op. In dit voorbeeld is het schijfnummer 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
Controleer of de schijf nu zichtbaar is als een clusterschijf.
# 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\}
Registreer de schijf in het cluster.
# 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 voor de SAP ASCS/SCS-clustershareschijf
Deze sectie is alleen van toepassing als u de software van derden SIOS DataKeeper Cluster Edition gebruikt om een gespiegelde opslag te maken die gedeelde clusterschijf simuleert.
U hebt nu een werkende configuratie voor Windows Server-failoverclustering in Azure. Als u een SAP ASCS/SCS-exemplaar wilt installeren, hebt u een gedeelde schijfresource nodig. Een van de opties is het gebruik van SIOS DataKeeper Cluster Edition is een oplossing van derden die u kunt gebruiken om gedeelde schijfbronnen te maken.
Het installeren van SIOS DataKeeper Cluster Edition voor de SAP ASCS/SCS-clustershareschijf omvat de volgende taken:
- Voeg indien nodig Microsoft .NET Framework toe. Raadpleeg de SIOS-documentatie voor de meest recente vereisten voor .NET Framework
- SIOS DataKeeper installeren
- SIOS DataKeeper configureren
SIOS DataKeeper installeren
Installeer SIOS DataKeeper Cluster Edition op elk knooppunt in het cluster. Als u virtuele gedeelde opslag wilt maken met SIOS DataKeeper, maakt u een gesynchroniseerde spiegel en simuleert u vervolgens gedeelde clusteropslag.
Voordat u de SIOS-software installeert, maakt u de DataKeeperSvc-domeingebruiker.
Notitie
Voeg de DataKeeperSvc-domeingebruiker toe aan de lokale beheerdersgroep op beide clusterknooppunten.
Installeer de SIOS-software op beide clusterknooppunten.
Eerste pagina van de installatie van SIOS DataKeeper
Selecteer Ja in het dialoogvenster.
DataKeeper informeert u dat een service wordt uitgeschakeld
In het dialoogvenster wordt u aangeraden een domein- of serveraccount te selecteren.
Gebruikersselectie voor SIOS DataKeeper
Voer de gebruikersnaam en het wachtwoord van het domeinaccount in die u hebt gemaakt voor SIOS DataKeeper.
Voer de gebruikersnaam en het wachtwoord van het domein in voor de installatie van SIOS DataKeeper
Installeer de licentiesleutel voor uw SIOS DataKeeper-exemplaar, zoals weergegeven in afbeelding 35.
Voer uw SIOS DataKeeper-licentiesleutel in
Start de virtuele machine opnieuw op wanneer u hierom wordt gevraagd.
SIOS DataKeeper configureren
Nadat u SIOS DataKeeper op beide knooppunten hebt geïnstalleerd, start u de configuratie. Het doel van de configuratie is om synchrone gegevensreplicatie te hebben tussen de extra schijven die aan elk van de virtuele machines zijn gekoppeld.
Start het hulpprogramma DataKeeper Management en Configuration en selecteer Vervolgens Connect Server.
SIOS DataKeeper Management and Configuration tool
Voer de naam of het TCP/IP-adres in van het eerste knooppunt waarmee het hulpprogramma Beheer en configuratie verbinding moet maken, en in een tweede stap het tweede knooppunt.
Voeg de naam of het TCP/IP-adres van het eerste knooppunt in waarmee het hulpprogramma Beheer en configuratie verbinding moet maken, en in een tweede stap het tweede knooppunt
Maak de replicatietaak tussen de twee knooppunten.
Een replicatietaak maken
Een wizard begeleidt u bij het maken van een replicatietaak.
Definieer de naam van de replicatietaak.
De naam van de replicatietaak definiëren
Definieer de basisgegevens voor het knooppunt. Dit moet het huidige bronknooppunt zijn
Definieer de naam, het TCP/IP-adres en het schijfvolume van het doelknooppunt.
Definieer de naam, het TCP/IP-adres en het schijfvolume van het huidige doelknooppunt
Definieer de compressiealgoritmen. In ons voorbeeld raden we u aan de replicatiestroom te comprimeren. Vooral in situaties met hersynchronisatie vermindert de compressie van de replicatiestroom de hersynchronisatietijd aanzienlijk. Compressie maakt gebruik van de CPU- en RAM-resources van een virtuele machine. Naarmate de compressiesnelheid toeneemt, neemt ook het volume van CPU-resources toe die worden gebruikt. U kunt deze instelling later aanpassen.
Een andere instelling die u moet controleren, is of de replicatie asynchroon of synchroon plaatsvindt. Wanneer u SAP ASCS/SCS-configuraties beveiligt, moet u synchrone replicatie gebruiken.
Replicatiedetails definiëren
Geef aan of het volume dat wordt gerepliceerd door de replicatietaak moet worden weergegeven in een configuratie van een Windows Server-failovercluster als een gedeelde schijf. Voor de SAP ASCS/SCS-configuratie selecteert u Ja , zodat het Windows-cluster het gerepliceerde volume ziet als een gedeelde schijf die het kan gebruiken als clustervolume.
Selecteer Ja om het gerepliceerde volume in te stellen als clustervolume
Nadat het volume is gemaakt, laat het hulpprogramma DataKeeper Management en Configuration zien dat de replicatietaak actief is.
Synchrone mirroring van DataKeeper voor de SAP ASCS/SCS-shareschijf is actief
Failoverclusterbeheer toont nu de schijf als een DataKeeper-schijf, zoals wordt weergegeven in afbeelding 45:
Failoverclusterbeheer toont de schijf die DataKeeper heeft gerepliceerd