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.

SAP ASCS/SCS-instans med hög tillgänglighet

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:

Flera klustrade SAP ASCS/SCS-instanser i Azure

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:

SAP-konfiguration med hög tillgänglighet för flera SID med två SAP-system-SID:er

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:

DNS-hanterarens lista med den definierade DNS-posten för det nya virtuella SAP ASCS/SCS-klustrets namn och TCP/IP-adress

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:

Ny IP-adresspool på Azure Portal

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:

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

DataKeeper-synkron spegling för den nya SAP ASCS/SCS-resursdisken

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:

  1. Distribuera dedikerade virtuella datorer för SAP-programservrar och placera dem i en egen dedikerad tillgänglighetsgrupp.
  2. 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:

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

  2. Ändra SAP-profilen för ASCS/SCS-instansen.

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

  4. [Installera databasinstansen] [sap-ha-guide-9.2].
    I det här steget installerar du DBMS på ett dedikerat WSFC-kluster.

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

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

  7. Ändra starttypen för SAP ERS Windows-tjänstinstansen.

  8. Installera den primära SAP-programservern på den nya dedikerade virtuella datorn.

  9. Installera YTTERLIGARE SAP-programserver på den nya dedikerade virtuella datorn.

  10. Testa SAP ASCS/SCS-instansens redundans och SIOS-replikering.

Nästa steg