Hög tillgänglighet för SAP ASCS/SCS-instans med flera SID med Windows Server-redundansklustring och delad disk i Azure

Windows OS 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.

Viktigt!

Flytande IP stöds inte på en sekundär IP-konfiguration för nätverkskort i belastningsutjämningsscenarier. Mer information finns i Begränsningar för Azure Load balancer. Om du behöver ytterligare IP-adress för den virtuella datorn distribuerar du ett andra nätverkskort.

Kommentar

Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. 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.

High-availability SAP ASCS/SCS instance

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:

Multiple SAP ASCS/SCS clustered instances in Azure

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:

SAP high-availability multi-SID setup with two SAP system SIDs

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:

DNS Manager list highlighting the defined DNS entry for the new SAP ASCS/SCS cluster virtual name and TCP/IP address

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:

New front-end IP pool in the 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 WSFC-klusterresursdisken som för närvarande används SIOS DataKeeper-programvarulösningen.

Gör följande:

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

DataKeeper synchronous mirroring for the new SAP ASCS/SCS share disk

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:

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

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

  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.
    Om du vill installera det andra klustret följer du stegen i SAP-installationsguiden.

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

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

  7. Installera den primära SAP-programservern på den nya dedikerade virtuella datorn enligt beskrivningen i SAP-installationsguiden.

  8. Installera ytterligare SAP-programservern på den nya dedikerade virtuella datorn enligt beskrivningen i SAP-installationsguiden.

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

Nästa steg