Hög tillgänglighet för SAP ASCS/SCS-instans med flera SID med Windows Server-redundansklustring och delad disk i Azure
Windows
Om du har en SAP-distribution måste du använda en intern lastbalanserare för att skapa en Windows-klusterkonfiguration för SAP Central Services-instanser (ASCS/SCS).
Den här artikeln fokuserar på hur du går från en enskild ASCS/SCS-installation till en SAP-konfiguration med flera SID genom att installera ytterligare SAP ASCS/SCS-klustrade instanser i ett befintligt WSFC-kluster (Windows Server Failover Clustering) med delad disk med hjälp av SIOS för att simulera delad disk. När den här processen är klar har du konfigurerat ett SAP multi-SID-kluster.
Kommentar
Den här funktionen är endast tillgänglig i Azure Resource Manager-distributionsmodellen.
Det finns en gräns för antalet privata ip-adresser på klientsidan för varje intern Azure-lastbalanserare.
Det maximala antalet SAP ASCS/SCS-instanser i ett WSFC-kluster är lika med det maximala antalet privata klientdels-IP-adresser för varje intern Azure-lastbalanserare.
Mer information om belastningsutjämningsgränser finns i avsnittet "Privat klientdels-IP per lastbalanserare" i Nätverksgränser: Azure Resource Manager.
Kommentar
Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Information om hur du kommer igång finns i Installera Azure PowerShell. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.
Förutsättningar
Du har redan konfigurerat ett WSFC-kluster att använda för en SAP ASCS/SCS-instans med hjälp av filresursen, enligt det här diagrammet.
Viktigt!
Konfigurationen måste uppfylla följande villkor:
- SAP ASCS/SCS-instanserna måste dela samma WSFC-kluster.
- Varje databashanteringssystem (DBMS) SID måste ha ett eget dedikerat WSFC-kluster.
- SAP-programservrar som tillhör ett SAP-system-SID måste ha egna dedikerade virtuella datorer.
- En blandning av Enqueue Replication Server 1 och Enqueue Replication Server 2 i samma kluster stöds inte.
SAP ASCS/SCS-arkitektur med flera SID med delad disk
Målet är att installera flera SAP ABAP ASCS- eller SAP Java SCS-klustrade instanser i samma WSFC-kluster, enligt följande:
Mer information om belastningsutjämningsgränser finns i avsnittet "Privat klientdels-IP per lastbalanserare" i Nätverksgränser: Azure Resource Manager.
Det fullständiga landskapet med två SAP-system med hög tillgänglighet skulle se ut så här:
Förbereda infrastrukturen för ett SAP-scenario med flera SID
För att förbereda infrastrukturen kan du installera ytterligare en SAP ASCS/SCS-instans med följande parametrar:
Parameternamn | Värde |
---|---|
SAP ASCS/SCS SID | pr1-lb-ascs |
INTERN SAP DBMS-lastbalanserare | PR5 |
VIRTUELL SAP-värdnamn | pr5-sap-cl |
IP-adress för virtuell SAP ASCS/SCS-värd (ytterligare IP-adress för Azure-lastbalanserare) | 10.0.0.50 |
SAP ASCS/SCS-instansnummer | 50 |
ILB-avsökningsport för ytterligare SAP ASCS/SCS-instans | 62350 |
Kommentar
För SAP ASCS/SCS-klusterinstanser kräver varje IP-adress en unik avsökningsport. Om till exempel en IP-adress på en intern Azure-lastbalanserare använder avsökningsport 62300 kan ingen annan IP-adress på lastbalanseraren använda avsökningsport 62300.
Eftersom avsökningsport 62300 redan är reserverad använder vi avsökningsporten 62350.
Du kan installera ytterligare SAP ASCS/SCS-instanser i det befintliga WSFC-klustret med två noder:
Roll för virtuell dator | Värdnamn för virtuell dator | Statisk IP-adress |
---|---|---|
Första klusternoden för ASCS/SCS-instans | pr1-ascs-0 | 10.0.0.10 |
Andra klusternoden för ASCS/SCS-instans | pr1-ascs-1 | 10.0.0.9 |
Skapa ett virtuellt värdnamn för den klustrade SAP ASCS/SCS-instansen på DNS-servern
Du kan skapa en DNS-post för det virtuella värdnamnet för ASCS/SCS-instansen med hjälp av följande parametrar:
Nytt virtuellt SAP ASCS/SCS-värdnamn | Associerad IP-adress |
---|---|
pr5-sap-cl | 10.0.0.50 |
Det nya värdnamnet och IP-adressen visas i DNS-hanteraren enligt följande skärmbild:
Kommentar
Den nya IP-adressen som du tilldelar till det virtuella värdnamnet för den ytterligare ASCS/SCS-instansen måste vara samma som den nya IP-adress som du tilldelade SAP Azure-lastbalanseraren.
I vårt scenario är IP-adressen 10.0.0.50.
Lägga till en IP-adress i en befintlig intern Azure-lastbalanserare med hjälp av PowerShell
Om du vill skapa mer än en SAP ASCS/SCS-instans i samma WSFC-kluster använder du PowerShell för att lägga till en IP-adress i en befintlig intern Azure-lastbalanserare. Varje IP-adress kräver sina egna belastningsutjämningsregler, avsökningsport, klientdels-IP-pool och serverdelspool.
Följande skript lägger till en ny IP-adress till en befintlig lastbalanserare. Uppdatera PowerShell-variablerna för din miljö. Skriptet skapar alla nödvändiga belastningsutjämningsregler för alla SAP ASCS/SCS-portar.
# Select-AzSubscription -SubscriptionId <xxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx>
Clear-Host
$ResourceGroupName = "SAP-MULTI-SID-Landscape" # Existing resource group name
$VNetName = "pr2-vnet" # Existing virtual network name
$SubnetName = "Subnet" # Existing subnet name
$ILBName = "pr2-lb-ascs" # Existing ILB name
$ILBIP = "10.0.0.50" # New IP address
$VMNames = "pr2-ascs-0","pr2-ascs-1" # Existing cluster virtual machine names
$SAPInstanceNumber = 50 # SAP ASCS/SCS instance number: must be a unique value for each cluster
[int]$ProbePort = "623$SAPInstanceNumber" # Probe port: must be a unique value for each IP and load balancer
$ILB = Get-AzLoadBalancer -Name $ILBName -ResourceGroupName $ResourceGroupName
$count = $ILB.FrontendIpConfigurations.Count + 1
$FrontEndConfigurationName ="lbFrontendASCS$count"
$LBProbeName = "lbProbeASCS$count"
# Get the Azure virtual network and subnet
$VNet = Get-AzVirtualNetwork -Name $VNetName -ResourceGroupName $ResourceGroupName
$Subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $VNet -Name $SubnetName
# Add a second front-end and probe configuration
Write-Host "Adding new front end IP Pool '$FrontEndConfigurationName' ..." -ForegroundColor Green
$ILB | Add-AzLoadBalancerFrontendIpConfig -Name $FrontEndConfigurationName -PrivateIpAddress $ILBIP -SubnetId $Subnet.Id
$ILB | Add-AzLoadBalancerProbeConfig -Name $LBProbeName -Protocol Tcp -Port $Probeport -ProbeCount 2 -IntervalInSeconds 10 | Set-AzLoadBalancer
# Get a new updated configuration
$ILB = Get-AzLoadBalancer -Name $ILBname -ResourceGroupName $ResourceGroupName
# Get an updated LP FrontendIpConfig
$FEConfig = Get-AzLoadBalancerFrontendIpConfig -Name $FrontEndConfigurationName -LoadBalancer $ILB
$HealthProbe = Get-AzLoadBalancerProbeConfig -Name $LBProbeName -LoadBalancer $ILB
# Add a back-end configuration into an existing ILB
$BackEndConfigurationName = "backendPoolASCS$count"
Write-Host "Adding new backend Pool '$BackEndConfigurationName' ..." -ForegroundColor Green
$BEConfig = Add-AzLoadBalancerBackendAddressPoolConfig -Name $BackEndConfigurationName -LoadBalancer $ILB | Set-AzLoadBalancer
# Get an updated config
$ILB = Get-AzLoadBalancer -Name $ILBname -ResourceGroupName $ResourceGroupName
# Assign VM NICs to the back-end pool
$BEPool = Get-AzLoadBalancerBackendAddressPoolConfig -Name $BackEndConfigurationName -LoadBalancer $ILB
foreach($VMName in $VMNames){
$VM = Get-AzVM -ResourceGroupName $ResourceGroupName -Name $VMName
$NICName = ($VM.NetworkInterfaceIDs[0].Split('/') | select -last 1)
$NIC = Get-AzNetworkInterface -name $NICName -ResourceGroupName $ResourceGroupName
$NIC.IpConfigurations[0].LoadBalancerBackendAddressPools += $BEPool
Write-Host "Assigning network card '$NICName' of the '$VMName' VM to the backend pool '$BackEndConfigurationName' ..." -ForegroundColor Green
Set-AzNetworkInterface -NetworkInterface $NIC
#start-AzVM -ResourceGroupName $ResourceGroupName -Name $VM.Name
}
# Create load-balancing rules
$Ports = "445","32$SAPInstanceNumber","33$SAPInstanceNumber","36$SAPInstanceNumber","39$SAPInstanceNumber","5985","81$SAPInstanceNumber","5$SAPInstanceNumber`13","5$SAPInstanceNumber`14","5$SAPInstanceNumber`16"
$ILB = Get-AzLoadBalancer -Name $ILBname -ResourceGroupName $ResourceGroupName
$FEConfig = get-AzLoadBalancerFrontendIpConfig -Name $FrontEndConfigurationName -LoadBalancer $ILB
$BEConfig = Get-AzLoadBalancerBackendAddressPoolConfig -Name $BackEndConfigurationName -LoadBalancer $ILB
$HealthProbe = Get-AzLoadBalancerProbeConfig -Name $LBProbeName -LoadBalancer $ILB
Write-Host "Creating load balancing rules for the ports: '$Ports' ... " -ForegroundColor Green
foreach ($Port in $Ports) {
$LBConfigrulename = "lbrule$Port" + "_$count"
Write-Host "Creating load balancing rule '$LBConfigrulename' for the port '$Port' ..." -ForegroundColor Green
$ILB | Add-AzLoadBalancerRuleConfig -Name $LBConfigRuleName -FrontendIpConfiguration $FEConfig -BackendAddressPool $BEConfig -Probe $HealthProbe -Protocol tcp -FrontendPort $Port -BackendPort $Port -IdleTimeoutInMinutes 30 -LoadDistribution Default -EnableFloatingIP
}
$ILB | Set-AzLoadBalancer
Write-Host "Successfully added new IP '$ILBIP' to the internal load balancer '$ILBName'!" -ForegroundColor Green
När skriptet har körts visas resultaten i Azure-portalen, enligt följande skärmbild:
Lägg till diskar i klusterdatorer och konfigurera SIOS-klusterresursdisken
Du måste lägga till en ny klusterresursdisk för varje ytterligare SAP ASCS/SCS-instans. För Windows Server 2012 R2 är WSFC-klusterresursdisken som för närvarande används SIOS DataKeeper-programvarulösningen.
Gör följande:
- Lägg till ytterligare en disk eller diskar av samma storlek (som du behöver randa) till var och en av klusternoderna och formatera dem.
- Konfigurera lagringsreplikering med SIOS DataKeeper.
Den här proceduren förutsätter att du redan har installerat SIOS DataKeeper på WSFC-klusterdatorerna. Om du har installerat den måste du nu konfigurera replikering mellan datorerna. Processen beskrivs i detalj i Installera SIOS DataKeeper Cluster Edition för SAP ASCS/SCS-klusterresursdisken.
Distribuera virtuella datorer för SAP-programservrar och DBMS-klustret
Gör följande för att slutföra infrastrukturförberedelsen för det andra SAP-systemet:
- Distribuera dedikerade virtuella datorer för SAP-programservrarna och placera var och en i sin egen dedikerade tillgänglighetsgrupp.
- Distribuera dedikerade virtuella datorer för DBMS-klustret och placera var och en i sin egen dedikerade tillgänglighetsgrupp.
Installera ett SAP NetWeaver-system med flera SID
En beskrivning av hela processen med att installera ett andra SAP SID2-system finns i SAP NetWeaver HA-installation på Windows-redundanskluster och delad disk för en SAP ASCS/SCS-instans.
Den övergripande proceduren är följande:
Installera SAP med en ASCS/SCS-instans med hög tillgänglighet.
I det här steget installerar du SAP med en ASCS/SCS-instans med hög tillgänglighet på den befintliga WSFC-klusternoden 1.Konfigurera en avsökningsport.
I det här steget konfigurerar du en SAP-klusterresurs SAP-SID2-IP-avsökningsport med hjälp av PowerShell. Kör den här konfigurationen på en av SAP ASCS/SCS-klusternoderna.Installera databasinstansen.
Om du vill installera det andra klustret följer du stegen i SAP-installationsguiden.Installera den andra klusternoden.
I det här steget installerar du SAP med en ASCS/SCS-instans med hög tillgänglighet på den befintliga WSFC-klusternoden 2. Om du vill installera det andra klustret följer du stegen i SAP-installationsguiden.Öppna Windows-brandväggsportarna för SAP ASCS/SCS-instansen och avsökningsporten.
På båda klusternoderna som används för SAP ASCS/SCS-instanser öppnar du alla Windows-brandväggsportar som används av SAP ASCS/SCS. Dessa SAP ASCS/SCS-instansportar visas i kapitlet SAP ASCS/SCS-portar.En lista över alla andra SAP-portar finns i TCP/IP-portar för alla SAP-produkter.
Öppna även den interna avsökningsporten för Azure-lastbalanseraren, som är 62350 i vårt scenario. Det beskrivs i den här artikeln.
Installera den primära SAP-programservern på den nya dedikerade virtuella datorn enligt beskrivningen i SAP-installationsguiden.
Installera ytterligare SAP-programservern på den nya dedikerade virtuella datorn enligt beskrivningen i SAP-installationsguiden.
Testa SAP ASCS/SCS-instansens redundans och SIOS-replikering.