Installera SAP NetWeaver HA på ett Windows-redundanskluster och delad disk för en SAP ASCS/SCS-instans i Azure
Den här artikeln beskriver hur du installerar och konfigurerar ett SAP-system med hög tillgänglighet i Azure med hjälp av ett Windows Server-redundanskluster och klusterdelade diskar för klustring av en SAP ASCS/SCS-instans. Som beskrivs i Arkitekturguide: Klustra en SAP ASCS/SCS-instans i ett Windows-redundanskluster med hjälp av en klusterdelad disk finns det två alternativ för klusterdelade diskar:
- Delade diskar i Azure
- Använda SIOS DataKeeper Cluster Edition för att skapa speglad lagring, som simulerar klustrad delad disk
Förutsättningar
Innan du påbörjar installationen bör du granska följande dokument:
Vi beskriver inte DBMS-konfigurationen i den här artikeln eftersom konfigurationerna varierar beroende på vilket DBMS-system du använder. Vi antar att problem med hög tillgänglighet med DBMS åtgärdas med de funktioner som olika DBMS-leverantörer stöder för Azure. Exempel är AlwaysOn eller databasspegling för SQL Server- och Oracle Data Guard för Oracle-databaser. Scenarier med hög tillgänglighet för DBMS beskrivs inte i den här artikeln.
Det finns inga särskilda överväganden när olika DBMS-tjänster interagerar med en klustrad SAP ASCS- eller SCS-konfiguration i Azure.
Kommentar
Installationsprocedurerna för SAP NetWeaver ABAP-system, Java-system och ABAP+Java-system är nästan identiska. Den största skillnaden är att ett SAP ABAP-system har en ASCS-instans. SAP Java-systemet har en SCS-instans. SAP ABAP+Java-systemet har en ASCS-instans och en SCS-instans som körs i samma Microsoft-redundansklustergrupp. Eventuella installationsskillnader för varje SAP NetWeaver-installationsstack nämns uttryckligen. Du kan anta att resten av stegen är desamma.
Installera SAP med en ASCS/SCS-instans med hög tillgänglighet
Viktigt!
Om du använder SIOS för att presentera en delad disk ska du inte placera sidfilen på de SIOS DataKeeper-speglade volymerna. Du kan lämna sidfilen på den tillfälliga enheten D för en virtuell Azure-dator, vilket är standardinställningen. Om den inte redan finns där flyttar du Windows-sidfilen för att köra D för den virtuella Azure-datorn.
Att installera SAP med en ASCS/SCS-instans med hög tillgänglighet omfattar följande uppgifter:
- Skapa ett virtuellt värdnamn för den klustrade SAP ASCS/SCS-instansen.
- Installera SAP på den första klusternoden.
- Ändra SAP-profilen för ASCS/SCS-instansen.
- Lägg till en avsökningsport.
- Öppna windows-brandväggens avsökningsport.
Skapa ett virtuellt värdnamn för den klustrade SAP ASCS/SCS-instansen
I Windows DNS-hanteraren skapar du en DNS-post för det virtuella värdnamnet för ASCS/SCS-instansen.
Viktigt!
IP-adressen som du tilldelar till det virtuella värdnamnet för ASCS/SCS-instansen måste vara samma som DEN IP-adress som du tilldelade Azure Load Balancer.
Definiera DNS-posten för SAP ASCS/SCS-klustrets virtuella namn och TCP/IP-adress
Om du använder den nya SAP Enqueue Replication Server 2, som också är en klustrad instans, måste du även reservera ett virtuellt värdnamn för ERS2 i DNS.
Viktigt!
IP-adressen som du tilldelar till det virtuella värdnamnet för ERS2-instansen måste vara den andra IP-adressen som du tilldelade Azure Load Balancer.
Definiera DNS-posten för sap ERS2-klustrets virtuella namn och TCP/IP-adress
Om du vill definiera DEN IP-adress som har tilldelats till det virtuella värdnamnet väljer du DNS Manager-domän>.
Nytt virtuellt namn och TCP/IP-adress för SAP ASCS/SCS-klusterkonfiguration
Installera den första SAP-klusternoden
Kör det första alternativet för klusternod på klusternod A. Välj:
- ABAP-system: ASCS-instansnummer 00
- Java-system: SCS-instansnummer 01
- ABAP+Java-system: ASCS-instansnummer 00 och SCS-instansnummer 01
Viktigt!
Tänk på att konfigurationen i azures interna lastbalanseringsregler (om du använder Basic SKU) och de valda SAP-instansnumren måste matcha.
Följ installationsproceduren som beskrivs i SAP. Se till att i startinstallationsalternativet "First Cluster Node" (Första klusternoden) välja "Klusterdelade disk" som konfigurationsalternativ.
Dricks
Installationsdokumentationen för SAP beskriver hur du installerar den första ASCS/SCS-klusternoden.
Ändra SAP-profilen för ASCS/SCS-instansen
Om du har Enqueue Replication Server 1 lägger du till SAP-profilparametern enque/encni/set_so_keepalive
enligt beskrivningen nedan. Profilparametern förhindrar att anslutningar mellan SAP-arbetsprocesser och enqueue-servern stängs när de är inaktiva för länge. SAP-parametern krävs inte för ERS2.
Lägg till den här profilparametern i SAP ASCS/SCS-instansprofilen om du använder ERS1.
enque/encni/set_so_keepalive = true
För både ERS1 och ERS2 kontrollerar du att OS-parametrarna har angetts enligt beskrivningen
keepalive
i SAP-1410736.Om du vill tillämpa ändringar i SAP-profilparametern startar du om SAP ASCS/SCS-instansen.
Lägga till en avsökningsport
Använd den interna lastbalanserarens avsökningsfunktion för att få hela klusterkonfigurationen att fungera med Azure Load Balancer. Den interna Azure-lastbalanseraren distribuerar vanligtvis den inkommande arbetsbelastningen lika mellan deltagande virtuella datorer.
Detta fungerar dock inte i vissa klusterkonfigurationer eftersom endast en instans är aktiv. Den andra instansen är passiv och kan inte acceptera någon av arbetsbelastningen. En avsökningsfunktion hjälper till när den interna Azure-lastbalanseraren identifierar vilken instans som är aktiv och endast riktar in sig på den aktiva instansen.
Viktigt!
I den här exempelkonfigurationen är ProbePort inställt på 620Nr. För SAP ASCS-instans med nummer 00 är det 62000. Du måste justera konfigurationen så att den matchar dina SAP-instansnummer och DITT SAP SID.
Om du vill lägga till en avsökningsport kör du den här PowerShell-modulen på någon av de virtuella klusterdatorerna:
När det gäller SAP ASC/SCS-instans
Set-AzureLoadBalancerHealthCheckProbePortOnSAPClusterIPResource -SAPSID SID -ProbePort 62000
Om du använder ERS2, som är klustrad. Du behöver inte konfigurera avsökningsporten för ERS1 eftersom den inte är klustrad.
Set-AzureLoadBalancerHealthCheckProbePortOnSAPClusterIPResource -SAPSID SID -ProbePort 62001 -IsSAPERSClusteredInstance $True
Koden för funktionen Set-AzureLoadBalancerHealthCheckProbePortOnSAPClusterIPResource
skulle se ut så här:
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 {}
}
Öppna windows-brandväggens avsökningsport
Öppna en Windows-brandväggsavsökningsport på båda klusternoderna. Använd följande skript för att öppna en Windows-brandväggsavsökningsport. Uppdatera PowerShell-variablerna för din miljö.
Om du använder ERS2 måste du också öppna brandväggsporten för ERS2-avsökningsporten.
$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
Installera databasinstansen
Om du vill installera databasinstansen följer du den process som beskrivs i installationsdokumentationen för SAP.
Installera den andra klusternoden
Om du vill installera det andra klustret följer du stegen som beskrivs i installationsguiden för SAP.
Installera DEN primära SAP-programservern
Installera PAS-instansen <(Primary Application Server) SID-di-0> på den virtuella dator som du har angett som värd för PAS. Det finns inga beroenden i Azure. Om du använder SIOS finns det inga DataKeeper-specifika inställningar.
Installera YTTERLIGARE SAP-programserver
Installera en SAP Additional Application Server (AAS) på alla virtuella datorer som du har angett som värd för en SAP Application Server-instans.
Testa SAP ASCS/SCS-instansens redundans
För de konturerade redundanstesterna antar vi att SAP ASCS är aktivt på nod A.
Kontrollera att SAP-systemet kan redundansväbbla från nod A till nod B Välj något av dessa alternativ för att initiera en redundansväxling av SAP <SID-klustergruppen> från klusternod A till klusternod B:
- Hanterare av redundanskluster
- PowerShell för redundanskluster
$SAPSID = "PR1" # SAP <SID> $SAPClusterGroup = "SAP $SAPSID" Move-ClusterGroup -Name $SAPClusterGroup
Starta om klusternoden A i Windows gästoperativsystem. Detta initierar en automatisk redundansväxling av SAP <SID-klustergruppen> från nod A till nod B.
Starta om klusternoden A från Azure Portal. Detta initierar en automatisk redundansväxling av SAP <SID-klustergruppen> från nod A till nod B.
Starta om klusternoden A med hjälp av Azure PowerShell. Detta initierar en automatisk redundansväxling av SAP <SID-klustergruppen> från nod A till nod B.
Verifiering
Efter redundans kontrollerar du att SAP <SID-klustergruppen> körs på klusternod B.
I Klusterhanteraren för växling vid fel körs SAP <SID-klustergruppen> på klusternoden B
Efter redundansväxlingen kontrollerar du att den delade disken nu är monterad på klusternoden B.
Om du använder SIOS efter redundansväxlingen kontrollerar du att SIOS DataKeeper replikerar data från källvolymenheten S på klusternod B till målvolymenheten S på klusternoden A.
SIOS DataKeeper replikerar den lokala volymen från klusternod B till klusternod A