Partager via


Préparer l’infrastructure Azure pour la haute disponibilité SAP à l’aide d’un cluster de basculement Windows et d’un disque partagé pour SAP ASCS/SCS

Windows OS Windows

Cet article décrit les étapes à suivre pour préparer l’infrastructure Azure à l’installation et à la configuration d’une instance SAP ASCS/SCS haute disponibilité sur un cluster de basculement Windows en utilisant un disque partagé de cluster en tant qu’option pour le clustering d’une instance SAP ASCS. Deux alternatives au disque partagé de cluster sont présentées dans la documentation :

La documentation ne couvre pas la couche de base de données.

Prérequis

Avant de commencer l’installation, consultez cet article :

Créer les machines virtuelles ASCS

Pour le cluster SAP ASCS/SCS, déployez deux machines virtuelles dans un groupe à haute disponibilité Azure ou des zones de disponibilité Azure en fonction du type de votre déploiement. Une fois les machines virtuelles déployées :

  • Créez un Azure Load Balancer interne pour l’instance SAP ASCS/SCS.
  • Ajoutez des machines virtuelles Windows au domaine AD.

En fonction de votre type de déploiement, les noms d’hôte et les adresses IP du scénario sont les suivants :

Déploiement SAP dans un groupe à haute disponibilité Azure

Rôle du nom d'hôte Nom de l’hôte Adresse IP statique Groupe à haute disponibilité SkuName de disque
Premier nœud de cluster du cluster ASCS/SCS pr1-ascs-10 10.0.0.4 pr1-ascs-avset Premium_LRS
Second nœud de cluster du cluster ASCS/SCS pr1-ascs-11 10.0.0.5 pr1-ascs-avset
Nom réseau du cluster pr1clust 10.0.0.42 (uniquement pour le cluster Win 2016) n/a
Nom réseau du cluster ASCS pr1-ascscl 10.0.0.43 n/a
Nom réseau du cluster ERS (uniquement pour ERS2) pr1-erscl 10.0.0.44 n/a

Déploiement SAP dans des zones de disponibilité Azure

Rôle du nom d'hôte Nom de l’hôte Adresse IP statique Zone de disponibilité SkuName de disque
Premier nœud de cluster du cluster ASCS/SCS pr1-ascs-10 10.0.0.4 AZ01 Premium_ZRS
Second nœud de cluster du cluster ASCS/SCS pr1-ascs-11 10.0.0.5 AZ02
Nom réseau du cluster pr1clust 10.0.0.42 (uniquement pour le cluster Win 2016) n/a
Nom réseau du cluster ASCS pr1-ascscl 10.0.0.43 n/a
Nom réseau du cluster ERS (uniquement pour ERS2) pr1-erscl 10.0.0.44 n/a

Les étapes mentionnées dans le document restent identiques pour les deux types de déploiement. Toutefois, si votre cluster s’exécute dans un groupe à haute disponibilité, vous devez déployer LRS pour le disque partagé Azure Premium (Premium_LRS) et si le cluster s’exécute dans la zone de disponibilité, déployez ZRS pour le disque partagé Azure Premium (Premium_ZRS).

Notes

Le groupe de placement de proximité Azure n’est pas requis pour le disque partagé Azure. Toutefois, pour le déploiement SAP avec le groupe de placement de proximité, suivez les instructions ci-dessous :

  • Si vous utilisez un groupe de placement de proximité pour le système SAP déployé dans une région, toutes les machines virtuelles qui se partagent un disque doivent faire partie du même groupe de placement de proximité.
  • Si vous utilisez un groupe de placement de proximité pour le système SAP déployé sur plusieurs zones, comme décrit dans le document Groupes de placement de proximité avec des déploiements zonaux, vous pouvez attacher le stockage Premium_ZRS aux machines virtuelles partageant un disque.

Créer l'équilibreur de charge interne Azure

