Partager via


Haute disponibilité multi-SID de l’instance SAP ASCS/SCS avec le clustering de basculement Windows Server et un disque partagé sur Azure

Système d’exploitation Windows Windows

Si vous avez un déploiement SAP, vous devez utiliser un équilibreur de charge interne pour créer une configuration de cluster Windows pour des instances SAP Central Services (ASCS/SCS).

Cet article met l’accent sur le passage d’une installation ASCS/SCS unique à une configuration SAP multi-SID en installant des instances SAP ASCS/SCS en cluster supplémentaires dans un cluster de basculement Windows Server (WSFC) existant avec disque partagé, en utilisant SIOS pour simuler le disque partagé. Une fois ce processus terminé, vous aurez configuré un cluster multi-SID SAP.

Notes

Cette fonctionnalité est disponible uniquement dans le modèle de déploiement Azure Resource Manager.

Le nombre d’adresses IP frontales privées est limité pour chaque équilibreur de charge interne Azure.

Le nombre maximal d’instances SAP ASCS/SCS dans un cluster WSFC est égal au nombre maximal d’adresses IP frontales privées pour chaque équilibrage de charge interne Azure.

Pour plus d'informations sur les limites de l'équilibreur de charge, consultez la section « Adresse IP frontale privée par équilibreur de charge » de l'article Limites de réseau : Azure Resource Manager.

Remarque

Nous vous recommandons d’utiliser le module Azure Az PowerShell pour interagir avec Azure. Pour bien démarrer, consultez Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.

Prérequis

Vous avez déjà configuré un cluster WSFC à utiliser pour une instance SAP ASCS/SCS à l’aide du partage de fichiers, comme illustré dans ce diagramme.

Instance SAP ASCS/SCS à haute disponibilité

Important

La configuration doit répondre aux conditions suivantes :

  • Les instances SAP ASCS/SCS partagent le même cluster WSFC.
  • Chaque SID de système de gestion de base de données (SGBD) a son propre cluster WSFC dédié.
  • Les serveurs d’applications SAP appartenant au système SAP SID utilisent leurs propres machines virtuelles.
  • La combinaison d’Enqueue Replication Server 1 et Enqueue Replication Server 2 sur le même cluster n’est pas prise en charge.

Architecture multi-SID SAP ASCS/SCS avec disque partagé

L’objectif est d’installer plusieurs instances en cluster SAP ABAP ASCS ou SAP Java SCS dans un même cluster WSFC, comme indiqué ici :

Plusieurs instances SAP ASCS/SCS en cluster dans Azure

Pour plus d'informations sur les limites de l'équilibreur de charge, consultez la section « Adresse IP frontale privée par équilibreur de charge » de l'article Limites de réseau : Azure Resource Manager.

Voici une vue d’ensemble avec deux systèmes SAP à haute disponibilité :

Configuration SAP multi-SID haute disponibilité avec deux SID système SAP

Préparer l’infrastructure pour un scénario SAP multi-SID

Pour préparer votre infrastructure, vous pouvez installer une instance SAP ASCS/SCS supplémentaire avec les paramètres suivants :

Nom du paramètre Valeur
SID ASCS/SCS SAP pr1-lb-ascs
Équilibrage de charge interne du SGBD SAP PR5
Nom d’hôte virtuel SAP pr5-sap-cl
Adresse IP de l’hôte virtuel SAP ASCS/SCS (adresse IP d’équilibrage de charge Azure supplémentaire) 10.0.0.50
Numéro de l’instance SAP ASCS/SCS 50
Port de sonde d’équilibrage de charge interne pour l’instance SAP ASCS/SCS supplémentaire 62350

Notes

Pour des instances SAP ASCS/SCS en cluster, chaque adresse IP doit avoir un port de sonde unique. Par exemple, si une adresse IP sur un équilibrage de charge interne Azure utilise le port de sonde 62300, aucune autre adresse IP de cet équilibrage de charge ne peut utiliser le port 62300 de la sonde.

Pour nos besoins, car le port de sonde 62300 est déjà réservé, nous utilisons le port de sonde 62350.

Vous pouvez installer des instances SAP ASCS/SCS supplémentaire dans le cluster WSFC existant avec deux nœuds :

Rôle de la machine virtuelle Nom d’hôte de la machine virtuelle Adresse IP statique
Premier nœud de cluster pour l’instance ASCS/SCS pr1-ascs-0 10.0.0.10
Deuxième nœud de cluster pour l’instance ASCS/SCS pr1-ascs-1 10.0.0.9

Créer un nom d’hôte virtuel pour l’instance SAP ASCS/SCS en cluster sur le serveur DNS

Vous pouvez créer une entrée DNS pour le nom d’hôte virtuel de l’instance ASCS/SCS en utilisant les paramètres suivants :

Nouveau nom d’hôte virtuel SAP ASCS/SCS Adresse IP associée
pr5-sap-cl 10.0.0.50

Le nouveau nom d’hôte et l’adresse IP apparaissent dans Gestionnaire DNS, comme illustré dans la capture d’écran suivante :

