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

Système d’exploitation Windows 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

Consultez cet article avant de commencer l’installation :

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 un équilibreur de charge existant dans la section mise en réseau. Pour l’architecture ENSA1 sur Windows, vous n’aurez 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. Lorsque vous configurez un équilibreur de charge interne standard pour la configuration HA de SAP ASCS/SCS sur Windows, suivez les instructions ci-dessous.

  1. Configuration IP front-end : créez une adresse IP front-end (par exemple, 10.0.0.43). Sélectionnez le même réseau virtuel et le même sous-réseau que vos machines virtuelles ASCS/ERS.
  2. Pool de back-ends : créez un pool de back-ends et ajoutez des machines virtuelles ASCS et ERS. Dans cet exemple, les VM sont pr1-ascs-10 et pr1-ascs-11.
  3. Règles de trafic entrant : créez une règle d’équilibrage de charge.
    • Adresse IP front-end : sélectionner l’adresse IP front-end
    • Pool de back-ends : sélectionner un pool de back-ends
    • Cocher « Ports à haute disponibilité »
    • Protocole : TCP
    • Sonde d’intégrité : créez 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
    • Cocher « Activer l’adresse IP flottante »
  4. Applicable uniquement à l’architecture ENSA2 : créez une adresse IP front-end supplémentaire (10.0.0.0.44) et une règle d’équilibrage de charge (utilisez 621<Instance-no.> pour le port de sonde d’intégrité ERS2) comme décrit aux points 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. Donc, pour contrôler le nombre de sondes consécutives qui ont réussi ou échoué, définissez la propriété « probeThreshold » sur 2. Il n’est actuellement pas possible de définir cette propriété dans le portail Azure, donc utilisez l’interface Azure CLI ou une commande PowerShell.

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é. Il utilise donc l’une des adresses IP locales des nœuds de cluster. Par conséquent, il n’est pas nécessaire d’avoir un nom de réseau (virtuel) dédié pour le cluster, ou de configurer cette adresse IP sur l’équilibreur de charge interne Azure.

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 address 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 assurent également un basculement suffisamment rapide dans des conditions d’erreur réelle dans les charges de travail SAP ou de défaillance de machine virtuelle.

Configurer un disque partagé Azure

Cette section ne s’applique que 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 devrez ajuster les valeurs de votre groupe de ressources, de votre région Azure, de votre SID SAP, etc.

#############################
# 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 disque numéro 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 output
    # 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 ne s’applique que si vous utilisez le logiciel tiers SIOS DataKeeper Cluster Edition pour créer un stockage en miroir qui simule le disque partagé en 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.

    Programme d’installation de SIOS

    Figure 31 : Première page de l’installation de SIOS DataKeeper

    Première page de l’installation de SIOS DataKeeper

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

    Figure 32 : DataKeeper vous indique qu’un service va être désactivé

    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 : Sélection de l’utilisateur de 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 : Entrer le nom et le mot de passe de l’utilisateur du domaine pour l’installation de SIOS DataKeeper

    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 : Entrer votre clé de licence SIOS DataKeeper

    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 : Outil de configuration et de gestion de SIOS DataKeeper

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

    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 : Créer un travail de réplication

    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 : Définir le nom du travail de réplication

    Définir le nom du travail de réplication

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

    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 : Définir le nom, l'adresse TCP/IP et le volume de disque du nœud cible actuel

    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 : Définir les détails de la réplication

    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 : Sélectionner Oui pour définir le volume répliqué comme volume de cluster

    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 : La mise en miroir synchrone de DataKeeper pour le disque de partage SAP ASCS/SCS est 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 : Le Gestionnaire du cluster de basculement montre le disque répliqué par DataKeeper

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

Étapes suivantes