Pendant la configuration de la machine virtuelle, vous pouvez créer ou sélectionner quitter l’équilibreur de charge dans la section réseau. Pour l’architecture ENSA1 sur Windows, vous n’avez besoin que d’une seule adresse IP virtuelle pour SAP ASCS/SCS. En revanche, l’architecture ENSA2 nécessite deux adresses IP virtuelles : une pour SAP ASCS/SCS et une autre pour ERS2. Lors de la configuration d’un équilibreur de charge interne standard pour la configuration de haute disponibilité de SAP ASCS/SCS sur Windows, suivez les instructions ci-dessous.

  1. Configuration de l’adresse IP frontale : Créer une adresse IP frontale (exemple : 10.0.0.43). Sélectionnez le même réseau virtuel et votre sous-réseau que vos machines virtuelles ASCS/ERS.
  2. Pool principal : créez un pool principal et ajoutez des machines virtuelles ASCS et ERS. Dans cet exemple, les machines virtuelles sont pr1-ascs-10 et pr1-ascs-11.
  3. Règles de trafic entrant : créer une règle d’équilibrage de charge.
    • Adresse IP frontale : sélectionner l’adresse IP frontale
    • Pool principal : Sélectionner un pool principal
    • Vérifier « Ports de haute disponibilité »
    • Protocole : TCP
    • Sonde d’intégrité : Créer une sonde d’intégrité avec les détails ci-dessous
      • Protocole : TCP
      • Port : [par exemple : 620<Instance-no.> pour ASCS]
      • Intervalle : 5
      • Seuil de la sonde : 2
    • Délai d’inactivité (minutes) : 30
    • Cochez « Activer l’adresse IP flottante »
  4. Applicable uniquement à l’architecture ENSA2 : Créez une adresse IP frontale supplémentaire (10.0.0.0.44), une règle d’équilibrage de charge (utilisez 621<Instance-non.> pour le port de sonde d’intégrité ERS2) comme décrit au point 1 et 3.

Remarque

La propriété de configuration de la sonde d’intégrité numberOfProbes, appelé « Seuil de défaillance d’intégrité » dans le portail, n’est pas respectée. Ainsi, pour contrôler le nombre de sondes consécutives réussies ou ayant échoué, définissez la propriété « probeThreshold » sur 2. Il n’est actuellement pas possible de définir cette propriété à l’aide de Portail Azure. Utilisez donc la commande Azure CLI ou PowerShell.

Important

Une adresse IP flottante n’est pas prise en charge sur une interface réseau carte configuration d’adresses IP secondaires dans les scénarios d’équilibrage de charge. Pour plus d’informations, consultez es Limitations relatives à l’Équilibreur de charge Azure. Si vous avez besoin d’une autre adresse IP pour la machine virtuelle, déployez une deuxième carte d’interface réseau.

Remarque

Lorsque des machines virtuelles sans adresse IP publique sont placées dans le pool principal d’un équilibreur Azure Standard interne (aucune adresse IP publique), il n’y a pas de connectivité Internet sortante, sauf si vous effectuez une configuration supplémentaire pour autoriser le routage vers des points de terminaison publics. Pour savoir plus en détails comment bénéficier d’une connectivité sortante, consultez Connectivité des points de terminaison publics pour les machines virtuelles avec Azure Standard Load Balancer dans les scénarios de haute disponibilité SAP.

Conseil

Le modèle Azure Resource Manager pour WSFC pour instance SAP ASCS/SCS avec disque partagé Azure vous permet d’automatiser la préparation de l’infrastructure à l’aide d’un disque partagé Azure pour un SID SAP avec ERS1.
Le modèle ARM Azure crée deux machines virtuelles Windows 2019 ou 2016, crée un disque partagé Azure et l’attache aux machines virtuelles. Un équilibreur de charge interne Azure est également créé et configuré. Pour plus d’informations, consultez le modèle ARM.

Ajouter des entrées de registre aux deux nœuds de cluster de l’instance SAP ASCS/SCS

