IBM Cloud Docs
Configuration de la haute disponibilité pour SAP S/4HANA (ASCS et ERS) sur Red Hat Enterprise Linux HA Add-On clusters dans une région multizone avec simple mount

Configuration de la haute disponibilité pour SAP S/4HANA (ASCS et ERS) sur Red Hat Enterprise Linux HA Add-On clusters dans une région multizone avec simple mount

Les informations suivantes décrivent comment configurer ABAP SAP Central Services (ASCS) et Enqueue Replication Server (ERS) dans un cluster Red Hat Enterprise Linux (RHEL) High Availability Add-On. L'installation utilise la structure de montage simple, une approche rationalisée pour le montage des répertoires du serveur d'application SAP. Le cluster fonctionne sur des instances de serveurs virtuels dans IBM® Power® Virtual Server.

Cet exemple de configuration s'applique à la deuxième génération du serveur Enqueue autonome, également connu sous le nom de ENSA2.

Depuis SAP S/4HANA 1809, ENSA2 est installé par défaut et prend en charge les configurations de cluster à deux ou plusieurs nœuds. Cet exemple présente une configuration de cluster RHEL HA Add-On à deux nœuds avec ENSA2. Si le service ASCS échoue, il redémarre automatiquement sur le nœud qui héberge l'instance ERS. Les entrées de verrouillage sont restaurées à partir de la copie de la table de verrouillage de l'instance ERS. Lorsque le nœud défaillant est réactivé, l'instance ERS est déplacée vers l'autre nœud (anti-colocalisation) afin de maintenir la redondance et de protéger la copie de la table des verrous.

Installez la base de données SAP et les autres instances du serveur d'application SAP sur des serveurs virtuels en dehors du cluster à deux nœuds utilisé pour ASCS et ERS.

Avant de commencer

Passez en revue les exigences générales, la documentation du produit, les articles de support et les notes SAP répertoriées dans la section Mise en œuvre de la haute disponibilité pour les applications SAP sur IBM Power Virtual Server Références.

Prérequis

Les systèmes de fichiers NFS suivants doivent être montés par le système d'exploitation sur les deux nœuds du cluster. Ces systèmes de fichiers ne sont pas gérés par le cluster HA.

  • /usr/sap/<SID> contient les répertoires des instances ASCS et ERS.
  • /sapmnt/<SID> héberge le partage sapmnt.
  • usr/sap/trans peut être nécessaire pour les répertoires de transport partagés (saptrans ).

Assurez-vous qu'un serveur NFS hautement disponible est configuré pour fournir ces systèmes de fichiers partagés. N'installez pas le serveur NFS sur un serveur virtuel faisant partie du ENSA2 cluster. Ce document ne couvre pas la configuration du stockage des fichiers ni la création des ressources du système de fichiers en grappe.

Assurez-vous que les noms d'hôtes virtuels des instances ASCS et ERS sont conformes aux exigences énoncées dans la section Noms d'hôtes des serveurs de la plate-forme ABAP SAP.

Les sous-réseaux et les adresses IP virtuelles des instances ASCS et ERS ne doivent pas exister dans les espaces de travail Power Virtual Server, car ils sont gérés comme des ressources de cluster. Cependant, vous devez enregistrer les adresses IP virtuelles et les noms d'hôte des instances ASCS et ERS dans le service de noms de domaine (DNS) et les ajouter au fichier etc/hosts sur tous les nœuds du cluster.

Préparation des nœuds pour l'installation des instances ASCS et ERS

Les informations suivantes décrivent comment préparer les nœuds pour l'installation des instances ASCS et ERS sur le site SAP.

Préparation des variables d'environnement

Pour simplifier le processus d'installation, définissez les variables d'environnement suivantes pour l'utilisateur root sur les deux nœuds du cluster. Ces variables sont utilisées dans les commandes suivantes du système d'exploitation.

Sur les deux nœuds, définissez les variables d'environnement suivantes.

# General settings
export CLUSTERNAME="SAP_S01"        # Cluster name
export NODE1=<HOSTNAME_1>           # Virtual server instance 1 hostname
export NODE2=<HOSTNAME_2>           # Virtual server instance 2 hostname

