Een SAP NetWeaver-configuratie met meerdere SID's met hoge beschikbaarheid maken

In september 2016 heeft Microsoft een functie uitgebracht waarmee u meerdere virtuele IP-adressen kunt beheren met behulp van een interne Azure-load balancer. Deze functionaliteit bestaat al in de externe Azure-load balancer.

Als u een SAP-implementatie hebt, kunt u een interne load balancer gebruiken om een Windows-clusterconfiguratie voor SAP ASCS/SCS te maken, zoals beschreven in de handleiding voor SAP NetWeaver met hoge beschikbaarheid op Windows-VM's.

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). Wanneer dit proces is voltooid, hebt u een SAP-cluster met meerdere SID's geconfigureerd.

Notitie

In dit artikel wordt de Azure Az PowerShell-module gebruikt. Dit 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 dat wordt gebruikt voor één SAP ASCS/SCS-exemplaar, zoals besproken in de handleiding voor SAP NetWeaver met hoge beschikbaarheid op Windows-VM's en zoals wordt weergegeven in dit diagram.

SAP ASCS/SCS-exemplaar met hoge beschikbaarheid

Doelarchitectuur

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

Meerdere geclusterde SAP ASCS/SCS-exemplaren in Azure

Notitie

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-IPs voor elke interne Azure-load balancer.

Zie 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 met hoge beschikbaarheid met meerdere SID's instellen met twee SAP-systeem-SID's

Belangrijk

De installatie moet voldoen aan de volgende voorwaarden:

  • De SAP ASCS/SCS-exemplaren moeten hetzelfde WSFC-cluster delen.
  • Elke DBMS SID moet een eigen toegewezen WSFC-cluster hebben.
  • SAP-toepassingsservers die tot één SAP-systeem-SID behoren, moeten hun eigen toegewezen VM's hebben.

De infrastructuur voorbereiden

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 load balancer Azure-adres) 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 enkel 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 nieuwe 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

De procedure voor het maken van een DNS-vermelding wordt ook uitgebreid beschreven in de hoofdhandleiding voor SAP NetWeaver met hoge beschikbaarheid op Windows-VM's.

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 benodigde 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 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

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

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

Schijven toevoegen aan clustermachines en de SIOS-clusterschijf 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 uitgebreid beschreven in de hoofdhandleiding voor SAP NetWeaver met hoge beschikbaarheid op Windows-VM's.

Synchrone datakeeperspiegeling voor de nieuwe SAP ASCS/SCS-shareschijf

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

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

  1. Implementeer toegewezen VM's voor SAP-toepassingsservers en plaats ze in hun eigen toegewezen beschikbaarheidsgroep.
  2. Implementeer toegewezen VM's voor DBMS-cluster en plaats ze in hun eigen toegewezen beschikbaarheidsgroep.

Het tweede SAP SID2 NetWeaver-systeem installeren

Het volledige proces voor het installeren van een tweede SAP SID2-systeem wordt beschreven in de hoofdhandleiding voor SAP NetWeaver met hoge beschikbaarheid op Windows-VM's.

De procedure op hoog niveau is als volgt:

  1. Installeer het EERSTE SAP-clusterknooppunt.
    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. [Het database-exemplaar installeren] [sap-ha-guide-9.2].
    In deze stap installeert u DBMS op een toegewezen WSFC-cluster.

  5. [Het tweede clusterknooppunt installeren] [sap-ha-guide-9.3].
    In deze stap installeert u SAP met een ASCS/SCS-exemplaar met hoge beschikbaarheid op het bestaande WSFC-clusterknooppunt 2.

  6. Open Windows Firewall-poorten voor het SAP ASCS/SCS-exemplaar en ProbePort.
    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 poorten worden vermeld in de handleiding voor SAP NetWeaver met hoge beschikbaarheid op Windows-VM's.
    Open ook de interne Azure load balancer-poort, die in ons scenario 62350 is.

  7. Wijzig het begintype van het SAP ERS Windows-service-exemplaar.

  8. Installeer de primaire SAP-toepassingsserver op de nieuwe toegewezen VM.

  9. Installeer de extra SAP-toepassingsserver op de nieuwe toegewezen VM.

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

Volgende stappen