Azure Load Balancer peut fermer des connexions inactives pendant une période dépassant le délai d’inactivité. Les processus de travail SAP ouvrent des connexions au processus de mise en file d’attente SAP dès que la première demande de mise en file d’attente/enlèvement de la file d’attente doit être envoyée. Pour éviter d’interrompre ces connexions, modifiez les valeurs KeepAliveTime et KeepAliveInterval de TCP/IP sur les deux nœuds de cluster. Si vous utilisez ERS1, il est également nécessaire d’ajouter des paramètres de profil SAP, comme décrit plus loin dans cet article. Les entrées de registre suivantes doivent être modifiées sur les deux nœuds de cluster :

  • KeepAliveTime
  • KeepAliveInterval
Path Nom de la variable Type de variable Valeur Documentation
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters KeepAliveTime REG_DWORD (décimal) 120 000 KeepAliveTime
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters KeepAliveInterval REG_DWORD (décimal) 120 000 KeepAliveInterval

Pour appliquer les modifications, redémarrez les deux nœuds de cluster.

Ajouter les machines virtuelles Windows au domaine

Après avoir affecté les adresses IP statiques aux machines virtuelles, ajoutez les machines virtuelles au domaine.

Installer et configurer un cluster de basculement Windows

Installer la fonctionnalité de cluster de basculement Windows

Exécutez la commande suivante sur l’un des nœuds du cluster :

# Hostnames of the Win cluster for SAP ASCS/SCS
$SAPSID = "PR1"
$ClusterNodes = ("pr1-ascs-10","pr1-ascs-11")
$ClusterName = $SAPSID.ToLower() + "clust"

# Install Windows features.
# After the feature installs, manually reboot both nodes
Invoke-Command $ClusterNodes {Install-WindowsFeature Failover-Clustering, FS-FileServer -IncludeAllSubFeature -IncludeManagementTools }

Une fois l’installation de la fonctionnalité terminée, redémarrez les deux nœuds de cluster.

Tester et configurer le cluster de basculement Windows

Sur Windows 2019, le cluster reconnaît automatiquement qu’il s’exécute dans Azure et comme option par défaut pour l’adresse IP de gestion du cluster, il utilise le nom du réseau distribué. Par conséquent, il utilise l’une des adresses IP locales des nœuds de cluster. Par conséquent, il n’est pas nécessaire d’utiliser un nom de réseau dédié (virtuel) pour le cluster, et il n’est pas nécessaire de configurer cette adresse IP sur Azure Internal Load Balancer.

Pour plus d’informations, consultez la page consacrée aux nouvelles fonctionnalités de clustering de basculement Windows Server 2019. Exécutez la commande suivante sur l’un des nœuds de cluster :

# Hostnames of the Win cluster for SAP ASCS/SCS
$SAPSID = "PR1"
$ClusterNodes = ("pr1-ascs-10","pr1-ascs-11")
$ClusterName = $SAPSID.ToLower() + "clust"

# IP adress for cluster network name is needed ONLY on Windows Server 2016 cluster
$ClusterStaticIPAddress = "10.0.0.42"

# Test cluster
Test-Cluster –Node $ClusterNodes -Verbose

$ComputerInfo = Get-ComputerInfo

$WindowsVersion = $ComputerInfo.WindowsProductName

if($WindowsVersion -eq "Windows Server 2019 Datacenter"){
    write-host "Configuring Windows Failover Cluster on Windows Server 2019 Datacenter..."
    New-Cluster –Name $ClusterName –Node  $ClusterNodes -Verbose
}elseif($WindowsVersion -eq "Windows Server 2016 Datacenter"){
    write-host "Configuring Windows Failover Cluster on Windows Server 2016 Datacenter..."
    New-Cluster –Name $ClusterName –Node  $ClusterNodes –StaticAddress $ClusterStaticIPAddress -Verbose 
}else{
    Write-Error "Not supported Windows version!"
}

Configurer un quorum cloud de cluster

Lorsque vous utilisez Windows Server 2016 ou 2019, nous vous recommandons de configurer un témoin cloud Azure, en tant que quorum de cluster.

Exécutez la commande suivante sur l’un des nœuds du cluster :

$AzureStorageAccountName = "cloudquorumwitness"
Set-ClusterQuorum –CloudWitness –AccountName $AzureStorageAccountName -AccessKey <YourAzureStorageAccessKey> -Verbose