export SID=<SID>                    # SAP System ID (uppercase)
export sid=<sid>                    # SAP System ID (lowercase)

# ASCS instance
export ASCS_INSTNO=<INSTNO>         # ASCS instance number
export ASCS_NET=<Subnet name>       # Name for the ASCS subnet in IBM Cloud
export ASCS_CIDR=<CIDR of subnet>   # CIDR of the ASCS subnet containing the service IP address
export ASCS_VH=<virtual hostname>   # ASCS virtual hostname
export ASCS_IP=<IP address>         # ASCS virtual IP address

# ERS instance
export ERS_INSTNO=<INSTNO>          # ERS instance number
export ERS_NET=<Subnet name>        # Name for the ERS subnet in IBM Cloud
export ERS_CIDR=<CIDR of subnet>    # CIDR of the ERS subnet containing the service IP address
export ERS_VH=<virtual hostname>    # ERS virtual hostname
export ERS_IP=<IP address>          # ERS virtual IP address

# Other multizone region settings
export CLOUD_REGION=<CLOUD_REGION>       # Multizone region name
export APIKEY="APIKEY or path to file"   # API key of the ServiceID for the resource agent
export API_TYPE="private or public"      # Use private or public API endpoints
export IBMCLOUD_CRN_1=<IBMCLOUD_CRN_1>   # Workspace 1 CRN
export IBMCLOUD_CRN_2=<IBMCLOUD_CRN_2>   # Workspace 2 CRN
export POWERVSI_1=<POWERVSI_1>           # Virtual server 1 instance id
export POWERVSI_2=<POWERVSI_2>           # Virtual server 2 instance id
export JUMBO="true or false"             # Enable Jumbo frames

# NFS settings
export NFS_SERVER="NFS server"           # Hostname or IP address of the highly available NFS server
export NFS_SHARE="NFS server directory"  # Exported file system directory on the NFS server
export NFS_OPTIONS="rw,sec=sys"          # Sample NFS client mount options

Les commandes d'exportation suivantes sont un exemple de la manière de définir les variables d'environnement supplémentaires nécessaires à la mise en œuvre d'une région multizone.

# General settings
export CLUSTERNAME="SAP_S01"         # Cluster name
export NODE1="cl-s01-1"              # Virtual service instance 1 hostname
export NODE2="cl-s01-2"              # Virtual server instance 2 hostname

export SID="S01"                     # SAP System ID (uppercase)
export sid="s01"                     # SAP System ID (lowercase)

# ASCS instance
export ASCS_INSTNO="21"              # ASCS instance number
export ASCS_NET="s01-ascs-net"       # Name for the ASCS subnet in IBM Cloud
export ASCS_CIDR="10.40.21.100/30"   # CIDR of the ASCS subnet containing the service IP address
export ASCS_VH="s01ascs"             # ASCS virtual hostname
export ASCS_IP="10.40.21.102"        # ASCS virtual IP address

# ERS instance
export ERS_INSTNO="22"               # ERS instance number
export ERS_NET="s01-ers-net"         # Name for the ERS subnet in IBM Cloud
export ERS_CIDR="10.40.22.100/30"    # CIDR of the ERS subnet containing the service IP address
export ERS_VH="s01ers"               # ERS virtual hostname
export ERS_IP="10.40.22.102"         # ERS virtual IP address

# Other multizone region settings
export CLOUD_REGION="eu-de"
export IBMCLOUD_CRN_1="crn:v1:bluemix:public:power-iaas:eu-de-2:a/a1b2c3d4e5f60123456789a1b2c3d4e5:a1b2c3d4-0123-4567-89ab-a1b2c3d4e5f6::"
export IBMCLOUD_CRN_2="crn:v1:bluemix:public:power-iaas:eu-de-1:a/a1b2c3d4e5f60123456789a1b2c3d4e5:e5f6a1b2-cdef-0123-4567-a1b2c3d4e5f6::"
export POWERVSI_1="a1b2c3d4-0123-890a-f012-0123456789ab"
export POWERVSI_2="e5f6a1b2-4567-bcde-3456-cdef01234567"
export APIKEY="@/root/.apikey.json"
export API_TYPE="private"
export JUMBO="true"

