De Azure-infrastructuur voorbereiden voor SAP HA met behulp van een Windows-failovercluster en een gedeelde schijf voor SAP ASCS/SCS

Windows OS Windows

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:

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.

  1. 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.
  2. 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.
  3. 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
  4. 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 .

Belangrijk

Een zwevend IP-adres wordt niet ondersteund op een secundaire IP-configuratie van een netwerkinterfacekaart (NIC) in scenario's voor taakverdeling. Zie Azure Load Balancer-beperkingen voor meer informatie. Als u een ander IP-adres voor de virtuele machine nodig hebt, implementeert u een tweede NIC.

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

  1. 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            
    
  2. 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
    
  3. 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\}
    
  4. 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 Beheer istratorgroep op beide clusterknooppunten.

  1. Installeer de SIOS-software op beide clusterknooppunten.

    SIOS installer

    Figure 31: First page of the SIOS DataKeeper installation

    Eerste pagina van de installatie van SIOS DataKeeper

  2. Selecteer Ja in het dialoogvenster.

    Figure 32: DataKeeper informs you that a service will be disabled

    DataKeeper informeert u dat een service wordt uitgeschakeld

  3. In het dialoogvenster wordt u aangeraden een domein- of serveraccount te selecteren.

    Figure 33: User selection for SIOS DataKeeper

    Gebruikersselectie voor SIOS DataKeeper

  4. Voer de gebruikersnaam en het wachtwoord van het domeinaccount in die u hebt gemaakt voor SIOS DataKeeper.

    Figure 34: Enter the domain user name and password for the SIOS DataKeeper installation

    Voer de gebruikersnaam en het wachtwoord van het domein in voor de installatie van SIOS DataKeeper

  5. Installeer de licentiesleutel voor uw SIOS DataKeeper-exemplaar, zoals weergegeven in afbeelding 35.

    Figure 35: Enter your SIOS DataKeeper license key

    Voer uw SIOS DataKeeper-licentiesleutel in

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

  1. Start het hulpprogramma DataKeeper Management en Configuration en selecteer vervolgens Verbinding maken Server.

    Figure 36: SIOS DataKeeper Management and Configuration tool

    SIOS DataKeeper Management and Configuration tool

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

    Figure 37: Insert the name or TCP/IP address of the first node the Management and Configuration tool should connect to, and in a second step, the second node

    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

  3. Maak de replicatietaak tussen de twee knooppunten.

    Figure 38: Create a replication job

    Een replicatietaak maken

    Een wizard begeleidt u bij het maken van een replicatietaak.

  4. Definieer de naam van de replicatietaak.

    Figure 39: Define the name of the replication job

    De naam van de replicatietaak definiëren

    Figure 40: Define the base data for the node, which should be the current source node

    Definieer de basisgegevens voor het knooppunt. Dit moet het huidige bronknooppunt zijn

  5. Definieer de naam, het TCP/IP-adres en het schijfvolume van het doelknooppunt.

    Figure 41: Define the name, TCP/IP address, and disk volume of the current target node

    Definieer de naam, het TCP/IP-adres en het schijfvolume van het huidige doelknooppunt

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

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

    Figure 42: Define replication details

    Replicatiedetails definiëren

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

    Figure 43: Select Yes to set the replicated volume as a cluster volume

    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.

    Figure 44: DataKeeper synchronous mirroring for the SAP ASCS/SCS share disk is active

    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:

    Figure 45: Failover Cluster Manager shows the disk that DataKeeper replicated

    Failoverclusterbeheer toont de schijf die DataKeeper heeft gerepliceerd

Volgende stappen