Réglage des seuils du cluster de basculement Windows

Une fois que vous avez correctement installé le cluster de basculement Windows, vous devez ajuster certains seuils pour qu’ils soient adaptés aux clusters déployés dans Azure. Les paramètres à changer sont documentés dans : Tuning Failover Cluster Network Thresholds (Réglage des seuils réseau de cluster de basculement). En supposant que les deux machines virtuelles qui constituent la configuration du cluster Windows pour ASCS/SCS se trouvent dans le même sous-réseau, modifiez les paramètres suivants avec ces valeurs :

  • SameSubNetDelay = 2000
  • SameSubNetThreshold = 15
  • RouteHistoryLength = 30

Ces paramètres ont été testés avec des clients et offrent un bon compromis. Ils sont suffisamment résilients, mais ils fournissent également un basculement suffisamment rapide pour les conditions d’erreur réelles dans les charges de travail SAP ou les défaillances de machine virtuelle.

Configurer un disque partagé Azure

Cette section s’applique uniquement si vous utilisez un disque partagé Azure.

Créer et attacher un disque partagé Azure avec PowerShell

Exécutez la commande suivante sur l’un des nœuds du cluster. Vous devez ajuster les valeurs de votre groupe de ressources, région Azure, SAPSID, et ainsi de suite.

#############################
# Create Azure Shared Disk
#############################

$ResourceGroupName = "MyResourceGroup"
$location = "MyAzureRegion"
$SAPSID = "PR1"

$DiskSizeInGB = 512
$DiskName = "$($SAPSID)ASCSSharedDisk"

# With parameter '-MaxSharesCount', we define the maximum number of cluster nodes to attach the shared disk
$NumberOfWindowsClusterNodes = 2

# For SAP deployment in availability set, use below storage SkuName
$SkuName = "Premium_LRS"
# For SAP deployment in availability zone, use below storage SkuName
$SkuName = "Premium_ZRS"
   
$diskConfig = New-AzDiskConfig -Location $location -SkuName $SkuName  -CreateOption Empty  -DiskSizeGB $DiskSizeInGB -MaxSharesCount $NumberOfWindowsClusterNodes
$dataDisk = New-AzDisk -ResourceGroupName $ResourceGroupName -DiskName $DiskName -Disk $diskConfig

##################################
## Attach the disk to cluster VMs
##################################
# ASCS Cluster VM1
$ASCSClusterVM1 = "$SAPSID-ascs-10"

# ASCS Cluster VM2
$ASCSClusterVM2 = "$SAPSID-ascs-11"

# Add the Azure Shared Disk to Cluster Node 1
$vm = Get-AzVM -ResourceGroupName $ResourceGroupName -Name $ASCSClusterVM1 
$vm = Add-AzVMDataDisk -VM $vm -Name $DiskName -CreateOption Attach -ManagedDiskId $dataDisk.Id -Lun 0
Update-AzVm -VM $vm -ResourceGroupName $ResourceGroupName -Verbose

# Add the Azure Shared Disk to Cluster Node 2
$vm = Get-AzVM -ResourceGroupName $ResourceGroupName -Name $ASCSClusterVM2
$vm = Add-AzVMDataDisk -VM $vm -Name $DiskName -CreateOption Attach -ManagedDiskId $dataDisk.Id -Lun 0
Update-AzVm -VM $vm -ResourceGroupName $ResourceGroupName -Verbose