# NFS settings
export NFS_SERVER="cl-nfs"           # Hostname or IP address of the highly available NFS server
export NFS_SHARE="/sapS01"           # Exported file system directory on the NFS server
export NFS_OPTIONS="rw,sec=sys"      # Sample NFS client mount options

Création de points de montage pour les systèmes de fichiers de l'instance

Sur les deux nœuds du cluster, exécutez la commande suivante pour créer les points de montage requis pour les systèmes de fichiers de l'instance SAP.

mkdir -p /usr/sap/${SID} /sapmnt/${SID}

Installation et configuration du cluster RHEL HA Add-On

Suivez les instructions de la section Mise en œuvre d'un cluster Red Hat Enterprise Linux High Availability Add-On dans un environnement multizone pour installer et configurer le cluster RHEL HA Add-On. Après l'installation, configurez et testez la clôture de la grappe comme décrit dans la section Création du dispositif de clôture.

Préparation des ressources du cluster avant l'installation de SAP

Assurez-vous que le cluster RHEL HA Add-On est actif sur les deux instances de serveurs virtuels et vérifiez que la clôture des nœuds fonctionne comme prévu.

Configuration des propriétés générales du cluster

Pour empêcher le cluster de relocaliser des ressources saines, par exemple lors du redémarrage d'un nœud précédemment défaillant, définissez les métaattributs par défaut suivants.

  • resource-stickiness=1: Assure que les ressources restent sur leur nœud actuel.
  • migration-threshold=3: Limite le nombre d'échecs avant qu'une ressource ne soit déplacée.

Sur NODE1, exécutez la commande suivante.

pcs resource defaults update resource-stickiness=1
pcs resource defaults update migration-threshold=3

Configuration des montages NFS

Le système d'exploitation monte les systèmes de fichiers NFS sur tous les nœuds du cluster. Ces montages ne sont pas gérés par le cluster HA et doivent être configurés manuellement dans la table des systèmes de fichiers /etc/fstab.

Dans cet exemple, le serveur NFS exporte les sous-répertoires SAP_${SID}/sapmnt et SAP_${SID}/usrsap${sid}. Ajustez les chemins d'accès en fonction de la configuration de votre serveur NFS.

Exécutez les commandes suivantes sur les deux nœuds du cluster.

  1. Vérifiez si /etc/fstab contient déjà des entrées pour les systèmes de fichiers sapmnt et saptrans. Si ce n'est pas le cas, ajoutez les entrées de montage nécessaires.

    Veillez à adapter les chemins d'exportation à la configuration de votre serveur NFS.

    cat >> /etc/fstab << EOT
    ${NFS_SERVER}:${NFS_SHARE}/SAP_${SID}/sapmnt /sapmnt/${SID} nfs4 ${NFS_OPTIONS} 0 0
    EOT
    
    cat >> /etc/fstab << EOT
    ${NFS_SERVER}:${NFS_SHARE}/SAP_${SID}/usrsap${sid} /usr/sap/${SID} nfs4 ${NFS_OPTIONS} 0 0
    EOT
    

    Veillez à ce que des entrées en double ne soient pas ajoutées à /etc/fstab. N'utilisez cat >> que si les entrées n'existent pas.

  2. Montez les systèmes de fichiers NFS sur les deux nœuds du cluster.

    mount /usr/sap/${SID}
    
    mount /sapmnt/${SID}
    

Préparation de l'installation de l'instance ASCS sur NODE1

Sur NODE1, exécutez la commande suivante pour créer une ressource de cluster powervs-subnet pour l'adresse IP virtuelle ASCS.

