Haute disponibilité pour SAP NetWeaver sur des machines virtuelles sur RHEL avec NFS sur Azure Files
Cet article explique comment déployer et configurer des machines virtuelles (VM), installer l’infrastructure de cluster et installer un système SAP NetWeaver à haute disponibilité (HA) à l’aide de NFS sur Azure Files. Les exemples de configuration utilisent des machines virtuelles qui s’exécutent sur Red Hat Enterprise Linux (RHEL).
Prérequis
- Documentation Azure Files
- Note SAP 1928533, qui contient :
- Liste des tailles de machines virtuelles Azure prises en charge pour le déploiement de logiciels SAP.
- Des informations importantes sur la capacité en fonction de la taille des machines virtuelles Azure.
- Les logiciels SAP pris en charge et les combinaisons entre système d’exploitation (OS) et base de données.
- La version du noyau SAP requise pour Windows et Linux sur Microsoft Azure.
- La note SAP 2015553 répertorie les conditions préalables au déploiement de logiciels SAP pris en charge par SAP sur Azure.
- La note SAP 2002167 recommande des paramètres de système d’exploitation pour Red Hat Enterprise Linux 7.x.
- La note SAP 2772999 recommande des paramètres de système d’exploitation pour Red Hat Enterprise Linux 8.x.
- La note SAP 2009879 conseille sur SAP HANA pour Red Hat Enterprise Linux.
- La note SAP 2178632 contient des informations détaillées sur toutes les métriques de surveillance rapportées pour SAP sur Azure.
- La note SAP 2191498 contient la version requise de l’agent hôte SAP pour Linux sur Azure.
- La note SAP 2243692 contient des informations sur les licences SAP sur Linux dans Azure.
- La note SAP 1999351 contient des informations supplémentaires sur le dépannage de l’extension Azure Enhanced Monitoring pour SAP.
- Le WIKI de la communauté SAP contient toutes les notes SAP requises pour Linux.
- Planification et implémentation de machines virtuelles Azure pour SAP sur Linux
- Déploiement de machines virtuelles Azure pour SAP sur Linux
- Déploiement SGBD de machines virtuelles Azure pour SAP sur Linux
- SAP Netweaver dans un cluster Pacemaker
- Documentation RHEL générale :
- Vue d’ensemble des modules complémentaires de haute disponibilité
- Administration des modules complémentaires de haute disponibilité
- Référence des modules complémentaires de haute disponibilité
- Configuration d’ASC/ERS pour SAP NetWeaver avec des ressources autonomes dans RHEL 7.5
- Configuration de SAP S/4HANA ASCS/ERS avec Standalone Enqueue Server 2 (ENSA2) dans Pacemaker sur RHEL
- Documentation RHEL spécifique à Azure :
Vue d’ensemble
Pour déployer la couche Application SAP NetWeaver, vous avez besoin de répertoires partagés comme /sapmnt/SID
et /usr/sap/trans
dans l’environnement. En outre, lorsque vous déployez un système SAP à haute disponibilité, vous avez besoin de protéger et de rendre hautement disponibles des systèmes de fichiers tels que /sapmnt/SID
et /usr/sap/SID/ASCS
.
Vous pouvez maintenant placer ces systèmes de fichiers sur NFS sur Azure Files. NFS sur Azure Files est une solution de stockage à haute disponibilité. Cette solution offre un stockage redondant interzone (ZRS) synchrone et convient aux instances SAP ASCS/ERS déployées dans des zones de disponibilité. Vous avez tout de même besoin d’un cluster Pacemaker pour protéger les composants à point de défaillance unique tels que les services centraux SAP NetWeaver (ASCS/SCS).
Les exemples de configuration et les commandes d’installation utilisent les numéros d’instance suivants :
Nom de l’instance | Numéro d’instance |
---|---|
Services centraux ABAP SAP (ASCS) | 00 |
ERS | 01 |
Services centraux ABAP SAP (ASCS) | 02 |
Serveur d’applications supplémentaire (AAS) | 03 |
Identificateur système SAP | NW1 |
Ce diagramme illustre une architecture à haute disponibilité SAP NetWeaver typique. Les systèmes de fichiers « sapmnt » et « saptrans » sont déployés sur des partages NFS sur Azure Files. Les services centraux SAP sont protégés par un cluster Pacemaker. Les machines virtuelles en cluster se trouvent derrière une instance d’Azure Load Balancer. Les partages NFS sont montés via des points de terminaison privés.
Préparer l’infrastructure
La place de marché Azure contient des images qualifiées pour SAP avec le module complémentaire à haute disponibilité, que vous pouvez utiliser pour déployer de nouvelles machines virtuelles à l’aide de différentes versions de Red Hat.
Déployer des machines virtuelles Linux manuellement via le portail Azure
Ce document part du principe que vous avez déjà déployé un réseau virtuel Azure, un sous-réseau et un groupe de ressources.
Déployer des machines virtuelles pour SAP ASCS, SAP ERS et des serveurs d’applications. Choisissez une image RHEL appropriée prise en charge pour le système SAP. Vous pouvez déployer une machine virtuelle dans l’une des options de disponibilité : groupe de machines virtuelles identiques, zone de disponibilité ou groupe à haute disponibilité.
Configurer l’équilibrage de charge Azure
Pendant la configuration de la machine virtuelle, vous avez la possibilité de créer ou de sélectionner un équilibreur de charge existant dans la section réseau. Suivez les étapes ci-dessous pour configurer un équilibreur de charge standard pour la configuration à haute disponibilité de SAP ASCS et SAP ERS.
Suivez le guide Créer un équilibreur de charge afin de configurer un équilibreur de charge standard pour un système SAP à haute disponibilité à l’aide du portail Azure. Pendant la configuration de l’équilibreur de charge, tenez compte des points suivants.
- Configuration de l’IP front-end : créez deux adresses IP front-end, une pour ASCS et une autre pour ERS. Sélectionnez le même réseau virtuel et le même sous-réseau que vos machines virtuelles ASCS/ERS.
- Pool de back-ends : créez un pool de back-ends et ajoutez des machines virtuelles ASCS et ERS.
- Règles de trafic entrant : créez deux règles d’équilibrage de charge, une pour ASCS et une autre pour ERS. Suivez les mêmes étapes pour les deux règles 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éer une sonde d’intégrité avec les détails ci-dessous (s’applique à ASCS ou ERS)
- Protocole : TCP
- Port : [par exemple : 620<numéro d’instance> for ASCS, 621<numéro d’instance> pour ERS]
- Intervalle : 5
- Seuil de la sonde : 2
- Délai d’inactivité (minutes) : 30
- Cocher « Activer l’adresse IP flottante »
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 les machines virtuelles sans adresses IP publiques sont placées dans le pool back-end d’une instance standard (aucune adresse IP publique) interne de Load Balancer, il n’existe aucune connectivité Internet sortante, sauf si une configuration supplémentaire est effectuée pour autoriser le routage vers des points de terminaison publics. Pour plus d’informations sur la façon d’obtenir une connectivité sortante, consultez Connectivité de point de terminaison public pour les machines virtuelles avec Azure Standard Load Balancer dans les scénarios de haute disponibilité SAP.
Important
N’activez pas les timestamps TCP sur les machines virtuelles Azure placées derrière Load Balancer. L’activation des horodateurs TCP provoque l’échec des sondes d’intégrité. Affectez au paramètre net.ipv4.tcp_timestamps
la valeur 0
. Pour plus d’informations, consultez Sondes d’intégrité Load Balancer.
Déployer un compte de stockage Azure Files et des partages NFS
NFS sur Azure Files s’exécute sur un stockage Azure Files Premium. Avant de configurer NFS sur Azure Files, consultez Comment créer un partage NFS.
Il existe deux options de redondance au sein d’une région Azure :
- Stockage localement redondant (LRS), qui offre une réplication de données locale, dans la zone et synchrone.
- Stockage redondant interzone (ZRS) qui réplique vos données de façon synchrone dans les trois zones de disponibilité de la région.
Vérifiez si votre région Azure sélectionnée propose NFS 4.1 sur Azure Files avec la redondance appropriée. Passez en revue la disponibilité d’Azure Files par région Azure sous Stockage Fichier Premium. Si votre scénario bénéficie de ZRS, vérifiez que les partages de fichiers Premium avec ZRS sont pris en charge dans votre région Azure.
Nous vous recommandons d’accéder à votre compte de stockage Azure par le biais d’un point de terminaison privé Azure. Veillez à déployer le point de terminaison du compte de stockage Azure Files et les machines virtuelles, où vous devez monter les partages NFS, dans le même réseau virtuel Azure ou dans des réseaux virtuels Azure appairés.
Déployez un compte de stockage Azure Files nommé
sapafsnfs
. Dans cet exemple, nous utilisons ZRS. Si vous ne connaissez pas bien le processus, consultez Créer un compte de stockage dans le portail Azure.Sous l’onglet Informations de base, utilisez ces paramètres :
- Pour Nom du compte de stockage, entrez
sapafsnfs
. - Pour Performances, sélectionnez Premium.
- Pour Type de compte Premium, sélectionnez FileStorage.
- Pour Réplication, sélectionnez redondance de zone (ZRS).
- Pour Nom du compte de stockage, entrez
Cliquez sur Suivant.
Sous l’onglet Avancé, désactivez Exiger un transfert sécurisé pour les opérations d’API REST. Si vous ne désactivez pas cette option, vous ne pouvez pas monter le partage NFS sur votre machine virtuelle. L’opération de montage expirera.
Sélectionnez Suivant.
Dans la section Mise en réseau, configurez ces paramètres :
- Sous Connectivité réseau, pour Méthode de connectivité, sélectionnez Point de terminaison privé.
- Sous Point de terminaison privé, sélectionnez Ajouter un point de terminaison privé.
Dans le volet Créer un point de terminaison privé, sélectionnez votre Abonnement, votre Groupe de ressourceset votre Emplacement. Pour Nom, entrez
sapafsnfs_pe
. Pour Sous-ressource de stockage, sélectionnez fichier. Sous Mise en réseau, pour Réseau virtuel, sélectionnez le réseau virtuel et le sous-réseau à utiliser. Là encore, vous pouvez utiliser le réseau virtuel où vos machines virtuelles SAP se trouvent ou un réseau virtuel appairé. Sous Intégration de DNS privé, acceptez l’option par défaut Oui pour Intégrer à une zone DNS privée. Veillez à sélectionner votre zone DNS privée. Sélectionnez OK.Encore sous l’onglet Mise en réseau, sélectionnez Suivant.
Sous l’onglet Protection des données, conservez tous les paramètres par défaut.
Sélectionnez Vérifier + créer pour valider votre configuration.
Attendez que la validation se termine. Corrigez les problèmes avant de continuer.
Sous l’onglet Review + create (Vérifier + créer) , sélectionnez Créer.
Ensuite, déployez les partages NFS dans le compte de stockage que vous avez créé. Dans cet exemple, il existe deux partages NFS, sapnw1
et saptrans
.
- Connectez-vous au portail Azure.
- Sélectionnez ou recherchez des comptes de Stockage.
- Dans la page Comptes de stockage, sélectionnez sapafsnfs.
- Dans le menu de ressources pour sapafsnfs, sous Stockage de données, sélectionnez Partages de fichiers.
- Dans la page Partages de fichiers, sélectionnez Partage de fichiers.
- Pour Nom, entrez
sapnw1
,saptrans
. - Sélectionnez une taille de partage appropriée. Par exemple, 128 Go. Tenez compte de la taille des données stockées sur les exigences de partage et d’IOPS et de débit. Pour plus d’informations, consultez Cibles des partages de fichiers Azure.
- Sélectionnez le protocole NFS.
- Sélectionnez Pas de Squash racine. Sinon, quand vous montez les partages sur vos machines virtuelles, vous ne pouvez pas voir le propriétaire ou le groupe du fichier.
- Pour Nom, entrez
Important
La taille de partage précédente n’est qu’un exemple. Veillez à dimensionner vos partages de manière appropriée. La taille est non seulement basée sur la taille des données stockées sur le partage, mais également sur la base des exigences en matière d’IOPS et de débit. Pour plus d’informations, consultez Cibles des partages de fichiers Azure.
Les systèmes de fichiers SAP qui n’ont pas besoin d’être montés par le biais de NFS peuvent également être déployés sur un stockage sur disque Azure. Dans cet exemple, vous pouvez déployer /usr/sap/NW1/D02
et /usr/sap/NW1/D03
sur un stockage sur disque Azure.
Considérations importantes pour NFS sur des partages Azure Files
Lorsque vous planifiez votre déploiement avec NFS sur Azure Files, tenez compte des points importants suivants :
- La taille de partage minimale s’élève à 100 Gio. Vous payez uniquement pour la capacité des partages provisionnés.
- Dimensionnez vos partages NFS non seulement en fonction de vos besoins en capacité mais aussi de vos besoins en termes d’IOPS et de débit. Pour plus d’informations, consultez Cibles des partages de fichiers Azure.
- Testez la charge de travail pour valider votre dimensionnement et vérifier que vos objectifs de performances sont atteints. Pour savoir comment résoudre les problèmes de performances avec NFS sur Azure Files, consultez Résoudre les problèmes de performances de partage de fichiers Azure.
- Pour les systèmes SAP J2EE, il n’est pas possible de placer
/usr/sap/<SID>/J<nr>
sur NFS sur Azure Files. - Si votre système SAP a une charge importante de programmes de traitement par lots, vous pouvez avoir des millions de journaux de travaux. Si les journaux des programmes de traitement par lots SAP sont stockés dans le système de fichiers, portez une attention particulière au dimensionnement du partage
sapmnt
. À partir de SAP_BASIS 7.52, le comportement par défaut des journaux des programmes de traitement par lots doit être stocké dans la base de données. Pour plus d’informations, consultez Journal des travaux dans la base de données. - Déployez un partage
sapmnt
distinct pour chaque système SAP. - N’utilisez pas le partage
sapmnt
pour une autre activité, comme des interfaces ousaptrans
. - N’utilisez pas le partage
saptrans
pour une autre activité, comme des interfaces ousapmnt
. - Évitez de regrouper les partages d’un trop grand nombre de systèmes SAP dans un seul compte de stockage. Il existe également des cibles de mise à l’échelle des performances des comptes de stockage. Veillez également à ne pas dépasser les limites du compte de stockage.
- En général, ne regroupez pas les partages de plus de cinq systèmes SAP dans un seul compte de stockage. Cette règle permet d’éviter de dépasser les limites de comptes de stockage et de simplifier l’analyse des performances.
- En général, évitez de mélanger des partages tels que
sapmnt
pour les systèmes SAP hors production et de production dans le même compte de stockage. - Nous vous recommandons de déployer le système sur RHEL 8.4 ou une version ultérieure pour tirer parti des améliorations apportées au client NFS.
- Utilisez un point de terminaison privé. Dans l’éventualité peu probable d’une défaillance zonale, vos sessions NFS sont automatiquement redirigées vers une zone saine. Vous n’avez pas besoin de remonter les partages NFS sur vos machines virtuelles.
- Si vous déployez vos machines virtuelles sur des zones de disponibilité, utilisez un compte de stockage avec ZRS dans les régions Azure qui prennent en charge ZRS.
- Azure Files ne prend actuellement pas en charge la réplication interrégionale automatique pour les scénarios de reprise d’activité après sinistre.
Configurez (A)SCS
Ensuite, vous allez préparer et installer les instances SAP ASCS et ERS.
Créez un cluster Pacemaker
Suivez les étapes de Configurer le Pacemaker sur Red Hat Enterprise Linux dans Azure afin de créer un cluster Pacemaker de base pour ce serveur (A)SCS.
Préparez l’installation de SAP NetWeaver
Les éléments suivants sont précédés de :
- [A] : applicable à tous les nœuds
- [1] : applicable uniquement au nœud 1
- [2] : applicable uniquement au nœud 2
[A] Configurer la résolution du nom d’hôte.
Vous pouvez utiliser un serveur DNS ou modifier le fichier
/etc/hosts
sur tous les nœuds. Cet exemple vous explique comment utiliser le fichier/etc/hosts
. Remplacez l’adresse IP et le nom d’hôte dans les commandes suivantes :sudo vi /etc/hosts
Insérez les lignes suivantes dans
/etc/hosts
. Changez l’adresse IP et le nom d’hôte en fonction de votre environnement.# IP address of cluster node 1 10.90.90.7 sap-cl1 # IP address of cluster node 2 10.90.90.8 sap-cl2 # IP address of the load balancer frontend configuration for SAP Netweaver ASCS 10.90.90.10 sapascs # IP address of the load balancer frontend configuration for SAP Netweaver ERS 10.90.90.9 sapers
[A] Installer le client NFS et d’autres exigences.
sudo yum -y install nfs-utils resource-agents resource-agents-sap
[1] Créez les répertoires SAP sur le partage NFS.
Montez le partage NFS sapnw1 temporairement sur l’une des machines virtuelles et créez les répertoires SAP qui seront utilisés comme points de montage imbriqués.# mount temporarily the volume sudo mkdir -p /saptmp sudo mount -t nfs sapnfs.file.core.windows.net:/sapnfsafs/sapnw1 /saptmp -o noresvport,vers=4,minorversion=1,sec=sys # create the SAP directories sudo cd /saptmp sudo mkdir -p sapmntNW1 sudo mkdir -p usrsapNW1ascs sudo mkdir -p usrsapNW1ers sudo mkdir -p usrsapNW1sys # unmount the volume and delete the temporary directory cd .. sudo umount /saptmp sudo rmdir /saptmp
[A] Créez les répertoires partagés.
sudo mkdir -p /sapmnt/NW1 sudo mkdir -p /usr/sap/trans sudo mkdir -p /usr/sap/NW1/SYS sudo mkdir -p /usr/sap/NW1/ASCS00 sudo mkdir -p /usr/sap/NW1/ERS01 sudo chattr +i /sapmnt/NW1 sudo chattr +i /usr/sap/trans sudo chattr +i /usr/sap/NW1/SYS sudo chattr +i /usr/sap/NW1/ASCS00 sudo chattr +i /usr/sap/NW1/ERS01
[A] Vérifier la version de
resource-agents-sap
.Vérifiez que la version du package
resource-agents-sap
installé est au moins3.9.5-124.el7
.sudo yum info resource-agents-sap
[A] Ajoutez des entrées de montage.
vi /etc/fstab # Add the following lines to fstab, save and exit sapnfs.file.core.windows.net:/sapnfsafs/saptrans /usr/sap/trans nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/sapmntNW1 /sapmnt/NW1 nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1sys/ /usr/sap/NW1/SYS nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 # Mount the file systems mount -a
[A] Configurez le fichier SWAP.
sudo vi /etc/waagent.conf # Set the property ResourceDisk.EnableSwap to y # Create and use swapfile on resource disk. ResourceDisk.EnableSwap=y # Set the size of the SWAP file with property ResourceDisk.SwapSizeMB # The free space of resource disk varies by virtual machine size. Make sure that you do not set a value that is too big. You can check the SWAP space with command swapon # Size of the swapfile. ResourceDisk.SwapSizeMB=2000
Redémarrer l’Agent pour activer la modification.
sudo service waagent restart
[A] Configurer RHEL.
Configurez RHEL comme décrit dans la note SAP 2002167 pour RHEL 7.x, la note SAP 2772999 pour RHEL 8.x ou la note SAP 3108316 pour RHEL 9.x.
Installez SAP NetWeaver ASCS/ERS
[1] Configurer les propriétés par défaut du cluster.
# If using RHEL 7.x pcs resource defaults resource-stickiness=1 pcs resource defaults migration-threshold=3 # If using RHEL 8.x or later pcs resource defaults update resource-stickiness=1 pcs resource defaults update migration-threshold=3
[1] Créez une ressource IP virtuelle et une sonde d’intégrité pour l’instance ASCS.
sudo pcs node standby sap-cl2 sudo pcs resource create fs_NW1_ASCS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1ascs' \ directory='/usr/sap/NW1/ASCS00' fstype='nfs' force_unmount=safe options='noresvport,vers=4,minorversion=1,sec=sys' \ op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=40 \ --group g-NW1_ASCS sudo pcs resource create vip_NW1_ASCS IPaddr2 \ ip=10.90.90.10 \ --group g-NW1_ASCS sudo pcs resource create nc_NW1_ASCS azure-lb port=62000 \ --group g-NW1_ASCS
Vérifiez que l’état du cluster est correct et que toutes les ressources sont démarrées. Le nœud sur lequel les ressources s’exécutent n’est pas important.
sudo pcs status # Node sap-cl2: standby # Online: [ sap-cl1 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl1 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1
[1] Installez SAP NetWeaver ASCS.
Installez SAP NetWeaver ASCS comme racine sur le premier nœud à l’aide d’un nom d’hôte virtuel qui correspond à l’adresse IP de la configuration front-end de l’équilibreur de charge pour l’ASCS, par exemple, sapascs et 10.90.90.10, et le numéro d’instance que vous avez utilisé pour la sonde de l’équilibreur de charge, par exemple, 00.
Vous pouvez utiliser le paramètre
sapinst
SAPINST_REMOTE_ACCESS_USER
pour permettre à un utilisateur non racine de se connecter àsapinst
.# Allow access to SWPM. This rule is not permanent. If you reboot the machine, you have to run the command again. sudo firewall-cmd --zone=public --add-port=4237/tcp sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=<virtual_hostname>
Si aucun sous-dossier n’est créé dans /usr/sap/NW1/ASCS00 lors de l’installation, essayez de définir le propriétaire et le groupe du dossier ASCS00, puis réessayez.
sudo chown nw1adm /usr/sap/NW1/ASCS00 sudo chgrp sapsys /usr/sap/NW1/ASCS00
[1] Créez une ressource IP virtuelle et une sonde d’intégrité pour l’instance ERS.
sudo pcs node unstandby sap-cl2 sudo pcs node standby sap-cl1 sudo pcs resource create fs_NW1_AERS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1ers' \ directory='/usr/sap/NW1/ERS01' fstype='nfs' force_unmount=safe options='noresvport,vers=4,minorversion=1,sec=sys' \ op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=40 \ --group g-NW1_AERS sudo pcs resource create vip_NW1_AERS IPaddr2 \ ip=10.90.90.9 \ --group g-NW1_AERS sudo pcs resource create nc_NW1_AERS azure-lb port=62101 \ --group g-NW1_AERS
Vérifiez que l’état du cluster est correct et que toutes les ressources sont démarrées. Le nœud sur lequel les ressources s’exécutent n’est pas important.
sudo pcs status # Node sap-cl1: standby # Online: [ sap-cl2 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl2 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl2 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl2
[2] Installez SAP NetWeaver ERS.
Installez SAP NetWeaver ERS comme racine sur le deuxième nœud à l’aide d’un nom d’hôte virtuel qui correspond à l’adresse IP de la configuration front-end de l’équilibreur de charge pour ERS, par exemple, sapers et 10.90.90.9et le numéro d’instance que vous avez utilisé pour la sonde de l’équilibreur de charge, par exemple, 01.
Vous pouvez utiliser le paramètre
sapinst
SAPINST_REMOTE_ACCESS_USER
pour permettre à un utilisateur non racine de se connecter àsapinst
.# Allow access to SWPM. This rule is not permanent. If you reboot the machine, you have to run the command again. sudo firewall-cmd --zone=public --add-port=4237/tcp sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=<virtual_hostname>
Si aucun sous-dossier n’est créé dans /usr/sap/NW1/ERS01 lors de l’installation, essayez de définir le propriétaire et le groupe du dossier ERS01, puis réessayez.
sudo chown qaadm /usr/sap/NW1/ERS01 sudo chgrp sapsys /usr/sap/NW1/ERS01
[1] Adapter les profils ASCS/SCS et ERS.
Profil ASCS/SCS :
sudo vi /sapmnt/NW1/profile/NW1_ASCS00_sapascs # Change the restart command to a start command #Restart_Program_01 = local $(_EN) pf=$(_PF) Start_Program_01 = local $(_EN) pf=$(_PF) # Add the keep alive parameter, if using ENSA1 enque/encni/set_so_keepalive = true
Pour ENSA1 et ENSA2, assurez-vous que les paramètres de système d’exploitation
keepalive
sont définis comme décrit dans la note SAP 1410736.Profil ERS :
sudo vi /sapmnt/NW1/profile/NW1_ERS01_sapers # Change the restart command to a start command #Restart_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID) Start_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID) # remove Autostart from ERS profile # Autostart = 1
[A] Configurer Keep Alive.
La communication entre le serveur d’applications SAP NetWeaver et l’ASCS/SCS est routée par l’intermédiaire d’un équilibreur de charge logiciel. L’équilibreur de charge déconnecte les connexions inactives après un délai configurable. Pour empêcher cette action, définissez un paramètre dans le profil SAP NetWeaver ASCS/SCS, si vous utilisez ENSA1. Modifiez les paramètres
keepalive
du système Linux sur tous les serveurs SAP pour ENSA1 et ENSA2. Pour plus d’informations, consultez la note SAP 1410736.# Change the Linux system configuration sudo sysctl net.ipv4.tcp_keepalive_time=300
[A] Mettre à jour le fichier
/usr/sap/sapservices
.Pour empêcher le démarrage des instances par le script de démarrage
sapinit
, toutes les instances gérées par Pacemaker doivent être commentées à partir du fichier/usr/sap/sapservices
.sudo vi /usr/sap/sapservices # Depending on whether the SAP Startup framework is integrated with systemd, you will observe one of the two entries on the ASCS node. You should comment out the line(s). # LD_LIBRARY_PATH=/usr/sap/NW1/ASCS00/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW1/ASCS00/exe/sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_ASCS00_sapascs -D -u nw1adm # systemctl --no-ask-password start SAPNW1_00 # sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_ASCS00_sapascs # Depending on whether the SAP Startup framework is integrated with systemd, you will observe one of the two entries on the ERS node. You should comment out the line(s). # LD_LIBRARY_PATH=/usr/sap/NW1/ERS01/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW1/ERS01/exe/sapstartsrv pf=/usr/sap/NW1/ERS01/profile/NW1_ERS01_sapers -D -u nw1adm # systemctl --no-ask-password start SAPNW1_00 # sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_ERS01_sapers
Important
Avec le SAP Startup Framework basé sur systemd, les instances SAP peuvent désormais être gérées par systemd. La version minimale requise de Red Hat Enterprise Linux (RHEL) est RHEL 8 pour SAP. Comme décrit dans la note SAP 3115048, une nouvelle installation d’un noyau SAP avec prise en charge de SAP Startup Framework basée sur le système intégré entraîne toujours une instance SAP contrôlée par le système. Après une mise à niveau du noyau SAP d’une installation SAP existante vers un noyau qui a la prise en charge de SAP Startup Framework basée sur le système, toutefois, certaines étapes manuelles doivent être effectuées comme documentées dans la note SAP 3115048 pour convertir l’environnement de démarrage SAP existant en un environnement contrôlé par le système.
Lors de l'utilisation des services Red Hat HA pour SAP (configuration en grappe) pour gérer les instances de serveurs d'applications SAP telles que SAP ASCS et SAP ERS, des modifications supplémentaires seront nécessaires pour assurer la compatibilité entre l'agent de ressources SAPInstance et le nouveau cadre de démarrage SAP basé sur systemd. Par conséquent, une fois que les instances de serveur d’applications SAP ont été installées ou basculées vers un noyau SAP activé par le système conformément à la note SAP 3115048, les étapes mentionnées dans Red Hat KBA 6884531 doivent être effectuées avec succès sur tous les nœuds de cluster.
[1] Créez les ressources de cluster SAP.
Selon que vous exécutez un système ENSA1 ou ENSA2, sélectionnez l’onglet correspondant pour définir les ressources. SAP a introduit la prise en charge d’ENSA2, y compris la réplication, dans SAP NetWeaver 7.52. À partir de la plateforme ABAP 1809, ENSA2 est installé par défaut. Pour une prise en charge ENSA2. Consultez la note SAP 2630416 pour plus d’informations sur la prise en charge du serveur empilé 2.
Si vous utilisez l’architecture du serveur empilé 2 (ENSA2), installez l’agent de ressources resource-agents-sap-4.1.1-12.el7.x86_64 ou une version plus récente et définissez les ressources comme indiqué ici :
sudo pcs property set maintenance-mode=true sudo pcs resource create rsc_sap_NW1_ASCS00 SAPInstance \ InstanceName=NW1_ASCS00_sapascs START_PROFILE="/sapmnt/NW1/profile/NW1_ASCS00_sapascs" \ AUTOMATIC_RECOVER=false \ meta resource-stickiness=5000 migration-threshold=1 failure-timeout=60 \ op monitor interval=20 on-fail=restart timeout=60 \ op start interval=0 timeout=600 op stop interval=0 timeout=600 \ --group g-NW1_ASCS sudo pcs resource meta g-NW1_ASCS resource-stickiness=3000 sudo pcs resource create rsc_sap_NW1_ERS01 SAPInstance \ InstanceName=NW1_ERS01_sapers START_PROFILE="/sapmnt/NW1/profile/NW1_ERS01_sapers" \ AUTOMATIC_RECOVER=false IS_ERS=true \ op monitor interval=20 on-fail=restart timeout=60 op start interval=0 timeout=600 op stop interval=0 timeout=600 \ --group g-NW1_AERS sudo pcs constraint colocation add g-NW1_AERS with g-NW1_ASCS -5000 sudo pcs constraint location rsc_sap_NW1_ASCS00 rule score=2000 runs_ers_NW1 eq 1 sudo pcs constraint order start g-NW1_ASCS then stop g-NW1_AERS kind=Optional symmetrical=false sudo pcs node unstandby sap-cl1 sudo pcs property set maintenance-mode=false
Si vous effectuez une mise à niveau à partir d’une version antérieure et que vous passez au serveur empilé 2, consultez la note SAP 2641322.
Remarque
Les délais d’expiration de la configuration précédente ne sont que des exemples et peuvent être adaptés à la configuration SAP spécifique.
Vérifiez que l’état du cluster est correct et que toutes les ressources sont démarrées. Le nœud sur lequel les ressources s’exécutent n’est pas important.
sudo pcs status # Online: [ sap-cl1 sap-cl2 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl2 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl2 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl2 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl1
[1] Exécutez l’étape suivante pour configurer
priority-fencing-delay
(applicable uniquement à partir de pacemaker-2.0.4-6.el8 ou version ultérieure).Remarque
Si vous avez un cluster à deux nœuds, vous avez la possibilité de configurer la propriété du cluster
priority-fencing-delay
. Cette propriété introduit un délai supplémentaire dans un délimiteur de nœud qui a une priorité de ressource totale supérieure lorsqu’un scénario split-brain se produit. Pour plus d’informations, consultez Pacemaker peut-il clôturer le nœud de cluster avec le moins de ressources en cours d’exécution ?.La propriété
priority-fencing-delay
s’applique à la version pacemaker-2.0.4-6.el8 ou ultérieure. Si vous configurezpriority-fencing-delay
sur un cluster existant, veillez à effacer le paramètrepcmk_delay_max
dans l’appareil de délimitation.sudo pcs resource defaults update priority=1 sudo pcs resource update rsc_sap_NW1_ASCS00 meta priority=10 sudo pcs property set priority-fencing-delay=15s
[A] Ajoutez des règles de pare-feu pour ASCS et ERS sur les deux nœuds.
# Probe Port of ASCS sudo firewall-cmd --zone=public --add-port={62000,3200,3600,3900,8100,50013,50014,50016}/tcp --permanent sudo firewall-cmd --zone=public --add-port={62000,3200,3600,3900,8100,50013,50014,50016}/tcp # Probe Port of ERS sudo firewall-cmd --zone=public --add-port={62101,3201,3301,50113,50114,50116}/tcp --permanent sudo firewall-cmd --zone=public --add-port={62101,3201,3301,50113,50114,50116}/tcp
Préparation du serveur d’applications SAP NetWeaver
Certaines bases de données nécessitent que l’installation de l’instance de base de données s’exécute sur un serveur d’applications. Préparez les machines virtuelles de serveur d’applications pour pouvoir les utiliser dans ce cas de figure.
Les étapes suivantes partent du principe que vous installez le serveur d’applications sur un serveur différent des serveurs ASCS/SCS et HANA. Dans le cas contraire, certaines des étapes (comme la configuration de la résolution de nom d’hôte) ne sont pas nécessaires.
Les éléments suivants sont précédés de :
- [A] : applicable à la fois au PAS et à l’AAS
- [P] : applicable uniquement au PAS
- [S] : applicable uniquement à l’AAS
[A] Configurer la résolution du nom d’hôte. Vous pouvez utiliser un serveur DNS ou modifier le fichier
/etc/hosts
sur tous les nœuds. Cet exemple vous explique comment utiliser le fichier/etc/hosts
. Remplacez l’adresse IP et le nom d’hôte dans les commandes suivantes :sudo vi /etc/hosts
Insérez les lignes suivantes dans
/etc/hosts
. Changez l’adresse IP et le nom d’hôte en fonction de votre environnement.10.90.90.7 sap-cl1 10.90.90.8 sap-cl2 # IP address of the load balancer frontend configuration for SAP Netweaver ASCS 10.90.90.10 sapascs # IP address of the load balancer frontend configuration for SAP Netweaver ERS 10.90.90.9 sapers 10.90.90.12 sapa01 10.90.90.13 sapa02
[A] Créer le répertoire
sapmnt
.sudo mkdir -p /sapmnt/NW1 sudo mkdir -p /usr/sap/trans sudo chattr +i /sapmnt/NW1 sudo chattr +i /usr/sap/trans
[A] Installer le client NFS et d’autres exigences.
sudo yum -y install nfs-utils uuidd
[A] Ajoutez des entrées de montage.
vi /etc/fstab # Add the following lines to fstab, save and exit sapnfs.file.core.windows.net:/sapnfsafs/saptrans /usr/sap/trans nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/sapmntNW1 /sapmnt/NW1 nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 # Mount the file systems mount -a
[A] Configurez le fichier SWAP.
sudo vi /etc/waagent.conf # Set the property ResourceDisk.EnableSwap to y # Create and use swapfile on resource disk. ResourceDisk.EnableSwap=y # Set the size of the SWAP file with property ResourceDisk.SwapSizeMB # The free space of resource disk varies by virtual machine size. Make sure that you do not set a value that is too big. You can check the SWAP space with command swapon # Size of the swapfile. ResourceDisk.SwapSizeMB=2000
Redémarrer l’Agent pour activer la modification.
sudo service waagent restart
Installez la base de données.
Dans cet exemple, SAP NetWeaver est installé sur SAP HANA. Vous pouvez utiliser n’importe quelle base de données prise en charge pour cette installation. Pour plus d’informations sur l’installation de SAP HANA dans Azure, consultez Haute disponibilité de SAP HANA sur des machines virtuelles Azure sur Red Hat Enterprise Linux. Pour obtenir la liste des bases de données prises en charge, consultez la note SAP 1928533.
Installez l’instance de base de données SAP NetWeaver en tant que racine à l’aide d’un nom d’hôte virtuel mappé à l’adresse IP de la configuration front-end de l’équilibreur de charge pour la base de données.
Vous pouvez utiliser le paramètre sapinst
SAPINST_REMOTE_ACCESS_USER
pour permettre à un utilisateur non racine de se connecter à sapinst
.
# Allow access to SWPM. This rule is not permanent. If you reboot the machine, you have to run the command again.
sudo firewall-cmd --zone=public --add-port=4237/tcp
sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
Installation de serveur d’applications SAP NetWeaver
Suivez ces étapes pour installer un serveur d’applications SAP.
[A] Préparez le serveur d’applications.
Suivez les étapes décrites dans la section précédente Préparation du serveur d’applications SAP NetWeaver pour préparer le serveur d’applications.
[A] Installer le serveur d’applications SAP NetWeaver.
Installer un serveur d’applications SAP NetWeaver principal ou supplémentaire.
Vous pouvez utiliser le paramètre
sapinst
SAPINST_REMOTE_ACCESS_USER
pour permettre à un utilisateur non racine de se connecter àsapinst
.sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
[A] Mettre à jour la banque d’informations sécurisée SAP HANA.
Mettez à jour la banque d’informations sécurisée SAP HANA pour qu’elle pointe vers le nom virtuel de la configuration de la réplication système SAP HANA.
Exécutez la commande suivante pour répertorier les entrées sous la forme
<sapsid>adm
.hdbuserstore List
Toutes les entrées doivent être répertoriées et ressembler à :
DATA FILE : /home/nw1adm/.hdb/sapa01/SSFS_HDB.DAT KEY FILE : /home/nw1adm/.hdb/sapa01/SSFS_HDB.KEY KEY DEFAULT ENV : 10.90.90.5:30313 USER: SAPABAP1 DATABASE: NW1
Dans cet exemple, l’adresse IP de l’entrée par défaut pointe vers la machine virtuelle, et non l’équilibreur de charge. Modifiez l’entrée de sorte qu’elle pointe vers le nom d’hôte virtuel de l’équilibreur de charge. Veillez à utiliser le même port et le même nom de base de données. Par exemple, utilisez
30313
etNW1
dans l’exemple de sortie.su - nw1adm hdbuserstore SET DEFAULT nw1db:30313@NW1 SAPABAP1 <password of ABAP schema>
Tester la configuration du cluster
Testez minutieusement votre cluster Pacemaker. Pour plus d’informations, consultez Exécuter les tests de basculement typiques.
Étapes suivantes
- Pour déployer un scénario d’optimisation des coûts dans lequel l’instance PAS et AAS est déployée avec le cluster à haute disponibilité SAP NetWeaver sur RHEL, consultez Installer une instance de boîte de dialogue SAP avec des machines virtuelles à haute disponibilité SAP ASCS/SCS sur RHEL.
- Consultez Guide de haute disponibilité pour SAP NW sur les machines virtuelles Azure sur RHEL pour les applications SAP multi-SID.
- Consultez Planification et implémentation de machines virtuelles Azure pour SAP.
- Consultez Déploiement de machines virtuelles Azure pour SAP.
- Consultez Déploiement SGBD de machines virtuelles Azure pour SAP.
- Pour savoir comment établir une HA et planifier la récupération d’urgence de SAP HANA sur Azure (grandes instances), consultez Haute disponibilité et récupération d’urgence de SAP HANA (grandes instances) sur Azure.
- Pour savoir comment établir une HA et planifier la récupération d’urgence de SAP HANA sur des machines virtuelles Azure, consultez Haute disponibilité de SAP HANA sur des machines virtuelles Azure.