Hoge beschikbaarheid van SAP ASCS/SCS-exemplaar met meerdere SID's 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 GEclusterde SAP ASCS/SCS-exemplaren te installeren in een bestaand WSFC-cluster (Windows Server Failover Clustering) met gedeelde schijf, met behulp van SIOS om gedeelde schijf te simuleren. Wanneer dit proces is voltooid, hebt u een SAP-cluster met meerdere SID's geconfigureerd.

Notitie

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

Er is een limiet voor het aantal privé-front-end-IP-adressen voor elke interne Load Balancer van Azure.

Het maximum aantal SAP ASCS/SCS-exemplaren in één WSFC-cluster is gelijk aan het maximum aantal privé-front-end-IP-adressen voor elke interne Load Balancer van Azure.

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-adres wordt niet ondersteund in een secundaire IP-configuratie van een NIC in scenario's voor taakverdeling. Zie Azure Load Balancer-beperkingen voor meer informatie. Als u extra IP-adres voor de virtuele machine nodig hebt, implementeert u een tweede NIC.

Notitie

Het wordt aanbevolen de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. 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 één SAP ASCS/SCS-exemplaar met behulp van een bestandsshare, zoals in dit diagram wordt weergegeven.

High-availability SAP ASCS/SCS instance

Belangrijk

De installatie moet aan de volgende voorwaarden voldoen:

  • De SAP ASCS/SCS-exemplaren moeten hetzelfde WSFC-cluster delen.
  • Elke DATABASE Management System -SID (DBMS) moet een eigen toegewezen WSFC-cluster hebben.
  • SAP-toepassingsservers die tot één SAP-systeem-SID behoren, 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 SAP ABAP ASCS- of SAP Java SCS-geclusterde exemplaren in hetzelfde WSFC-cluster te installeren, zoals hier wordt geïllustreerd:

Multiple SAP ASCS/SCS clustered instances 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 ziet er als volgt uit:

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

De infrastructuur voorbereiden voor een SAP-scenario met meerdere SID's

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

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

Notitie

Voor SAP ASCS/SCS-clusterexemplaren is voor elk IP-adres een unieke testpoort vereist. 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.

Voor onze doeleinden, 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:

Rol van virtuele machine 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 HOSTnaam voor SAP ASCS/SCS Gekoppeld IP-adres
pr5-sap-cl 10.0.0.50

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

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

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 Load Balancer van Azure 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. Met het script worden alle vereiste taakverdelingsregels gemaakt 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 Azure Portal, zoals wordt weergegeven in de volgende schermopname:

New front-end IP pool in the Azure portal

Schijven toevoegen aan clustercomputers en de SIOS-clustershareschijf configureren

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

Ga als volgt te werk:

  1. Voeg een extra schijf of schijven van dezelfde grootte (die u moet stripen) toe aan elk van de clusterknooppunten en maak ze op.
  2. Opslagreplicatie configureren met SIOS DataKeeper.

In deze procedure wordt ervan uitgegaan dat u SIOS DataKeeper al hebt geïnstalleerd op de WSFC-clustercomputers. 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-clustershareschijf.

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

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 elk in een eigen toegewezen beschikbaarheidsgroep.
  2. Implementeer toegewezen VM's voor het DBMS-cluster en plaats elk in een eigen toegewezen beschikbaarheidsgroep.

Een SAP NetWeaver-systeem met meerdere SID's installeren

Zie SAP NetWeaver HA-installatie op Windows Failover Cluster en 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 Firewall-poorten 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 load balancer-testpoort van Azure. Dit is 62350 in ons scenario. Het 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