pcs resource create ${sid}_vip_ascs${ASCS_INSTNO} powervs-subnet \
    api_key=${APIKEY} \
    api_type=${API_TYPE} \
    cidr=${ASCS_CIDR} \
    ip=${ASCS_IP} \
    crn_host_map="${NODE1}:${IBMCLOUD_CRN_1};${NODE2}:${IBMCLOUD_CRN_2}" \
    vsi_host_map="${NODE1}:${POWERVSI_1};${NODE2}:${POWERVSI_2}" \
    jumbo=${JUMBO} \
    region=${CLOUD_REGION} \
    subnet_name=${ASCS_NET} \
    route_table=5${ASCS_INSTNO} \
    op start timeout=720 \
    op stop timeout=300 \
    op monitor interval=90 timeout=45 \
    group ${sid}_ascs${ASCS_INSTNO}_group \
    --future

Préparation de l'installation de l'instance ERS sur NODE2

Sur NODE1, exécutez la commande suivante pour créer une ressource de cluster powervs-subnet pour l'adresse IP virtuelle ERS.

pcs resource create ${sid}_vip_ers${ERS_INSTNO} powervs-subnet \
    api_key=${APIKEY} \
    api_type=${API_TYPE} \
    cidr=${ERS_CIDR} \
    ip=${ERS_IP} \
    crn_host_map="${NODE1}:${IBMCLOUD_CRN_1};${NODE2}:${IBMCLOUD_CRN_2}" \
    vsi_host_map="${NODE1}:${POWERVSI_1};${NODE2}:${POWERVSI_2}" \
    jumbo=${JUMBO} \
    region=${CLOUD_REGION} \
    subnet_name=${ERS_NET} \
    route_table=5${ERS_INSTNO} \
    op start timeout=720 \
    op stop timeout=300 \
    op monitor interval=90 timeout=45 \
    group ${sid}_ers${ERS_INSTNO}_group \
    --future

Vérification de la configuration du cluster

Sur NODE1, exécutez la commande suivante pour vérifier la configuration actuelle du cluster et vous assurer que toutes les ressources sont correctement définies et actives.

pcs status --full

Exemple de sortie :

# pcs status --full
Cluster name: SAP_S01
Cluster Summary:
  * Stack: corosync (Pacemaker is running)
  * Current DC: cl-s01-1 (1) (version 2.1.7-5.2.el9_4-0f7f88312) - partition with quorum
  * Last updated: Wed Mar  5 14:45:48 2025 on cl-s01-1
  * Last change:  Wed Mar  5 14:41:38 2025 by hacluster via hacluster on cl-s01-2
  * 2 nodes configured
  * 2 resource instances configured

Node List:
  * Node cl-s01-1 (1): online, feature set 3.19.0
  * Node cl-s01-2 (2): online, feature set 3.19.0

Full List of Resources:
  * Resource Group: s01_ascs21_group:
    * s01_vip_ascs21    (ocf:heartbeat:powervs-subnet):  Started cl-s01-1
  * Resource Group: s01_ers22_group:
    * s01_vip_ers22     (ocf:heartbeat:powervs-subnet):  Started cl-s01-2

Migration Summary:

Tickets:

PCSD Status:
  cl-s01-1: Online
  cl-s01-2: Online

Daemon Status:
  corosync: active/disabled
  pacemaker: active/disabled
  pcsd: active/enabled
  sbd: active/enabled

Assurez-vous que le groupe de ressources du cluster ${sid}_ascs${ASCS_INSTNO}_group s'exécute sur NODE1 et que le groupe de ressources du cluster ${sid}_ers${ERS_INSTNO}_group s'exécute sur NODE2. Si nécessaire, utilisez la commande pcs resource move <resource_group_name> pour relocaliser le groupe de ressources sur le nœud approprié.

Modification de la propriété des points de montage ASCS et ERS

Les points de montage ASCS et ERS doivent appartenir à l'utilisateur sidadm. Avant de commencer l'installation de l'instance, assurez-vous que les utilisateurs et les groupes requis sont définis et que la propriété du point de montage est correctement définie.

Suivez ces étapes sur les deux nœuds pour configurer la propriété correcte.

  1. Lancez le site SAP Software Provisioning Manager (SWPM) pour créer les utilisateurs et les groupes du système d'exploitation.

    <swpm>/sapinst
    

    Dans l'interface web de SWPM, allez dans Renommer le système > Préparations > Utilisateurs et groupes du système d'exploitation. Enregistrez les identifiants de l'utilisateur et du groupe et vérifiez qu'ils sont identiques sur les deux nœuds.

  2. Modifier la propriété des points de montage.

    chown -R ${sid}adm:sapsys /sapmnt/${SID} /usr/sap/${SID}
    

