Hoge beschikbaarheid van SAP ASCS/SCS-exemplaar met meerdere SID's met Windows Server-failoverclustering en gedeelde schijf in Azure
Ramen
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.
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.
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:
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:
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:
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:
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:
- Voeg een extra schijf of schijven van dezelfde grootte (die u moet stripen) toe aan elk van de clusterknooppunten en maak ze op.
- 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.
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:
- Implementeer toegewezen VM's voor de SAP-toepassingsservers en plaats elk in een eigen toegewezen beschikbaarheidsgroep.
- 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:
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.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.Installeer het database-exemplaar.
Volg de stappen in de SAP-installatiehandleiding om het tweede cluster te installeren.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.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.
Installeer de primaire SAP-toepassingsserver op de nieuwe toegewezen VM, zoals beschreven in de SAP-installatiehandleiding.
Installeer de EXTRA SAP-toepassingsserver op de nieuwe toegewezen VM, zoals beschreven in de SAP-installatiehandleiding.
Test de failover van het SAP ASCS/SCS-exemplaar en de SIOS-replicatie.