SAP NetWeaver HA installeren op een Windows-failovercluster en gedeelde schijf voor een SAP ASCS/SCS-exemplaar in Azure
In dit artikel wordt beschreven hoe u een SAP-systeem met hoge beschikbaarheid in Azure installeert en configureert met behulp van een Windows Server-failovercluster en een gedeelde clusterschijf voor het clusteren van een SAP ASCS/SCS-exemplaar. Zoals beschreven in architectuurhandleiding: Cluster een SAP ASCS/SCS-exemplaar op een Windows-failovercluster met behulp van een gedeelde clusterschijf, zijn er twee alternatieven voor gedeelde clusterschijven:
- Gedeelde Azure-schijven
- SIOS DataKeeper Cluster Edition gebruiken om gespiegelde opslag te maken, waarmee een geclusterde gedeelde schijf wordt gesimuleerd
Vereisten
Raadpleeg deze documenten voordat u begint met de installatie:
We beschrijven de DBMS-installatie in dit artikel niet, omdat setups variëren, afhankelijk van het DBMS-systeem dat u gebruikt. We gaan ervan uit dat problemen met hoge beschikbaarheid met dbMS worden aangepakt met de functionaliteiten die verschillende DBMS-leveranciers ondersteunen voor Azure. Voorbeelden zijn AlwaysOn of databasespiegeling voor SQL Server en Oracle Data Guard voor Oracle-databases. De scenario's voor hoge beschikbaarheid voor DBMS worden niet behandeld in dit artikel.
Er zijn geen speciale overwegingen wanneer verschillende DBMS-services communiceren met een geclusterde SAP ASCS- of SCS-configuratie in Azure.
Notitie
De installatieprocedures van SAP NetWeaver ABAP-systemen, Java-systemen en ABAP+Java-systemen zijn bijna identiek. Het belangrijkste verschil is dat een SAP ABAP-systeem één ASCS-exemplaar heeft. Het SAP Java-systeem heeft één SCS-exemplaar. Het SAP ABAP+Java-systeem heeft één ASCS-exemplaar en één SCS-exemplaar dat wordt uitgevoerd in dezelfde Microsoft-failoverclustergroep. Eventuele installatieverschillen voor elke SAP NetWeaver-installatiestack worden expliciet vermeld. U kunt ervan uitgaan dat de rest van de stappen hetzelfde zijn.
SAP installeren met een ASCS/SCS-exemplaar met hoge beschikbaarheid
Belangrijk
Als u SIOS gebruikt om gedeelde schijven te presenteren, plaatst u het paginabestand niet op de gespiegelde SIOS DataKeeper-volumes. U kunt het paginabestand op het tijdelijke station D van een virtuele Azure-machine laten staan. Dit is de standaardinstelling. Als dit nog niet is gebeurd, verplaatst u het Windows-paginabestand naar station D van uw virtuele Azure-machine.
Het installeren van SAP met een ASCS/SCS-exemplaar met hoge beschikbaarheid omvat deze taken:
- Maak een virtuele hostnaam voor het geclusterde SAP ASCS/SCS-exemplaar.
- Installeer SAP op het eerste clusterknooppunt.
- Wijzig het SAP-profiel van het ASCS/SCS-exemplaar.
- Voeg een testpoort toe.
- Open de windows-firewalltestpoort.
Een virtuele hostnaam maken voor het geclusterde SAP ASCS/SCS-exemplaar
Maak in Windows DNS-beheer een DNS-vermelding voor de naam van de virtuele host van het ASCS/SCS-exemplaar.
Belangrijk
Het IP-adres dat u toewijst aan de naam van de virtuele host van het ASCS/SCS-exemplaar, moet hetzelfde zijn als het IP-adres dat u hebt toegewezen aan Azure Load Balancer.
Definieer de DNS-vermelding voor de virtuele naam van het SAP ASCS/SCS-cluster en het TCP/IP-adres
Als u de nieuwe SAP Enqueue Replication Server 2 gebruikt, die ook een geclusterd exemplaar is, moet u ook een virtuele hostnaam voor ERS2 reserveren in DNS.
Belangrijk
Het IP-adres dat u toewijst aan de naam van de virtuele host van het ERS2-exemplaar, moet het tweede IP-adres zijn dat u hebt toegewezen aan Azure Load Balancer.
Definieer de DNS-vermelding voor de virtuele naam van het SAP ERS2-cluster en het TCP/IP-adres
Als u het IP-adres wilt definiëren dat is toegewezen aan de naam van de virtuele host, selecteert u DNS Manager-domein>.
Nieuwe virtuele naam en TCP/IP-adres voor SAP ASCS/SCS-clusterconfiguratie
Het eerste SAP-clusterknooppunt installeren
Voer de eerste clusterknooppuntoptie uit op clusterknooppunt A. Selecteer:
- ABAP-systeem: ASCS-exemplaarnummer 00
- Java-systeem: SCS-exemplaarnummer 01
- ABAP+Java-systeem: ASCS-exemplaarnummer 00 en SCS-exemplaarnummer 01
Belangrijk
Houd er rekening mee dat de configuratie in de interne load balancer-taakverdelingsregels van Azure (als u basic-SKU gebruikt) en de geselecteerde SAP-exemplaarnummers overeenkomen.
Volg de beschreven SAP-installatieprocedure. Zorg ervoor dat u in de startinstallatieoptie 'Eerste clusterknooppunt' kiest als configuratieoptie 'Gedeelde clusterschijf'.
Tip
In de SAP-installatiedocumentatie wordt beschreven hoe u het eerste ASCS/SCS-clusterknooppunt installeert.
Het SAP-profiel van het ASCS/SCS-exemplaar wijzigen
Als u Replicatieserver 1 in de wachtrij hebt, voegt u de SAP-profielparameter enque/encni/set_so_keepalive
toe, zoals hieronder wordt beschreven. De profielparameter voorkomt dat verbindingen tussen SAP-werkprocessen en de wachtrijserver worden gesloten wanneer ze te lang inactief zijn. De SAP-parameter is niet vereist voor ERS2.
Voeg deze profielparameter toe aan het SAP ASCS/SCS-exemplaarprofiel als u ERS1 gebruikt.
enque/encni/set_so_keepalive = true
Voor zowel ERS1 als ERS2 moet u ervoor zorgen dat de parameters van het
keepalive
besturingssysteem zijn ingesteld zoals beschreven in SAP-opmerking 1410736.Als u de parameterwijzigingen voor het SAP-profiel wilt toepassen, start u het SAP ASCS/SCS-exemplaar opnieuw op.
Een testpoort toevoegen
Gebruik de testfunctionaliteit van de interne load balancer om de volledige clusterconfiguratie te laten werken met Azure Load Balancer. De interne Load Balancer van Azure distribueert meestal de binnenkomende werkbelasting gelijkmatig tussen deelnemende virtuele machines.
Dit werkt echter niet in sommige clusterconfiguraties omdat er slechts één exemplaar actief is. Het andere exemplaar is passief en kan geen enkele workload accepteren. Een testfunctionaliteit helpt wanneer de interne Load Balancer van Azure detecteert welk exemplaar actief is en alleen gericht is op het actieve exemplaar.
Belangrijk
In deze voorbeeldconfiguratie is ProbePort ingesteld op 620Nr. Voor SAP ASCS-exemplaar met nummer 00 is dit 62000. U moet de configuratie aanpassen zodat deze overeenkomt met uw SAP-exemplaarnummers en uw SAP-SID.
Als u een testpoort wilt toevoegen, voert u deze PowerShell-module uit op een van de cluster-VM's:
In het geval van SAP ASC/SCS-exemplaar
Set-AzureLoadBalancerHealthCheckProbePortOnSAPClusterIPResource -SAPSID SID -ProbePort 62000
Als u ERS2 gebruikt, die is geclusterd. Er hoeft geen testpoort te worden geconfigureerd voor ERS1, omdat deze niet is geclusterd.
Set-AzureLoadBalancerHealthCheckProbePortOnSAPClusterIPResource -SAPSID SID -ProbePort 62001 -IsSAPERSClusteredInstance $True
De code voor de functie Set-AzureLoadBalancerHealthCheckProbePortOnSAPClusterIPResource
ziet er als volgt uit:
function Set-AzureLoadBalancerHealthCheckProbePortOnSAPClusterIPResource {
<#
.SYNOPSIS
Set-AzureLoadBalancerHealthProbePortOnSAPClusterIPResource will set a new Azure Load Balancer Health Probe Port on 'SAP $SAPSID IP' cluster resource.
.DESCRIPTION
Set-AzureLoadBalancerHealthProbePortOnSAPClusterIPResource will set a new Azure Load Balancer Health Probe Port on 'SAP $SAPSID IP' cluster resource.
It will also restart SAP Cluster group (default behavior), to activate the changes.
You need to run it on one of the SAP ASCS/SCS Windows cluster nodes.
Expectation is that SAP group is installed with official SWPM installation tool, which will set default expected naming convention for:
- SAP Cluster Group: 'SAP $SAPSID'
- SAP Cluster IP Address Resource: 'SAP $SAPSID IP'
.PARAMETER SAPSID
SAP SID - 3 characters staring with letter.
.PARAMETER ProbePort
Azure Load Balancer Health Check Probe Port.
.PARAMETER RestartSAPClusterGroup
Optional parameter. Default value is '$True', so SAP cluster group will be restarted to activate the changes.
.PARAMETER IsSAPERSClusteredInstance
Optional parameter.Default value is '$False'.
If set to $True , then handle clsutered new SAP ERS2 instance.
.EXAMPLE
# Set probe port to 62000, on SAP cluster resource 'SAP AB1 IP', and restart the SAP cluster group 'SAP AB1', to activate the changes.
Set-AzureLoadBalancerHealthCheckProbePortOnSAPClusterIPResource -SAPSID AB1 -ProbePort 62000
.EXAMPLE
# Set probe port to 62000, on SAP cluster resource 'SAP AB1 IP'. SAP cluster group 'SAP AB1' IS NOT restarted, therefore changes are NOT active.
# To activate the changes you need to manualy restart 'SAP AB1' cluster group.
Set-AzureLoadBalancerHealthCheckProbePortOnSAPClusterIPResource -SAPSID AB1 -ProbePort 62000 -RestartSAPClusterGroup $False
.EXAMPLE
# Set probe port to 62001, on SAP cluster resource 'SAP AB1 ERS IP'. SAP cluster group 'SAP AB1 ERS' IS restarted, to activate the changes.
Set-AzureLoadBalancerHealthCheckProbePortOnSAPClusterIPResource -SAPSID AB1 -ProbePort 62000 -IsSAPERSClusteredInstance $True
#>
[CmdletBinding()]
param(
[Parameter(Mandatory=$True)]
[ValidateNotNullOrEmpty()]
[ValidateLength(3,3)]
[string]$SAPSID,
[Parameter(Mandatory=$True)]
[ValidateNotNullOrEmpty()]
[int] $ProbePort,
[Parameter(Mandatory=$False)]
[bool] $RestartSAPClusterGroup = $True,
[Parameter(Mandatory=$False)]
[bool] $IsSAPERSClusteredInstance = $False
)
BEGIN{}
PROCESS{
try{
if($IsSAPERSClusteredInstance){
#Handle clustered SAP ERS Instance
$SAPClusterRoleName = "SAP $SAPSID ERS"
$SAPIPresourceName = "SAP $SAPSID ERS IP"
}else{
#Handle clustered SAP ASCS/SCS Instance
$SAPClusterRoleName = "SAP $SAPSID"
$SAPIPresourceName = "SAP $SAPSID IP"
}
$SAPIPResourceClusterParameters = Get-ClusterResource $SAPIPresourceName | Get-ClusterParameter
$IPAddress = ($SAPIPResourceClusterParameters | Where-Object {$_.Name -eq "Address" }).Value
$NetworkName = ($SAPIPResourceClusterParameters | Where-Object {$_.Name -eq "Network" }).Value
$SubnetMask = ($SAPIPResourceClusterParameters | Where-Object {$_.Name -eq "SubnetMask" }).Value
$OverrideAddressMatch = ($SAPIPResourceClusterParameters | Where-Object {$_.Name -eq "OverrideAddressMatch" }).Value
$EnableDhcp = ($SAPIPResourceClusterParameters | Where-Object {$_.Name -eq "EnableDhcp" }).Value
$OldProbePort = ($SAPIPResourceClusterParameters | Where-Object {$_.Name -eq "ProbePort" }).Value
$var = Get-ClusterResource | Where-Object { $_.name -eq $SAPIPresourceName }
Write-Output "Current configuration parameters for SAP IP cluster resource '$SAPIPresourceName' are:"
Get-ClusterResource -Name $SAPIPresourceName | Get-ClusterParameter
Write-Output " "
Write-Output "Current probe port property of the SAP cluster resource '$SAPIPresourceName' is '$OldProbePort'."
Write-Output " "
Write-Output "Setting the new probe port property of the SAP cluster resource '$SAPIPresourceName' to '$ProbePort' ..."
Write-Output " "
$var | Set-ClusterParameter -Multiple @{"Address"=$IPAddress;"ProbePort"=$ProbePort;"Subnetmask"=$SubnetMask;"Network"=$NetworkName;"OverrideAddressMatch"=$OverrideAddressMatch;"EnableDhcp"=$EnableDhcp}
Write-Output " "
if($RestartSAPClusterGroup){
Write-Output ""
Write-Output "Activating changes..."
Write-Output " "
Write-Output "Taking SAP cluster IP resource '$SAPIPresourceName' offline ..."
Stop-ClusterResource -Name $SAPIPresourceName
sleep 5
Write-Output "Starting SAP cluster role '$SAPClusterRoleName' ..."
Start-ClusterGroup -Name $SAPClusterRoleName
Write-Output "New ProbePort parameter is active."
Write-Output " "
Write-Output "New configuration parameters for SAP IP cluster resource '$SAPIPresourceName':"
Write-Output " "
Get-ClusterResource -Name $SAPIPresourceName | Get-ClusterParameter
}else
{
Write-Output "SAP cluster role '$SAPClusterRoleName' is not restarted, therefore changes are not activated."
}
}
catch{
Write-Error $_.Exception.Message
}
}
END {}
}
De windows-firewalltestpoort openen
Open een Windows Firewall-testpoort op beide clusterknooppunten. Gebruik het volgende script om een Windows Firewall-testpoort te openen. Werk de PowerShell-variabelen voor uw omgeving bij.
Als u ERS2 gebruikt, moet u ook de firewallpoort openen voor de ERS2-testpoort.
$ProbePort = 62000 # ProbePort of the Azure internal load balancer
New-NetFirewallRule -Name AzureProbePort -DisplayName "Rule for Azure Probe Port" -Direction Inbound -Action Allow -Protocol TCP -LocalPort $ProbePort
Het database-exemplaar installeren
Als u het database-exemplaar wilt installeren, volgt u het proces dat wordt beschreven in de SAP-installatiedocumentatie.
Het tweede clusterknooppunt installeren
Als u het tweede cluster wilt installeren, volgt u de stappen die worden beschreven in de SAP-installatiehandleiding.
De PRIMAIRE SAP-toepassingsserver installeren
Installeer de SID-di-0> van het primaire toepassingsserverexemplaren <(PAS) op de virtuele machine die u hebt aangewezen om het PAS te hosten. Er zijn geen afhankelijkheden van Azure. Als u SIOS gebruikt, zijn er geen DataKeeper-specifieke instellingen.
De SAP-extra toepassingsserver installeren
Installeer een SAP Additional Application Server (AAS) op alle virtuele machines die u hebt aangewezen om een SAP Application Server-exemplaar te hosten.
De failover van het SAP ASCS-/SCS-exemplaar testen
Voor de beschreven failovertests wordt ervan uitgegaan dat SAP ASCS actief is op knooppunt A.
Controleer of het SAP-systeem een failover van knooppunt A naar knooppunt B kan uitvoeren. Kies een van deze opties om een failover van de SAP <SID-clustergroep> te starten van clusterknooppunt A naar clusterknooppunt B:
- Failoverclusterbeheer
- PowerShell voor failovercluster
$SAPSID = "PR1" # SAP <SID> $SAPClusterGroup = "SAP $SAPSID" Move-ClusterGroup -Name $SAPClusterGroup
Start het clusterknooppunt A opnieuw op binnen het Windows-gastbesturingssysteem. Hiermee wordt een automatische failover van de SAP <SID-clustergroep> gestart van knooppunt A naar knooppunt B.
Start clusterknooppunt A opnieuw vanuit Azure Portal. Hiermee wordt een automatische failover van de SAP <SID-clustergroep> gestart van knooppunt A naar knooppunt B.
Start clusterknooppunt A opnieuw op met behulp van Azure PowerShell. Hiermee wordt een automatische failover van de SAP <SID-clustergroep> gestart van knooppunt A naar knooppunt B.
Verificatie
Controleer na een failover of de SAP <SID-clustergroep> wordt uitgevoerd op clusterknooppunt B.
In Failoverclusterbeheer wordt de SAP <SID-clustergroep> uitgevoerd op clusterknooppunt B
Controleer na een failover of de gedeelde schijf nu is gekoppeld op clusterknooppunt B.
Als u na een failover SIOS gebruikt, controleert u of SIOS DataKeeper gegevens repliceert van bronvolumestation S op clusterknooppunt B naar doelvolumestation S op clusterknooppunt A.
SIOS DataKeeper repliceert het lokale volume van clusterknooppunt B naar clusterknooppunt A