Installation des instances ASCS et ERS

Utilisez SWPM pour installer les deux instances.

  • Installez les instances ASCS et ERS sur les nœuds du cluster.

    • Sur NODE1, utilisez le nom d'hôte virtuel ${ASCS_VH}, qui est associé à l'adresse IP virtuelle ASCS, pour installer l'instance ASCS.
    <swpm>/sapinst SAPINST_USE_HOSTNAME=${ASCS_VH}
    
    • Sur NODE2, utilisez le nom d'hôte virtuel ${ERS_VH}, qui est associé à l'adresse IP virtuelle ERS, pour installer l'instance ERS.
    <swpm>/sapinst SAPINST_USE_HOSTNAME=${ERS_VH}
    
  • Installez toutes les autres instances de l'application SAP en dehors de l'environnement du cluster.

Préparation des instances ASCS et ERS pour l'intégration en cluster

Suivez les étapes suivantes pour préparer les instances SAP à l'intégration en cluster.

Désactivation du démarrage automatique des agents de l'instance SAP pour ASCS et ERS

Désactiver le démarrage automatique des agents de l'instance sapstartsrv pour les instances ASCS et ERS après un redémarrage du système.

Vérification du type d'intégration de l'agent de l'instance SAP

Les versions récentes de l'agent d'instance SAP sapstartsrv fournissent un support natif systemd sur Linux. Pour plus d'informations, reportez-vous aux notes de SAP qui sont répertoriées sur SAP Notes.

Sur les deux nœuds, vérifiez le contenu du fichier /usr/sap/sapservices.

cat /usr/sap/sapservices

Dans le format systemd, les entrées commencent par les commandes systemctl.

Exemple :

systemctl --no-ask-password start SAPS01_01 # sapstartsrv pf=/usr/sap/S01/SYS/profile/S01_ASCS01_cl-sap-scs

Si les entrées ASCS et ERS utilisent le format systemd, continuez avec les étapes de l'enregistrement des instances ASCS et ERS. Dans le format classic, les entrées commencent par des définitions LD_LIBRARY_PATH.

Exemple :

LD_LIBRARY_PATH=/usr/sap/S01/ASCS01/exe:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH;/usr/sap/S01/ASCS01/exe/sapstartsrv pf=/usr/sap/S01/SYS/profile/S01_ASCS01_cl-sap-scs -D -u s01adm

Si les entrées pour ASCS et ERS sont au format classic, modifiez le fichier /usr/sap/sapservices pour empêcher le démarrage automatique des agents d'instance sapstartsrv pour les instances ASCS et ERS après un redémarrage du système.

Sur les deux nœuds, supprimez ou commentez les entrées sapstartsrv pour ASCS et ERS dans le fichier de services SAP.

sed -i -e 's/^LD_LIBRARY_PATH=/#LD_LIBRARY_PATH=/' /usr/sap/sapservices

Exemple :

#LD_LIBRARY_PATH=/usr/sap/S01/ASCS01/exe:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH;/usr/sap/S01/ASCS01/exe/sapstartsrv pf=/usr/sap/S01/SYS/profile/S01_ASCS01_cl-sap-scs -D -u s01adm

Passez à l'installation des clés de licence permanentes SAP.

Enregistrement des instances ASCS et ERS

Enregistrez les instances SAP sur les deux nœuds.

  1. Connectez-vous en tant qu'utilisateur root sur les deux nœuds.

  2. Définissez la variable d'environnement LD_LIBRARY_PATH pour inclure le répertoire exécutable de l'instance ASCS et enregistrez l'instance ASCS.

    export LD_LIBRARY_PATH=/usr/sap/${SID}/ASCS${ASCS_INSTNO}/exe && \
    /usr/sap/${SID}/ASCS${ASCS_INSTNO}/exe/sapstartsrv \
       pf=/usr/sap/${SID}/SYS/profile/${SID}_ASCS${ASCS_INSTNO}_${ASCS_VH} -reg
    
  3. Répétez l'étape d'enregistrement pour l'instance ERS en utilisant le profil ERS.

    export LD_LIBRARY_PATH=/usr/sap/${SID}/ERS${ERS_INSTNO}/exe && \
    /usr/sap/${SID}/ERS${ERS_INSTNO}/exe/sapstartsrv \
       pf=/usr/sap/${SID}/SYS/profile/${SID}_ERS${ERS_INSTNO}_${ERS_VH} -reg
    

