Skapa en SAP NetWeaver-konfiguration med flera SID:er med hög tillgänglighet
I september 2016 släppte Microsoft en funktion där du kan hantera flera virtuella IP-adresser med hjälp av en intern Azure-lastbalanserare. Den här funktionen finns redan i den externa Azure-lastbalanseraren.
Om du har en SAP-distribution kan du använda en intern lastbalanserare för att skapa en Windows-klusterkonfiguration för SAP ASCS/SCS, enligt dokumenteringen i guiden för SAP NetWeaver med högtillgänglighet på virtuella Windows-datorer.
Den här artikeln fokuserar på hur du flyttar från en enskild ASCS/SCS-installation till en SAP multi-SID-konfiguration genom att installera ytterligare SAP ASCS/SCS-klustrade instanser till ett befintligt WSFC-kluster (Windows Server Failover Clustering). När den här processen har slutförts har du konfigurerat ett SAP-kluster med flera SID:er.
Anteckning
I den här artikeln används Azure Az PowerShell-modulen, som är den rekommenderade PowerShell-modulen för att interagera med Azure. För att komma igång med Az PowerShell kan du läsa artikeln om att 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 som används för en SAP ASCS/SCS-instans. Mer information finns i guiden för SAP NetWeaver med hög tillgänglighet på virtuella Windows-datorer och som visas i det här diagrammet.

Målarkitektur
Målet är att installera flera SAP ABAP ASCS- eller SAP Java SCS-klustrade instanser i samma WSFC-kluster, som du ser här:

Anteckning
Det finns en gräns för antalet privata IP-adresser på frontend-sidan för varje intern Azure-lastbalanserare.
Det maximala antalet SAP ASCS/SCS-instanser i ett WSFC-kluster är lika med det maximala antalet privata IP-adresser för varje intern Azure-lastbalanserare.
Mer information om lastbalanseringsgränser finns i "Privat IP för frontend per lastbalanserare" i Nätverksgränser: Azure Resource Manager.
Det fullständiga liggande med två SAP-system med hög tillgänglighet skulle se ut så här:

Viktigt
Konfigurationen måste uppfylla följande villkor:
- SAP ASCS/SCS-instanserna måste dela samma WSFC-kluster.
- Varje DBMS SID måste ha ett eget dedikerat WSFC-kluster.
- SAP-programservrar som tillhör ett SAP-system-SID måste ha sina egna dedikerade virtuella datorer.
Förbered infrastrukturen
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 |
| Virtuellt 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 |
Anteckning
För SAP ASCS/SCS-klusterinstanser kräver varje IP-adress en unik avsökningsport. Om till exempel en IP-adress på en intern Lastbalanserare i Azure använder avsökningsport 62300 kan ingen annan IP-adress på lastbalanseraren använda avsökningsporten 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:
| Virtuell datorroll | Värdnamn för virtuell dator | Statisk IP-adress |
|---|---|---|
| Första klusternoden för ASCS/SCS-instansen | pr1-ascs-0 | 10.0.0.10 |
| Andra klusternoden för ASCS/SCS-instansen | 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 värdnamn för SAP ASCS/SCS | 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:

Proceduren för att skapa en DNS-post beskrivs också i detalj i huvudguiden för SAP NetWeaver med hög tillgänglighet på virtuella Windows-datorer.
Anteckning
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 till SAP Azure-lastbalanseraren.
I vårt scenario är IP-adressen 10.0.0.50.
Lägga till en IP-adress till en befintlig intern Azure-lastbalanserare med hjälp av PowerShell
Om du vill skapa fler än en SAP ASCS/SCS-instans i samma WSFC-kluster använder du PowerShell för att lägga till en IP-adress till en befintlig intern Azure-lastbalanserare. Varje IP-adress kräver sina egna regler för belastningsutjämning, avsökningsport, IP-pool på frontend-sidan och backend-pool.
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 VNet and subnet
$VNet = Get-AzVirtualNetwork -Name $VNetName -ResourceGroupName $ResourceGroupName
$Subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $VNet -Name $SubnetName
# Add 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 new updated configuration
$ILB = Get-AzLoadBalancer -Name $ILBname -ResourceGroupName $ResourceGroupName
# Get new updated LP FrontendIP COnfig
$FEConfig = Get-AzLoadBalancerFrontendIpConfig -Name $FrontEndConfigurationName -LoadBalancer $ILB
$HealthProbe = Get-AzLoadBalancerProbeConfig -Name $LBProbeName -LoadBalancer $ILB
# Add new back-end configuration into existing ILB
$BackEndConfigurationName = "backendPoolASCS$count"
Write-Host "Adding new backend Pool '$BackEndConfigurationName' ..." -ForegroundColor Green
$BEConfig = Add-AzLoadBalancerBackendAddressPoolConfig -Name $BackEndConfigurationName -LoadBalancer $ILB | Set-AzLoadBalancer
# Get new updated config
$ILB = Get-AzLoadBalancer -Name $ILBname -ResourceGroupName $ResourceGroupName
# Assign VM NICs to backend 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 Portal, som du ser i 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 den WSFC-klusterresursdisk som används för närvarande SIOS DataKeeper-programvarulösningen.
Gör följande:
- Lägg till ytterligare en disk eller diskar av samma storlek (som du behöver stripe) 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 det måste du nu konfigurera replikeringen mellan datorerna. Processen beskrivs i detalj i huvudguiden för SAP NetWeaver med hög tillgänglighet på virtuella Windows-datorer.

Distribuera virtuella datorer för SAP-programservrar och DBMS-kluster
Gör följande för att slutföra infrastrukturförberedelserna för det andra SAP-systemet:
- Distribuera dedikerade virtuella datorer för SAP-programservrar och placera dem i en egen dedikerad tillgänglighetsgrupp.
- Distribuera dedikerade virtuella datorer för DBMS-kluster och placera dem i en egen dedikerad tillgänglighetsgrupp.
Installera det andra SAP SID2 NetWeaver-systemet
Den fullständiga processen för att installera ett andra SAP SID2-system beskrivs i huvudguiden för SAP NetWeaver med hög tillgänglighet på virtuella Windows-datorer.
Proceduren på hög nivå ser ut så här:
Installera den första SAP-klusternoden.
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] [sap-ha-guide-9.2].
I det här steget installerar du DBMS på ett dedikerat WSFC-kluster.[Installera den andra klusternoden] [sap-ha-guide-9.3].
I det här steget installerar du SAP med en ASCS/SCS-instans med hög tillgänglighet på den befintliga WSFC-klusternoden 2.Öppna Windows-brandväggsportar för SAP ASCS/SCS-instansen och ProbePort.
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 portar visas i guiden för SAP NetWeaver med hög tillgänglighet på virtuella Windows-datorer.
Öppna även avsökningsporten för den interna Lastbalanserare i Azure, som är 62350 i vårt scenario.Installera den primära SAP-programservern på den nya dedikerade virtuella datorn.
Installera YTTERLIGARE SAP-programserver på den nya dedikerade virtuella datorn.
Testa SAP ASCS/SCS-instansens redundans och SIOS-replikering.