Hoge beschikbaarheid van MEERDERE SID's van SAP ASCS/SCS-exemplaren met Windows Server-failoverclustering en gedeelde schijf in Azure

Windows OS Windows

Als u een SAP-implementatie hebt, moet u een interne load balancer gebruiken om een Windows-clusterconfiguratie te maken voor ASCS/SCS-exemplaren (SAP Central Services).

Dit artikel is gericht op het verplaatsen van één ASCS/SCS-installatie naar een SAP-configuratie met meerdere SID's door extra SAP ASCS/SCS-geclusterde exemplaren te installeren in een bestaand WSFC-cluster (Windows Server Failover Clustering) met een gedeelde schijf, met behulp van SIOS om gedeelde schijven te simuleren. Wanneer dit proces is voltooid, hebt u een SAP multi-SID-cluster geconfigureerd.

Notitie

Deze functie is alleen beschikbaar in het Azure Resource Manager implementatiemodel.

Er geldt een limiet voor het aantal privé-front-end-IP's voor elke interne Azure-load balancer.

Het maximum aantal SAP ASCS/SCS-exemplaren in één WSFC-cluster is gelijk aan het maximum aantal privé-front-end-IP's voor elke interne Azure-load balancer.

Zie de sectie Privé-front-end-IP per load balancer in Netwerklimieten: Azure Resource Manager voor meer informatie over load balancer-limieten.

Belangrijk

Zwevend IP wordt niet ondersteund op een secundaire IP-configuratie van een NIC in taakverdelingsscenario's. Zie Beperkingen voor Azure Load Balancer voor meer informatie. Als u een extra IP-adres voor de VM nodig hebt, implementeert u een tweede NIC.

Notitie

Dit artikel is bijgewerkt om gebruik te maken van de Azure Az PowerShell-module. De Az PowerShell-module is de aanbevolen PowerShell-module voor interactie met Azure. Raadpleeg Azure PowerShell installeren om aan de slag te gaan met de Az PowerShell-module. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.

Vereisten

U hebt al een WSFC-cluster geconfigureerd voor gebruik voor één SAP ASCS/SCS-exemplaar met behulp van de bestands share , zoals wordt weergegeven in dit diagram.

SAP ASCS/SCS-exemplaar met hoge beschikbaarheid

Belangrijk

De installatie moet voldoen aan de volgende voorwaarden:

  • De SAP ASCS/SCS-exemplaren moeten hetzelfde WSFC-cluster delen.
  • Elke DBMS-SID (Database Management System) moet een eigen toegewezen WSFC-cluster hebben.
  • SAP-toepassingsservers die deel uitmaken van één SAP-systeem-SID, moeten hun eigen toegewezen VM's hebben.
  • Een combinatie van Enqueue Replication Server 1 en Enqueue Replication Server 2 in hetzelfde cluster wordt niet ondersteund.

SAP ASCS/SCS-architectuur met meerdere SID's met gedeelde schijf

Het doel is om meerdere geclusterde SAP ABAP ASCS- of SAP Java SCS-geclusterde exemplaren te installeren in hetzelfde WSFC-cluster, zoals hier wordt geïllustreerd:

Meerdere geclusterde SAP ASCS/SCS-exemplaren in Azure

Zie de sectie Privé-front-end-IP per load balancer in Netwerklimieten: Azure Resource Manager voor meer informatie over load balancer-limieten.

Het volledige landschap met twee SAP-systemen met hoge beschikbaarheid zou er als volgende uitzien:

Sap-installatie met hoge beschikbaarheid met meerdere SID's met twee SAP-systeem-SID's

De infrastructuur voorbereiden voor een SAP multi-SID-scenario

Als u uw infrastructuur wilt voorbereiden, kunt u een extra SAP ASCS/SCS-exemplaar installeren met de volgende parameters:

Parameternaam Waarde
SAP ASCS/SCS SID pr1-lb-ascs
Interne SAP DBMS-load balancer PR5
Naam van virtuele SAP-host pr5-sap-cl
IP-adres van virtuele SAP ASCS/SCS-host (extra IP-adres van Azure load balancer host) 10.0.0.50
SAP ASCS/SCS-exemplaarnummer 50
ILB-testpoort voor extra SAP ASCS/SCS-exemplaar 62350

Notitie

Voor SAP ASCS/SCS-cluster instances heeft elk IP-adres een unieke testpoort nodig. Als bijvoorbeeld één IP-adres op een interne Azure-load balancer testpoort 62300 gebruikt, kan geen ander IP-adres op die load balancer testpoort 62300 gebruiken.

Omdat testpoort 62300 al is gereserveerd, gebruiken we testpoort 62350.

U kunt extra SAP ASCS/SCS-exemplaren installeren in het bestaande WSFC-cluster met twee knooppunten:

Virtuele-machinerol Hostnaam van virtuele machine Statisch IP-adres
Eerste clusterknooppunt voor ASCS/SCS-exemplaar pr1-ascs-0 10.0.0.10
Tweede clusterknooppunt voor ASCS/SCS-exemplaar pr1-ascs-1 10.0.0.9

Een virtuele hostnaam maken voor het geclusterde SAP ASCS/SCS-exemplaar op de DNS-server

U kunt een DNS-vermelding maken voor de naam van de virtuele host van het ASCS/SCS-exemplaar met behulp van de volgende parameters:

Nieuwe virtuele SAP ASCS/SCS-hostnaam Gekoppeld IP-adres
pr5-sap-cl 10.0.0.50

De nieuwe hostnaam en het IP-adres worden weergegeven in DNS-manager, zoals wordt weergegeven in de volgende schermopname:

Lijst met DNS-manager met de gedefinieerde DNS-vermelding voor de nieuwe virtuele naam en het TCP/IP-adres van het SAP ASCS/SCS-cluster

Notitie

Het nieuwe IP-adres dat u toewijst aan de naam van de virtuele host van het extra ASCS/SCS-exemplaar moet hetzelfde zijn als het nieuwe IP-adres dat u hebt toegewezen aan de SAP Azure-load balancer.

In ons scenario is het IP-adres 10.0.0.50.

Een IP-adres toevoegen aan een bestaande interne Azure-load balancer met behulp van PowerShell

Als u meer dan één SAP ASCS/SCS-exemplaar in hetzelfde WSFC-cluster wilt maken, gebruikt u PowerShell om een IP-adres toe te voegen aan een bestaande interne Azure-load balancer. Voor elk IP-adres zijn eigen taakverdelingsregels, testpoort, front-end-IP-adresgroep en back-endpool vereist.

Met het volgende script wordt een nieuw IP-adres toegevoegd aan een bestaande load balancer. Werk de PowerShell-variabelen voor uw omgeving bij. Het script maakt alle vereiste taakverdelingsregels voor alle SAP ASCS/SCS-poorten.


# 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

Nadat het script is uitgevoerd, worden de resultaten weergegeven in de Azure Portal, zoals wordt weergegeven in de volgende schermafbeelding:

Nieuwe front-end-IP-adresgroep in de Azure Portal

Schijven toevoegen aan clustermachines en de SIOS-cluster-shareschijf configureren

U moet een nieuwe cluster-shareschijf toevoegen voor elk extra SAP ASCS/SCS-exemplaar. Voor Windows Server 2012 R2 is de WSFC-cluster shareschijf die momenteel in gebruik is de SIOS DataKeeper-softwareoplossing.

Ga als volgt te werk:

  1. Voeg een extra schijf of schijven met dezelfde grootte (die u moet stripen) toe aan elk van de clusterknooppunten en formatteer deze.
  2. Configureer opslagreplicatie met SIOS DataKeeper.

In deze procedure wordt ervan uitgenomen dat u SIOS DataKeeper al hebt geïnstalleerd op de WSFC-clustermachines. Als u deze hebt geïnstalleerd, moet u nu replicatie tussen de machines configureren. Het proces wordt gedetailleerd beschreven in SIOS DataKeeper Cluster Edition installeren voor de SAP ASCS/SCS-cluster shareschijf.

Synchrone datakeeperspiegeling voor de nieuwe SAP ASCS/SCS-shareschijf

VM's implementeren voor SAP-toepassingsservers en het DBMS-cluster

Ga als volgt te werk om de infrastructuurvoorbereiding voor het tweede SAP-systeem te voltooien:

  1. Implementeer toegewezen VM's voor de SAP-toepassingsservers en plaats elke VM in een eigen toegewezen beschikbaarheidsgroep.
  2. Implementeer toegewezen VM's voor het DBMS-cluster en plaats elke VM in een eigen toegewezen beschikbaarheidsgroep.

Een SAP NetWeaver-systeem met meerdere SID's installeren

Zie SAP NetWeaver HA installation on Windows Failover Cluster and shared disk for an SAP ASCS/SCS instance (SAP NetWeaver HA-installatie op Windows-failoverclusteren gedeelde schijf voor een SAP ASCS/SCS-exemplaar) voor een beschrijving van het volledige proces voor het installeren van een tweede SAP SID2-systeem.

De procedure op hoog niveau is als volgt:

  1. Installeer SAP met een ASCS/SCS-exemplaar met hoge beschikbaarheid.
    In deze stap installeert u SAP met een ASCS/SCS-exemplaar met hoge beschikbaarheid op het bestaande WSFC-clusterknooppunt 1.

  2. Wijzig het SAP-profiel van het ASCS/SCS-exemplaar.

  3. Configureer een testpoort.
    In deze stap configureert u een SAP-clusterresource SAP-SID2-IP-testpoort met behulp van PowerShell. Voer deze configuratie uit op een van de SAP ASCS/SCS-clusterknooppunten.

  4. Installeer het database-exemplaar.
    Volg de stappen in de SAP-installatiehandleiding om het tweede cluster te installeren.

  5. Installeer het tweede clusterknooppunt.
    In deze stap installeert u SAP met een ASCS/SCS-exemplaar met hoge beschikbaarheid op het bestaande WSFC-clusterknooppunt 2. Volg de stappen in de SAP-installatiehandleiding om het tweede cluster te installeren.

  6. Open Windows firewallpoorten voor het SAP ASCS/SCS-exemplaar en testpoort.
    Op beide clusterknooppunten die worden gebruikt voor SAP ASCS/SCS-exemplaren, opent u alle Windows Firewall-poorten die worden gebruikt door SAP ASCS/SCS. Deze SAP ASCS/SCS-exemplaarpoorten worden vermeld in het hoofdstuk SAP ASCS/SCS-poorten.

    Zie TCP/IP-poorten van alle SAP-producten voor een lijst met alle andere SAP-poorten.

    Open ook de interne Azure load balancer-poort, die in ons scenario 62350 is. Dit wordt beschreven in dit artikel.

  7. Installeer de primaire SAP-toepassingsserver op de nieuwe toegewezen VM, zoals beschreven in de SAP-installatiehandleiding.

  8. Installeer de extra SAP-toepassingsserver op de nieuwe toegewezen VM, zoals beschreven in de SAP-installatiehandleiding.

  9. Test de failover van het SAP ASCS/SCS-exemplaar en de SIOS-replicatie.

Volgende stappen