Désactivation des services systemd des instances ASCS et ERS

Sur les deux nœuds, désactivez le service systemd pour l'agent d'instance ASCS.

systemctl disable --now SAP${SID}_${ASCS_INSTNO}.service

Ensuite, désactivez le service systemd pour l'agent d'instance ERS.

systemctl disable --now SAP${SID}_${ERS_INSTNO}.service

Désactivation du redémarrage systemd d'une instance ASCS ou ERS en panne

Systemd comprend des mécanismes intégrés pour redémarrer les services interrompus. Dans une configuration de haute disponibilité, seul le cluster HA doit gérer les instances ASCS et ERS de SAP. Pour empêcher systemd de redémarrer automatiquement ces instances, créez des fichiers de configuration drop-in sur les deux nœuds du cluster.

Sur les deux nœuds, créez les répertoires pour les fichiers de dépôt.

mkdir /etc/systemd/system/SAP${SID}_${ASCS_INSTNO}.service.d
mkdir /etc/systemd/system/SAP${SID}_${ERS_INSTNO}.service.d

Sur les deux nœuds, créez les fichiers de dépôt pour ASCS et ERS.

cat >> /etc/systemd/system/SAP${SID}_${ASCS_INSTNO}.service.d/HA.conf << EOT
[Service]
Restart=no
EOT
cat >> /etc/systemd/system/SAP${SID}_${ERS_INSTNO}.service.d/HA.conf << EOT
[Service]
Restart=no
EOT

Restart=no doit se trouver dans la section [Service] et les fichiers de dépôt doivent être disponibles sur tous les nœuds du cluster.

Sur les deux nœuds, rechargez les fichiers de l'unité systemd.

systemctl daemon-reload

Installation des clés de licence permanentes SAP

Lorsque l'instance ASCS SAP fonctionne sur une instance Power Virtual Server, le mécanisme de licence SAP utilise l'UUID de la partition pour générer la clé matérielle. Pour plus de détails, voir SAP note 2879336 - Hardware key based on unique ID.

Sur les deux nœuds, exécutez la commande suivante en tant qu'utilisateur sidadm pour récupérer la clé matérielle.

sudo -i -u ${sid}adm -- sh -c 'saplikey -get'

Exemple de sortie :

$ sudo -i -u ${sid}adm -- sh -c 'saplikey -get'

saplikey: HARDWARE KEY = H1428224519

Enregistrez le site HARDWARE KEY de chaque nœud.

Vous avez besoin des clés matérielles des deux nœuds pour demander des clés de licence SAP distinctes. Pour obtenir des conseils sur la demande de clés de licence pour les systèmes de basculement, consultez les notes suivantes : SAP:

Installation des agents de ressources SAP

Installer les logiciels nécessaires. Le paquetage resource-agents-sap fournit l' agent de ressources de cluster SAPInstance qui est utilisé pour gérer les instances SAP.

Si sap_cluster_connector n'est pas configuré pour l'instance SAP, le cluster RHEL HA Add-On traite tout changement d'état comme un problème potentiel. Lorsque des outils externes SAP tels que sapcontrol sont utilisés pour gérer l'instance, sap_cluster_connector permet une interaction sûre avec les instances SAP fonctionnant dans le cluster. Si les instances SAP sont gérées exclusivement par des outils de cluster, sap_cluster_connector n'est pas nécessaire.

Installez les paquets pour l'agent de ressources de cluster et la bibliothèque SAP Cluster Connector. Pour plus de détails, consultez Comment activer l'interface SAP HA pour les instances de serveur d'applications SAP ABAP gérées par le module complémentaire RHEL HA