Formater le disque partagé avec PowerShell

  1. Procurez-vous le numéro du disque. Exécutez les commandes PowerShell suivantes sur l’un des nœuds du cluster :

    Get-Disk | Where-Object PartitionStyle -Eq "RAW"  | Format-Table -AutoSize 
    # Example output
    # Number Friendly Name     Serial Number HealthStatus OperationalStatus Total Size Partition Style
    # ------ -------------     ------------- ------------ ----------------- ---------- ---------------
    # 2      Msft Virtual Disk               Healthy      Online                512 GB RAW            
    
  2. Formatez le disque. Dans cet exemple, il s’agit du numéro de disque 2.

    # Format SAP ASCS Disk number '2', with drive letter 'S'
    $SAPSID = "PR1"
    $DiskNumber = 2
    $DriveLetter = "S"
    $DiskLabel = "$SAPSID" + "SAP"
    
    Get-Disk -Number $DiskNumber | Where-Object PartitionStyle -Eq "RAW" | Initialize-Disk -PartitionStyle GPT -PassThru |  New-Partition -DriveLetter $DriveLetter -UseMaximumSize | Format-Volume  -FileSystem ReFS -NewFileSystemLabel $DiskLabel -Force -Verbose
    # Example outout
    # DriveLetter FileSystemLabel FileSystem DriveType HealthStatus OperationalStatus SizeRemaining      Size
    # ----------- --------------- ---------- --------- ------------ ----------------- -------------      ----
    # S           PR1SAP          ReFS       Fixed     Healthy      OK                    504.98 GB 511.81 GB
    
  3. Vérifiez que le disque est maintenant visible en tant que disque de cluster.

    # List all disks
    Get-ClusterAvailableDisk -All
    # Example output
    # Cluster    : pr1clust
    # Id         : 88ff1d94-0cf1-4c70-89ae-cbbb2826a484
    # Name       : Cluster Disk 1
    # Number     : 2
    # Size       : 549755813888
    # Partitions : {\\?\GLOBALROOT\Device\Harddisk2\Partition2\}
    
  4. Enregistrez le disque dans le cluster.

    # Add the disk to cluster 
    Get-ClusterAvailableDisk -All | Add-ClusterDisk
    # Example output  
    # Name           State  OwnerGroup        ResourceType 
    # ----           -----  ----------        ------------ 
    # Cluster Disk 1 Online Available Storage Physical Disk
    

SIOS DataKeeper Cluster Edition pour le disque de partage de cluster SAP ASCS/SCS

Cette section s’applique uniquement si vous utilisez le logiciel tiers SIOS DataKeeper Cluster Edition pour créer un stockage miroir ed qui simule un disque partagé de cluster.

Vous disposez maintenant d’une configuration fonctionnelle de clustering de basculement Windows Server dans Azure. Pour installer une instance SAP ASCS/SCS, vous avez besoin d’une ressource de disque partagé. L’une des options consister à utiliser SIOS DataKeeper Cluster Edition, une solution tierce que vous pouvez utiliser pour créer des ressources de disque partagé.

L’installation de SIOS DataKeeper Cluster Edition pour le disque de partage en cluster SAP ASCS/SCS implique les tâches suivantes :

  • Ajouter Microsoft .NET Framework si nécessaire. Consultez la documentation SIOS pour connaître les exigences de .NET Framework les plus récentes
  • Installer SIOS DataKeeper.
  • Configurer SIOS DataKeeper.

Installer SIOS DataKeeper

Installez SIOS DataKeeper Cluster Edition sur chaque nœud du cluster. Pour créer un stockage partagé virtuel avec SIOS DataKeeper, créez un miroir synchronisé, puis simulez le stockage partagé en cluster.

Avant d’installer le logiciel SIOS, créez l’utilisateur de domaine DataKeeperSvc.

Notes

Ajoutez l’utilisateur de domaine DataKeeperSvc au groupe Administrateur local sur les deux nœuds de cluster.

  1. Installez le logiciel SIOS sur les deux nœuds de cluster.

    SIOS installer

    Figure 31: First page of the SIOS DataKeeper installation

    Première page de l’installation de SIOS DataKeeper

  2. Dans la boîte de dialogue, sélectionnez Oui.

    Figure 32: DataKeeper informs you that a service will be disabled

    DataKeeper vous informe qu’un service va être désactivé

  3. Dans la boîte de dialogue, nous vous recommandons de sélectionner Compte de domaine ou de serveur.

    Figure 33: User selection for SIOS DataKeeper

    Sélection de l’utilisateur de SIOS DataKeeper

  4. Entrez le nom et le mot de passe de l’utilisateur de compte de domaine que vous avez créés pour SIOS DataKeeper.

    Figure 34: Enter the domain user name and password for the SIOS DataKeeper installation

    Entrer le nom et le mot de passe de l’utilisateur du domaine pour l’installation de SIOS DataKeeper

  5. Installez la clé de licence de votre instance SIOS DataKeeper, comme indiqué dans la figure 35.

    Figure 35: Enter your SIOS DataKeeper license key

    Entrer votre clé de licence SIOS DataKeeper

  6. À l’invite, redémarrez la machine virtuelle.