Liste du Gestionnaire DNS mettant en surbrillance l’entrée DNS définie pour le nom virtuel et l’adresse TCP/IP du nouveau cluster SAP ASCS/SCS

Notes

La nouvelle adresse IP que vous affectez au nom d’hôte virtuel de l’instance ASCS/SCS supplémentaire doit être identique à la nouvelle adresse IP que vous avez affectée à l’équilibrage de charge SAP Azure.

Dans notre scénario, l’adresse IP est 10.0.0.50.

Ajouter une adresse IP à un équilibrage de charge interne Azure existant à l’aide de PowerShell

Pour créer plusieurs instances SAP ASCS/SCS dans le même cluster WSFC, utilisez PowerShell pour ajouter une adresse IP à un équilibrage de charge interne Azure existant. Chaque adresse IP requiert une règle d’équilibrage de charge, un port de sonde, un pool IP frontal et un pool principal propres.

Le script suivant ajoute une nouvelle adresse IP à un équilibreur de charge existant. Mettez à jour les variables PowerShell de votre environnement. Le script crée toutes les règles d’équilibrage de charge requises pour tous les ports SAP ASCS/SCS.


# 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

Une fois le script exécuté, les résultats sont affichés dans le portail Azure, comme indiqué dans la capture d’écran suivante :

Nouveau pool IP frontal dans le portail Azure

Ajouter des disques aux machines du cluster et configurer le disque de partage de cluster SIOS

Vous devez ajouter un nouveau disque de partage de cluster pour chaque instance SAP ASCS/SCS supplémentaire. Pour Windows Server 2012 R2, le disque de partage de cluster WSFC utilisé actuellement est la solution logicielle SIOS DataKeeper.

Effectuez les actions suivantes :

  1. Ajoutez un ou plusieurs disques supplémentaires de même taille (que vous devrez entrelacer) à chacun des nœuds du cluster et formatez-les.
  2. Configurez la réplication de stockage avec SIOS DataKeeper.

Cette procédure suppose que vous avez déjà installé SIOS DataKeeper sur les machines du cluster WSFC. Si vous l’avez installé, vous devez maintenant configurer la réplication entre les machines. Le processus est décrit en détail dans Installer SIOS DataKeeper Cluster Edition pour le disque de partage en cluster SAP ASCS/SCS.

Mise en miroir synchrone de DataKeeper pour le nouveau disque de partage SAP ASCS/SCS

Déployer des machines virtuelles pour les serveurs d’applications SAP et le cluster SGBD

Pour terminer la préparation de l’infrastructure pour le deuxième système SAP, procédez comme suit :

  1. Déployer des machines virtuelles dédiées pour les serveurs d’applications SAP et placer chacun dans son groupe de disponibilité dédié.
  2. Déployer des machines virtuelles dédiées pour le cluster SGBD et placer chacun dans son groupe de disponibilité dédié.

Installer un système SAP multi-SID NetWeaver

Pour une description du processus complet d’installation d’un deuxième système SAP SID2, consultez Installation de la haute disponibilité SAP NetWeaver sur un cluster de basculement Windows et un disque partagé pour une instance SAP ASCS/SCS.

La procédure détaillée est la suivante :

  1. Installer SAP avec une instance ASCS/SCS à haute disponibilité.
    Dans cette étape, vous installez SAP avec une instance ASCS/SCS à haute disponibilité sur le nœud de cluster WSFC existant 1.

  2. Modifier le profil SAP de l’instance ASCS/SCS.

  3. Configurer un port de sonde.
    Dans cette étape, vous configurez le port de sonde SAP-SID2-IP d’une ressource de cluster SAP à l’aide de PowerShell. Exécutez cette configuration sur un des nœuds de cluster SAP ASCS/SCS.

  4. Installez l’instance de base de données.
    Pour installer le deuxième cluster, suivez les étapes du guide d’installation de SAP.

  5. Installez le deuxième nœud de cluster.
    Dans cette étape, vous installez SAP avec une instance ASCS/SCS à haute disponibilité sur le nœud de cluster WSFC existant 2. Pour installer le deuxième cluster, suivez les étapes du guide d’installation de SAP.

  6. Ouvrez les ports du Pare-feu Windows pour l’instance SAP ASCS/SCS et le port de la sonde.
    Sur les deux nœuds de cluster utilisés pour l’instance SAP ASCS/SCS, vous ouvrez tous les ports du pare-feu Windows utilisés par SAP ASCS/SCS. Ces ports d’instance SAP ASCS/SCS sont répertoriés dans le chapitre Ports SAP ASCS / SCS.

    Pour la liste de tous les autres ports SAP, consultez Ports TCP/IP de tous les produits SAP.

    Ouvrez également le port de sonde de l’équilibrage de charge interne Azure, 62350 dans notre scénario. Il est décrit dans cet article.

  7. Installez le serveur d’applications principal SAP sur la machine virtuelle dédiée, comme décrit dans le guide d’installation SAP.

  8. Installez le serveur d’applications supplémentaire SAP sur la machine virtuelle dédiée, comme décrit dans le guide d’installation SAP.

  9. Testez le basculement et la réplication SIOS de l’instance SAP ASCS/SCS.

Étapes suivantes