Sur les deux nœuds, exécutez les commandes suivantes.

Si nécessaire, utilisez subscription-manager pour activer le référentiel SAP NetWeaver. Pour obtenir des instructions, reportez-vous à la documentation RHEL for SAP Subscriptions and Repositories.

subscription-manager repos --enable="rhel-8-for-ppc64le-sap-netweaver-e4s-rpms"

Installez les packages requis.

dnf install -y resource-agents-sap sap-cluster-connector

Configuration de SAP Cluster Connector

Ajoutez l'utilisateur sidadm au groupe haclient sur les deux nœuds.

usermod -a -G haclient ${sid}adm

Adaptation des profils d'instance SAP

Modifier les profils de démarrage des instances SAP qui sont gérées par des outils SAP en dehors du cluster. Le cluster RHEL HA Add-On et ses agents de ressources peuvent contrôler les instances ASCS et ERS. Pour empêcher les redémarrages automatiques des processus d'instance, adaptez les profils d'instance SAP en conséquence.

Sur NODE1, passez au répertoire de profil SAP.

cd /sapmnt/${SID}/profile

Remplacer toutes les entrées Restart_Program par Start_Program dans les profils d'instance ASCS et ERS.

sed -i -e 's/Restart_Program_\([0-9][0-9]\)/Start_Program_\1/' ${SID}_ASCS${ASCS_INSTNO}_${ASCS_VH}
sed -i -e 's/Restart_Program_\([0-9][0-9]\)/Start_Program_\1/' ${SID}_ERS${ERS_INSTNO}_${ERS_VH}

Ajoutez les lignes suivantes à la fin des profils d'instance ASCS et ERS pour permettre l'intégration de sap_cluster_connector:

service/halib = $(DIR_EXECUTABLE)/saphascriptco.so
service/halib_cluster_connector = /usr/bin/sap_cluster_connector

Vérification de la version du paquet resource-agents-sap

La configuration Simple Mount pour les serveurs d'application SAP nécessite la version 4.15.1 ou une version ultérieure du paquet resource-agents-sap.

Pour vérifier la version installée, exécutez la commande suivante. La sortie suit le format suivant : resource-agents-sap-<version>.<release>.noarch

rpm -q resource-agents-sap

Exemple de sortie :

# rpm -q resource-agents-sap
resource-agents-sap-4.15.1-1.el9_4.1.noarch

Configuration des ressources des clusters ASCS et ERS

À ce stade, les conditions préalables suivantes sont supposées être remplies :

  • Un cluster RHEL HA Add-On est exécuté sur les deux instances de serveurs virtuels et la clôture des nœuds est testée.
  • Les partages sapmnt et usrsap sont montés sur les deux nœuds du cluster.
  • Deux ressources cluster powervs-subnet sont configurées pour les adresses IP virtuelles des instances ASCS et ERS.
  • L'instance ASCS est installée et active sur NODE1.
  • L'instance ERS est installée et active sur NODE2.
  • Toutes les étapes décrites dans Préparer les instances ASCS et ERS pour l'intégration du cluster sont terminées.

Configuration du groupe de ressources du cluster ASCS

Sur NODE1, exécutez la commande suivante pour créer une ressource de cluster qui gère l'agent de l'instance SAP pour l'instance ASCS.

pcs resource create ${sid}_srv_ascs${ASCS_INSTNO} SAPStartSrv \
    InstanceName="${SID}_ASCS${ASCS_INSTNO}_${ASCS_VH}" \
    group ${sid}_ascs${ASCS_INSTNO}_group \
    --future

Ensuite, sur NODE1, créez une ressource cluster pour gérer l'instance ASCS.

pcs resource create ${sid}_ascs${ASCS_INSTNO} SAPInstance \
    InstanceName="${SID}_ASCS${ASCS_INSTNO}_${ASCS_VH}" \
    START_PROFILE=/sapmnt/${SID}/profile/${SID}_ASCS${ASCS_INSTNO}_${ASCS_VH} \
    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 ${sid}_ascs${ASCS_INSTNO}_group \
    --future