Configurer SIOS DataKeeper.

Après avoir installé SIOS DataKeeper sur les deux nœuds, commencez la configuration. L’objectif de la configuration est de mettre en place une réplication synchrone des données entre les disques supplémentaires attachés à chacune des machines virtuelles.

  1. Démarrez l’outil de configuration et de gestion de DataKeeper, puis sélectionnez Connect Server (Connexion au serveur)

    Figure 36: SIOS DataKeeper Management and Configuration tool

    Outil de configuration et de gestion de SIOS DataKeeper

  2. Insérez le nom ou l’adresse TCP/IP du premier nœud auquel l’outil de gestion et de configuration doit se connecter, puis du second nœud.

    Figure 37: Insert the name or TCP/IP address of the first node the Management and Configuration tool should connect to, and in a second step, the second node

    Insérer le nom ou l’adresse TCP/IP du premier nœud auquel l’outil de gestion et de configuration doit se connecter, puis du deuxième nœud

  3. Créez le travail de réplication entre les deux nœuds.

    Figure 38: Create a replication job

    Créer un travail de réplication

    Un assistant vous guide à travers le processus de création d’un travail de réplication.

  4. Définissez le nom du travail de réplication.

    Figure 39: Define the name of the replication job

    Définir le nom du travail de réplication

    Figure 40: Define the base data for the node, which should be the current source node

    Définir les données de base du nœud qui doit être le nœud source actuel

  5. Définissez le nom, l’adresse TCP/IP et le volume de disque du nœud cible.

    Figure 41: Define the name, TCP/IP address, and disk volume of the current target node

    Définir le nom, l'adresse TCP/IP et le volume de disque du nœud cible actuel

  6. Définissez les algorithmes de compression. Dans notre exemple, nous vous recommandons de compresser le flux de réplication. Dans les situations de resynchronisation notamment, la compression du flux de réplication accélère considérablement la resynchronisation. La compression utilise les ressources de processeur et de RAM d’une machine virtuelle. Plus le taux de compression augmente, plus le volume de ressources de processeur utilisées est important. Vous pouvez ajuster ce paramètre ultérieurement.

  7. Vous devez également vérifier si la réplication se fait de façon asynchrone ou synchrone. Lorsque vous protégez des configurations SAP ASCS/SCS, vous devez utiliser la réplication synchrone.

    Figure 42: Define replication details

    Définir les détails de la réplication

  8. Définissez si le volume répliqué par le travail de réplication doit être représenté auprès d’une configuration de cluster de basculement Windows Server en tant que disque partagé. Pour la configuration SAP ASCS/SCS, sélectionnez Oui pour que le cluster Windows voie le volume répliqué en tant que disque partagé utilisable comme volume de cluster.

    Figure 43: Select Yes to set the replicated volume as a cluster volume

    Sélectionner Oui pour définir le volume répliqué comme volume de cluster

    Une fois le volume créé, l’outil de configuration et de gestion de DataKeeper indique que le travail de réplication est actif.

    Figure 44: DataKeeper synchronous mirroring for the SAP ASCS/SCS share disk is active

    La mise en miroir synchrone de DataKeeper pour le disque de partage SAP ASCS/SCS est active

    Le Gestionnaire du cluster de basculement affiche maintenant le disque en tant que disque DataKeeper, comme indiqué dans la figure 45 :

    Figure 45: Failover Cluster Manager shows the disk that DataKeeper replicated

    Le Gestionnaire du cluster de basculement montre le disque répliqué par DataKeeper

Étapes suivantes