L'option meta resource-stickiness=5000 équilibre le comportement de basculement de l'instance ERS. Cette option garantit que la ressource reste sur son nœud d'origine et ne migre pas de manière inattendue au sein du cluster.

Pour s'assurer que l'instance ASCS reste sur son nœud désigné, ajoutez de l'adhérence aux ressources au groupe.

pcs resource meta ${sid}_ascs${ASCS_INSTNO}_group \
    resource-stickiness=3000

Configuration du groupe de ressources du cluster ERS

Sur NODE2, exécutez la commande suivante pour créer une ressource de cluster qui gère l'agent de l'instance SAP pour l'instance ERS.

pcs resource create ${sid}_srv_ers${ERS_INSTNO} SAPStartSrv \
    InstanceName="${SID}_ERS${ERS_INSTNO}_${ERS_VH}" \
    group ${sid}_ers${ERS_INSTNO}_group \
    --future

Ensuite, sur NODE2, créez une ressource de cluster pour gérer l'instance ERS.

pcs resource create ${sid}_ers${ERS_INSTNO} SAPInstance \
    InstanceName="${SID}_ERS${ERS_INSTNO}_${ERS_VH}" \
    START_PROFILE=/sapmnt/${SID}/profile/${SID}_ERS${ERS_INSTNO}_${ERS_VH} \
    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 ${sid}_ers${ERS_INSTNO}_group \
    --future

Configuration des contraintes du cluster

Sur NODE1, exécutez les commandes suivantes pour configurer les contraintes du cluster.

Une contrainte de colocalisation garantit que les groupes de ressources ${sid}_ascs${ASCS_INSTNO}_group et ${sid}_ers${ERS_INSTNO}_group ne s'exécutent pas sur le même nœud, si au moins deux nœuds sont disponibles. Si un seul nœud est disponible, la valeur d'adhérence de -5000 permet aux deux groupes de s'exécuter sur le même nœud.

pcs constraint colocation add \
    ${sid}_ers${ERS_INSTNO}_group with ${sid}_ascs${ASCS_INSTNO}_group -- -5000

Une contrainte d'ordre garantit que ${sid}_ascs${ASCS_INSTNO}_group commence avant ${sid}_ers${ERS_INSTNO}_group.

pcs constraint order start \
    ${sid}_ascs${ASCS_INSTNO}_group then stop ${sid}_ers${ERS_INSTNO}_group \
    symmetrical=false \
    kind=Optional

Conclusion

La mise en œuvre du ENSA2 la mise en œuvre du cluster dans un environnement de régions multizones est maintenant terminée.

Procédez à la validation de la grappe en effectuant des tests similaires à ceux décrits dans la section Test d'une grappe SAP ENSA2.

La figure suivante montre un exemple de sortie de la commande pcs status pour un cluster terminé dans un déploiement de régions multizones ENSA2 dans un déploiement de région multizone.

Cluster name: SAP_S01
Cluster Summary:
  * Stack: corosync (Pacemaker is running)
  * Current DC: cl-s01-1 (version 2.1.7-5.2.el9_4-0f7f88312) - partition with quorum
  * Last updated: Wed Mar  5 17:14:01 2025 on cl-s01-1
  * Last change:  Wed Mar  5 17:11:36 2025 by root via root on cl-s01-1
  * 2 nodes configured
  * 4 resource instances configured

Node List:
  * Online: [ cl-s01-1 cl-s01-2 ]

Full List of Resources:

  * Resource Group: s01_ascs21_group:
    * s01_vip_ascs21    (ocf:heartbeat:powervs-subnet):  Started cl-s01-1
    * s01_srv_ascs21    (ocf:heartbeat:SAPStartSrv):     Started cl-s01-1
  * Resource Group: s01_ers22_group:
    * s01_vip_ers22     (ocf:heartbeat:powervs-subnet):  Started cl-s01-2
    * s01_srv_ers22     (ocf:heartbeat:SAPStartSrv):     Started cl-s01-2

Daemon Status:
  corosync: active/disabled
  pacemaker: active/disabled
  pcsd: active/enabled
  sbd: active/enabled