Share via


Azure Machines Virtuelles haute disponibilité pour SAP NetWeaver sur RHEL avec Azure NetApp Files pour les applications SAP

Cet article explique comment déployer des machines virtuelles, configurer les machines virtuelles, installer l’infrastructure de cluster et installer un système SAP NetWeaver 7.50 hautement disponible à l’aide d’Azure NetApp Files. Dans les exemples de configurations et de commandes d’installation, l’instance ASCS est le numéro 00, l’instance ERS est numéro 01, l’instance d’application principale (PAS) est 02 et l’instance d’application (AAS) est 03. L’ID système SAP QAS est utilisé.

La couche de base de données n’est pas couverte en détail dans cet article.

Prérequis

Commencez par lire les notes et publications SAP suivantes :

Vue d’ensemble

La haute disponibilité pour les services centraux SAP NetWeaver nécessite un stockage partagé. Jusqu’à présent, pour obtenir la haute disponibilité sur Red Hat Linux, il était nécessaire de créer un cluster GlusterFS à haut niveau de disponibilité distinct.

Maintenant, il est possible d’obtenir la haute disponibilité SAP NetWeaver à l’aide du stockage partagé déployé sur Azure NetApp Files. L’utilisation d’Azure NetApp Files pour le stockage partagé élimine le besoin d’autres clusters GlusterFS. Pacemaker est toujours nécessaire pour la haute disponibilité des services centraux SAP NetWeaver (ASCS/SCS).

Diagram that shows SAP NetWeaver high-availability overview.

SAP NetWeaver ASCS, SAP NetWeaver SCS, SAP NetWeaver ERS et la base de données SAP HANA utilisent un nom d’hôte virtuel et des adresses IP virtuelles. Sur Azure, un équilibreur de charge est nécessaire pour utiliser une adresse IP virtuelle. Nous vous recommandons d’utiliser Azure Load Balancer Standard. La configuration montre ici un équilibreur de charge avec un :

  • Adresse IP frontale 192.168.14.9 pour ASCS.
  • Adresse IP frontale 192.168.14.10 pour ERS.
  • Port de sonde 62000 pour ASCS.
  • Port de sonde 62101 pour ERS.

Configurer l’infrastructure Azure NetApp Files

SAP NetWeaver nécessite un stockage partagé pour le répertoire de transport et de profil. Avant de poursuivre la configuration de l’infrastructure Azure NetApp Files, familiarisez-vous avec la documentation Azure NetApp Files. Vérifiez si la région Azure sélectionnée est compatible avec Azure NetApp Files. Pour connaître la disponibilité d’Azure NetApp Files par région Azure, consultez la disponibilité d’Azure NetApp Files par région Azure.

Azure NetApp Files est disponible dans plusieurs régions Azure.

Déployer des ressources Azure NetApp Files

Les étapes supposent que vous avez déjà déployé Azure Réseau virtuel. Les ressources Azure NetApp Files et les machines virtuelles, où les ressources Azure NetApp Files seront montées, doivent être déployées dans le même réseau virtuel Azure ou dans des réseaux virtuels Azure appairés.

  1. Créez le compte Azure NetApp Files dans la région Azure sélectionnée en suivant les instructions pour créer un compte Azure NetApp Files.

  2. Configurez un pool de capacité Azure NetApp Files en suivant les instructions sur la configuration d’un pool de capacité Azure NetApp Files. L’architecture de SAP NetWeaver présentée dans cet article utilise un seul pool de capacité Azure NetApp Files, référence SKU Premium. Nous vous recommandons la référence SKU Azure NetApp Files Premium pour la charge de travail de l’application SAP NetWeaver sur Azure.

  3. Déléguer un sous-réseau à Azure NetApp Files comme décrit dans les instructions sur la façon de déléguer un sous-réseau à Azure NetApp Files.

  4. Déployez des volumes Azure NetApp Files en suivant les instructions pour créer un volume pour Azure NetApp Files. Déployez les volumes dans le sous-réseau Azure NetApp Files désigné. Les adresses IP des volumes Azure NetApp sont attribuées automatiquement. Les ressources Azure NetApp Files et les machines virtuelles Azure doivent se trouver dans le même réseau virtuel Azure ou dans des réseaux virtuels Azure appairés. Dans cet exemple, nous utilisons deux volumes Azure NetApp Files : sapQAS et transSAP. Les chemins d’accès au fichier montés sur les points de montage correspondants sont /usrsapqas/sapmntQAS et /usrsapqas/usrsapQASsys.

    1. AQS sapde volume (nfs://192.168.24.5/usrsapqas/sapmntQAS)
    2. AQS sapde volume (nfs://192.168.24.5/usrsapqas/usrsapQASascs)
    3. AQS sapde volume (nfs://192.168.24.5/usrsapqas/usrsapQAS sys)
    4. AQS sapde volume (nfs://192.168.24.5/usrsapqas/usrsapQAS)
    5. TransSAP de volume (nfs://192.168.24.4/transSAP)
    6. Sap QAS de volume (nfs://192.168.24.5/usrsapqas/usrsapQAS pas)
    7. Aas QAS sapde volume (nfs://192.168.24.5/usrsapqas/usrsapQASaas)

Dans cet exemple, nous avons utilisé Azure NetApp Files pour tous les systèmes de fichiers SAP NetWeaver pour montrer comment utiliser Azure NetApp Files. 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 en tant que stockage sur disque Azure. Dans cet exemple, a-e doit se trouver sur Azure NetApp Files et f-g (autrement dit, /usr/sap/QAS/D02 et /usr/sap/QAS/D03) peuvent être déployés en tant que stockage sur disque Azure.

Remarques importantes

Lorsque vous envisagez Azure NetApp Files pour l’architecture DE haute disponibilité SAP NetWeaver sur RHEL, tenez compte des considérations importantes suivantes :

  • La taille de pool de capacité minimale est de 4 Tio. Vous pouvez augmenter la taille du pool de capacité par incréments de 1 Tio.
  • Le volume minimal est de 100 Gio.
  • Azure NetApp Files et toutes les machines virtuelles, où les volumes Azure NetApp Files seront montés, doivent se trouver dans le même réseau virtuel Azure ou dans des réseaux virtuels appairés dans la même région. L’accès Azure NetApp Files via le peering de réseaux virtuels dans la même région est désormais pris en charge. L’accès à Azure NetApp Files via le peering global n’est pas encore pris en charge.
  • Le réseau virtuel sélectionné doit avoir un sous-réseau délégué à Azure NetApp Files.
  • Le débit et les caractéristiques de performances d’un volume Azure NetApp Files sont une fonction du quota de volume et du niveau de service. Pour plus d’informations, consultez Le niveau de service pour Azure NetApp Files. Lorsque vous dimensionner les volumes SAP Azure NetApp, assurez-vous que le débit résultant répond aux exigences de l’application.
  • Azure NetApp Files offre une stratégie d’exportation. Vous pouvez contrôler les clients autorisés et le type d’accès (par exemple, lecture/écriture et lecture seule).
  • La fonctionnalité Azure NetApp Files n’est pas encore consciente de la zone. Actuellement, la fonctionnalité Azure NetApp Files n’est pas déployée dans toutes les zones de disponibilité d’une région Azure. Méfiez-vous de l’impact potentiel sur les temps de latence dans certaines régions Azure.
  • Vous pouvez déployer des volumes Azure NetApp Files en tant que volumes NFSv3 ou NFSv4.1. Les deux protocoles sont pris en charge pour la couche application SAP (ASCS/ERS, serveurs d’applications SAP).

Préparer l’infrastructure

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 manuellement des machines virtuelles Linux 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éployez des machines virtuelles pour les serveurs SAP ASCS, ERS et Application. 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 quitter l’équilibreur de charge dans la section mise en 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 de création de l’équilibreur de charge pour configurer un équilibreur de charge standard pour un système SAP à haute disponibilité à l’aide de la Portail Azure. Pendant la configuration de l’équilibreur de charge, tenez compte des points suivants.

  1. Configuration de l’adresse IP frontale : créez deux adresses IP frontales, une pour ASCS et une autre pour ERS. 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.
  3. 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 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 (s’applique à la fois à ASCS ou ERS)
      • Protocole : TCP
      • Port : [par exemple : 620<Instance-no.> for ASCS, 621<Instance-no.> for ERS]
      • Intervalle : 5
      • Seuil de la sonde : 2
    • Délai d’inactivité (minutes) : 30
    • Cochez « 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. 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

L’adresse IP flottante n’est pas prise en charge sur une configuration IP secondaire de carte réseau dans les scénarios d’équilibrage de charge. Pour plus d’informations, consultez les limitations d’Azure Load Balancer. Si vous avez besoin d’autres adresses IP pour la machine virtuelle, déployez une deuxième carte réseau.

Remarque

Lorsque les machines virtuelles sans adresses IP publiques sont placées dans le pool principal d’un équilibreur de charge standard interne (aucune adresse IP publique), 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 La connectivité de point de terminaison public pour les machines virtuelles à l’aide d’Azure Standard Load Balancer dans les scénarios de haute disponibilité SAP.

Important

N’activez pas les horodateurs TCP sur les machines virtuelles Azure placées derrière l’Équilibreur de charge Azure. L’activation des horodatages TCP peut entraîner l’échec des sondes d’intégrité. Définissez le paramètre net.ipv4.tcp_timestamps sur 0. Pour plus d’informations, consultez Sondes d’intégrité Load Balancer.

Désactiver le mappage d’ID (si vous utilisez NFSv4.1)

Les instructions de cette section s’appliquent uniquement si vous utilisez des volumes Azure NetApp Files avec le protocole NFSv4.1. Effectuez la configuration sur toutes les machines virtuelles où des volumes Azure NetApp Files NFSv4.1 seront montés.

  1. Vérifiez le paramètre de domaine NFS. Assurez-vous que le domaine est configuré comme domaine Azure NetApp Files par défaut, autrement dit, defaultv4iddomain.comet que le mappage est défini sur personne.

    Important

    Veillez à définir le domaine NFS dans /etc/idmapd.conf sur la machine virtuelle pour qu’elle corresponde à la configuration de domaine par défaut sur Azure NetApp Files : defaultv4iddomain.com . S’il existe une incompatibilité entre la configuration de domaine sur le client NFS (autrement dit, la machine virtuelle) et le serveur NFS (autrement dit, la configuration Azure NetApp), les autorisations pour les fichiers sur les volumes Azure NetApp montés sur les machines virtuelles s’affichent nobody.

    sudo cat /etc/idmapd.conf
    
    # Example
    [General]
    Domain = defaultv4iddomain.com
    [Mapping]
    Nobody-User = nobody
    Nobody-Group = nobody
    

Le préfixe [A] suivant s’applique à PAS et AAS.

  1. [A] Vérifiez nfs4_disable_idmapping. Il doit être défini sur Y. Pour créer la structure de répertoires où nfs4_disable_idmapping se trouve, exécutez la commande mount. Vous ne pourrez pas créer manuellement le répertoire sous /sys/modules , car l’accès est réservé au noyau et aux pilotes.

    # Check nfs4_disable_idmapping 
    cat /sys/module/nfs/parameters/nfs4_disable_idmapping
    
    # If you need to set nfs4_disable_idmapping to Y
    mkdir /mnt/tmp
    mount 192.168.24.5:/sapQAS
    umount  /mnt/tmp
    echo "Y" > /sys/module/nfs/parameters/nfs4_disable_idmapping
    
    # Make the configuration permanent
    echo "options nfs nfs4_disable_idmapping=Y" >> /etc/modprobe.d/nfs.conf
    

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éparer 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
  1. [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
    192.168.14.5    anftstsapcl1
    # IP address of cluster node 2
    192.168.14.6     anftstsapcl2
    # IP address of the load balancer frontend configuration for SAP Netweaver ASCS
    192.168.14.9    anftstsapvh
    # IP address of the load balancer frontend configuration for SAP Netweaver ERS
    192.168.14.10    anftstsapers
    
  2. [1] Créer des répertoires SAP dans le volume Azure NetApp Files. Montez temporairement le volume Azure NetApp Files sur l’une des machines virtuelles et créez les répertoires SAP (chemins d’accès aux fichiers).

    # mount temporarily the volume
    sudo mkdir -p /saptmp
    
    # If using NFSv3
    sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,nfsvers=3,tcp 192.168.24.5:/sapQAS /saptmp
    
    # If using NFSv4.1
    sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys,tcp 192.168.24.5:/sapQAS /saptmp
    
    # create the SAP directories
    sudo cd /saptmp
    sudo mkdir -p sapmntQAS
    sudo mkdir -p usrsapQASascs
    sudo mkdir -p usrsapQASers
    sudo mkdir -p usrsapQASsys
    sudo mkdir -p usrsapQASpas
    sudo mkdir -p usrsapQASaas
    
    # unmount the volume and delete the temporary directory
    sudo cd ..
    sudo umount /saptmp
    sudo rmdir /saptmp
    
  3. [A] Créez les répertoires partagés.

    sudo mkdir -p /sapmnt/QAS
    sudo mkdir -p /usr/sap/trans
    sudo mkdir -p /usr/sap/QAS/SYS
    sudo mkdir -p /usr/sap/QAS/ASCS00
    sudo mkdir -p /usr/sap/QAS/ERS01
    
    sudo chattr +i /sapmnt/QAS
    sudo chattr +i /usr/sap/trans
    sudo chattr +i /usr/sap/QAS/SYS
    sudo chattr +i /usr/sap/QAS/ASCS00
    sudo chattr +i /usr/sap/QAS/ERS01
    
  4. [A] Installer le client NFS et d’autres exigences.

    sudo yum -y install nfs-utils resource-agents resource-agents-sap
    
  5. [A] Vérifier la version de resource-agents-sap.

    Vérifiez que la version du package resource-agents-sap installé est au moins 3.9.5-124.el7.

    sudo yum info resource-agents-sap
    
    # Loaded plugins: langpacks, product-id, search-disabled-repos
    # Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
    # Installed Packages
    # Name        : resource-agents-sap
    # Arch        : x86_64
    # Version     : 3.9.5
    # Release     : 124.el7
    # Size        : 100 k
    # Repo        : installed
    # From repo   : rhel-sap-for-rhel-7-server-rpms
    # Summary     : SAP cluster resource agents and connector script
    # URL         : https://github.com/ClusterLabs/resource-agents
    # License     : GPLv2+
    # Description : The SAP resource agents and connector script interface with
    #          : Pacemaker to allow SAP instances to be managed in a cluster
    #          : environment.
    
  6. [A] Ajoutez des entrées de montage.

    Si vous utilisez NFSv3 :

    sudo vi /etc/fstab
    
    # Add the following lines to fstab, save and exit
    192.168.24.5:/sapQAS/sapmntQAS /sapmnt/QAS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3
    192.168.24.5:/sapQAS/usrsapQASsys /usr/sap/QAS/SYS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3
    192.168.24.4:/transSAP /usr/sap/trans nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3
    

    Si vous utilisez NFSv4.1 :

    sudo vi /etc/fstab
    
    # Add the following lines to fstab, save and exit
    192.168.24.5:/sapQAS/sapmntQAS /sapmnt/QAS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys
    192.168.24.5:/sapQAS/usrsapQASsys /usr/sap/QAS/SYS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys
    192.168.24.4:/transSAP /usr/sap/trans nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys
    

    Remarque

    Veillez à correspondre à la version du protocole NFS des volumes Azure NetApp Files lorsque vous montez les volumes. Si les volumes Azure NetApp Files sont créés en tant que volumes NFSv3, utilisez la configuration NFSv3 correspondante. Si les volumes de Azure NetApp Files sont créés en tant que volumes NFSv4.1, suivez les instructions pour désactiver le mappage d’ID et veillez à utiliser la configuration NFSv4.1 correspondante. Dans cet exemple, les volumes Azure NetApp Files ont été créés en tant que volumes NFSv3.

    Montez les nouveaux partages.

    sudo mount -a  
    
  7. [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 VM 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
    
  8. [A] Effectuez la configuration du système d’exploitation RHEL.

    En fonction de la version RHEL, effectuez la configuration mentionnée dans sap Note 2002167, 2772999 ou 3108316.

Installez SAP NetWeaver ASCS/ERS

  1. [1] Configurer les propriétés par défaut du cluster.

    pcs resource defaults resource-stickiness=1
    pcs resource defaults migration-threshold=3
    
  2. [1] Créez une ressource IP virtuelle et une sonde d’intégrité pour l’instance ASCS.

    sudo pcs node standby anftstsapcl2
    
    # If using NFSv3
    sudo pcs resource create fs_QAS_ASCS Filesystem device='192.168.24.5:/sapQAS/usrsapQASascs' \
      directory='/usr/sap/QAS/ASCS00' fstype='nfs' force_unmount=safe \
      op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=40 \
      --group g-QAS_ASCS
    
    # If using NFSv4.1
    sudo pcs resource create fs_QAS_ASCS Filesystem device='192.168.24.5:/sapQAS/usrsapQASascs' \
      directory='/usr/sap/QAS/ASCS00' fstype='nfs' force_unmount=safe options='sec=sys,nfsvers=4.1' \
      op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=105 \
      --group g-QAS_ASCS
    
    sudo pcs resource create vip_QAS_ASCS IPaddr2 \
      ip=192.168.14.9 \
      --group g-QAS_ASCS
    
    sudo pcs resource create nc_QAS_ASCS azure-lb port=62000 \
      --group g-QAS_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 anftstsapcl2: standby
    # Online: [ anftstsapcl1 ]
    #
    # Full list of resources:
    #
    # rsc_st_azure    (stonith:fence_azure_arm):      Started anftstsapcl1
    #  Resource Group: g-QAS_ASCS
    #      fs_QAS_ASCS        (ocf::heartbeat:Filesystem):    Started anftstsapcl1
    #      nc_QAS_ASCS        (ocf::heartbeat:azure-lb):      Started anftstsapcl1
    #      vip_QAS_ASCS       (ocf::heartbeat:IPaddr2):       Started anftstsapcl1
    
  3. [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 frontale de l’équilibreur de charge pour l’ASCS, par exemple, anftstsapvh, 192.168.14.9 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 sapinstSAPINST_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/QAS/ASCS00 lors de l’installation, essayez de définir le propriétaire et le groupe du dossier ASCS00, puis réessayez.

    sudo chown qasadm /usr/sap/QAS/ASCS00
    sudo chgrp sapsys /usr/sap/QAS/ASCS00
    
  4. [1] Créez une ressource IP virtuelle et une sonde d’intégrité pour l’instance ERS.

    sudo pcs node unstandby anftstsapcl2
    sudo pcs node standby anftstsapcl1
    
    # If using NFSv3
    sudo pcs resource create fs_QAS_AERS Filesystem device='192.168.24.5:/sapQAS/usrsapQASers' \
      directory='/usr/sap/QAS/ERS01' fstype='nfs' force_unmount=safe \
      op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=40 \
     --group g-QAS_AERS
    
    # If using NFSv4.1
    sudo pcs resource create fs_QAS_AERS Filesystem device='192.168.24.5:/sapQAS/usrsapQASers' \
      directory='/usr/sap/QAS/ERS01' fstype='nfs' force_unmount=safe options='sec=sys,nfsvers=4.1' \
      op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=105 \
     --group g-QAS_AERS
    
    sudo pcs resource create vip_QAS_AERS IPaddr2 \
      ip=192.168.14.10 \
     --group g-QAS_AERS
    
    sudo pcs resource create nc_QAS_AERS azure-lb port=62101 \
     --group g-QAS_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 anftstsapcl1: standby
    # Online: [ anftstsapcl2 ]
    #
    # Full list of resources:
    #
    # rsc_st_azure    (stonith:fence_azure_arm):      Started anftstsapcl2
    #  Resource Group: g-QAS_ASCS
    #      fs_QAS_ASCS        (ocf::heartbeat:Filesystem):    Started anftstsapcl2
    #      nc_QAS_ASCS        (ocf::heartbeat:azure-lb):      Started anftstsapcl2<
    #      vip_QAS_ASCS       (ocf::heartbeat:IPaddr2):       Started anftstsapcl2
    #  Resource Group: g-QAS_AERS
    #      fs_QAS_AERS        (ocf::heartbeat:Filesystem):    Started anftstsapcl2
    #      nc_QAS_AERS        (ocf::heartbeat:azure-lb):      Started anftstsapcl2
    #      vip_QAS_AERS       (ocf::heartbeat:IPaddr2):       Started anftstsapcl2
    
  5. [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 frontale de l’équilibreur de charge pour l’ERS, par exemple, anftstsapers, 192.168.14.10 et 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 sapinstSAPINST_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/QAS/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/QAS/ERS01
    sudo chgrp sapsys /usr/sap/QAS/ERS01
    
  6. [1] Adapter les profils ASCS/SCS et ERS.

    • Profil ASCS/SCS

      sudo vi /sapmnt/QAS/profile/QAS_ASCS00_anftstsapvh
      
      # 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/QAS/profile/QAS_ERS01_anftstsapers
      
      # 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
      
  7. [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 éviter cette action, définissez un paramètre dans le profil SAP NetWeaver ASCS/SCS, si vous utilisez ENSA1 et modifiez les paramètres système keepalive Linux sur tous les serveurs SAP pour ENSA1/ENSA2. Pour plus d’informations, consultez la note SAP 1410736.

    # Change the Linux system configuration
    sudo sysctl net.ipv4.tcp_keepalive_time=300
    
  8. [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/QAS/ASCS00/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/QAS/ASCS00/exe/sapstartsrv pf=/usr/sap/QAS/SYS/profile/QAS_ASCS00_anftstsapvh -D -u qasadm
    # systemctl --no-ask-password start SAPQAS_00 # sapstartsrv pf=/usr/sap/QAS/SYS/profile/QAS_ASCS00_anftstsapvh
    
    # 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/QAS/ERS01/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/QAS/ERS01/exe/sapstartsrv pf=/usr/sap/QAS/ERS01/profile/QAS_ERS01_anftstsapers -D -u qasadm
    # systemctl --no-ask-password start SAPQAS_01 # sapstartsrv pf=/usr/sap/QAS/ERS01/profile/QAS_ERS01_anftstsapers
    

    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.

  9. [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 la prise en charge d’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
    
    # If using NFSv3
    sudo pcs resource create rsc_sap_QAS_ASCS00 SAPInstance \
    InstanceName=QAS_ASCS00_anftstsapvh START_PROFILE="/sapmnt/QAS/profile/QAS_ASCS00_anftstsapvh" \
    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-QAS_ASCS
    
    # If using NFSv4.1
    sudo pcs resource create rsc_sap_QAS_ASCS00 SAPInstance \
    InstanceName=QAS_ASCS00_anftstsapvh START_PROFILE="/sapmnt/QAS/profile/QAS_ASCS00_anftstsapvh" \
    AUTOMATIC_RECOVER=false \
    meta resource-stickiness=5000 migration-threshold=1 failure-timeout=60 \
    op monitor interval=20 on-fail=restart timeout=105 \
    op start interval=0 timeout=600 op stop interval=0 timeout=600 \
    --group g-QAS_ASCS
    
    sudo pcs resource meta g-QAS_ASCS resource-stickiness=3000
    
    # If using NFSv3
    sudo pcs resource create rsc_sap_QAS_ERS01 SAPInstance \
    InstanceName=QAS_ERS01_anftstsapers START_PROFILE="/sapmnt/QAS/profile/QAS_ERS01_anftstsapers" \
    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-QAS_AERS
    
    # If using NFSv4.1
    sudo pcs resource create rsc_sap_QAS_ERS01 SAPInstance \
    InstanceName=QAS_ERS01_anftstsapers START_PROFILE="/sapmnt/QAS/profile/QAS_ERS01_anftstsapers" \
    AUTOMATIC_RECOVER=false IS_ERS=true \
    op monitor interval=20 on-fail=restart timeout=105 op start interval=0 timeout=600 op stop interval=0 timeout=600 \
    --group g-QAS_AERS
    
    sudo pcs constraint colocation add g-QAS_AERS with g-QAS_ASCS -5000
    sudo pcs constraint location rsc_sap_QAS_ASCS00 rule score=2000 runs_ers_QAS eq 1
    sudo pcs constraint order start g-QAS_ASCS then stop g-QAS_AERS kind=Optional symmetrical=false
    
    sudo pcs node unstandby anftstsapcl1
    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 plus élevés suggérés lorsque vous utilisez NFSv4.1 sont nécessaires en raison d’une pause spécifique au protocole, qui est liée aux renouvellements de bail NFSv4.1. Pour plus d’informations, consultez NFS dans NetApp best practice. 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: [ anftstsapcl1 anftstsapcl2 ]
    #
    # Full list of resources:
    #
    # rsc_st_azure    (stonith:fence_azure_arm):      Started anftstsapcl2
    #  Resource Group: g-QAS_ASCS
    #      fs_QAS_ASCS        (ocf::heartbeat:Filesystem):    Started anftstsapcl2
    #      nc_QAS_ASCS        (ocf::heartbeat:azure-lb):      Started anftstsapcl2
    #      vip_QAS_ASCS       (ocf::heartbeat:IPaddr2):       Started anftstsapcl2
    #      rsc_sap_QAS_ASCS00 (ocf::heartbeat:SAPInstance):   Started anftstsapcl2
    #  Resource Group: g-QAS_AERS
    #      fs_QAS_AERS        (ocf::heartbeat:Filesystem):    Started anftstsapcl1
    #      nc_QAS_AERS        (ocf::heartbeat:azure-lb):      Started anftstsapcl1
    #      vip_QAS_AERS       (ocf::heartbeat:IPaddr2):       Started anftstsapcl1
    #      rsc_sap_QAS_ERS01  (ocf::heartbeat:SAPInstance):   Started anftstsapcl1
    
  10. [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 plus de retard dans l’fendage d’un nœud qui a une priorité de ressource totale plus élevée lorsqu’un scénario fractionné-cerveau 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 configurez priority-fencing-delay un cluster existant, veillez à effacer le pcmk_delay_max paramètre dans l’appareil d’escrime.

    sudo pcs resource defaults update priority=1
    sudo pcs resource update rsc_sap_QAS_ASCS00 meta priority=10
    
    sudo pcs property set priority-fencing-delay=15s
    
  11. [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
  1. [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 the load balancer frontend configuration for SAP NetWeaver ASCS
    192.168.14.9 anftstsapvh
    # IP address of the load balancer frontend configuration for SAP NetWeaver ASCS ERS
    192.168.14.10 anftstsapers
    192.168.14.7 anftstsapa01
    192.168.14.8 anftstsapa02
    
  2. [A] Créer le répertoire sapmnt.

    sudo mkdir -p /sapmnt/QAS
    sudo mkdir -p /usr/sap/trans
    
    sudo chattr +i /sapmnt/QAS
    sudo chattr +i /usr/sap/trans
    
  3. [A] Installer le client NFS et d’autres exigences.

    sudo yum -y install nfs-utils uuidd
    
  4. [A] Ajoutez des entrées de montage.

    Si vous utilisez NFSv3 :

    sudo vi /etc/fstab
    
    # Add the following lines to fstab, save and exit
    192.168.24.5:/sapQAS/sapmntQAS /sapmnt/QAS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3
    192.168.24.4:/transSAP /usr/sap/trans nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3
    

    Si vous utilisez NFSv4.1 :

    sudo vi /etc/fstab
    
    # Add the following lines to fstab, save and exit
    192.168.24.5:/sapQAS/sapmntQAS /sapmnt/QAS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys
    192.168.24.4:/transSAP /usr/sap/trans nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys
    

    Montez les nouveaux partages.

    sudo mount -a
    
  5. [P] Créez et montez le répertoire PAS.

    Si vous utilisez NFSv3 :

    sudo mkdir -p /usr/sap/QAS/D02
    sudo chattr +i /usr/sap/QAS/D02
    
    sudo vi /etc/fstab
    # Add the following line to fstab
    92.168.24.5:/sapQAS/usrsapQASpas /usr/sap/QAS/D02 nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3
    
    # Mount
    sudo mount -a
    

    Si vous utilisez NFSv4.1 :

    sudo mkdir -p /usr/sap/QAS/D02
    sudo chattr +i /usr/sap/QAS/D02
    
    sudo vi /etc/fstab
    # Add the following line to fstab
    92.168.24.5:/sapQAS/usrsapQASpas /usr/sap/QAS/D02 nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys
    
    # Mount
    sudo mount -a
    
  6. [S] Créez et montez le répertoire AAS.

    Si vous utilisez NFSv3 :

    sudo mkdir -p /usr/sap/QAS/D03
    sudo chattr +i /usr/sap/QAS/D03
    
    sudo vi /etc/fstab
    # Add the following line to fstab
    92.168.24.5:/sapQAS/usrsapQASaas /usr/sap/QAS/D03 nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3
    
    # Mount
    sudo mount -a
    

    Si vous utilisez NFSv4.1 :

    sudo mkdir -p /usr/sap/QAS/D03
    sudo chattr +i /usr/sap/QAS/D03
    
    sudo vi /etc/fstab
    # Add the following line to fstab
    92.168.24.5:/sapQAS/usrsapQASaas /usr/sap/QAS/D03 nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys
    
    # Mount
    sudo mount -a
    
  7. [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 VM 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.

  • Exécutez l’installation de l’instance de base de données SAP.

    Installez l’instance de base de données SAP NetWeaver en tant que racine à l’aide d’un nom d’hôte virtuel qui correspond à l’adresse IP de la configuration frontale de l’équilibreur de charge pour la base de données.

    Vous pouvez utiliser le paramètre sapinstSAPINST_REMOTE_ACCESS_USER pour permettre à un utilisateur non racine de se connecter à sapinst.

    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.

  1. 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.

  2. Installez le serveur d’applications SAP NetWeaver.

    Installer un serveur d’applications SAP NetWeaver principal ou supplémentaire.

    Vous pouvez utiliser le paramètre sapinstSAPINST_REMOTE_ACCESS_USER pour permettre à un utilisateur non racine de se connecter à sapinst.

    sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
    
  3. Mettez à jour le magasin sécurisé 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 en tant que <sapsid>adm.

    hdbuserstore List
    

    Toutes les entrées doivent être répertoriées et ressembler à :

    DATA FILE       : /home/qasadm/.hdb/anftstsapa01/SSFS_HDB.DAT
    KEY FILE        : /home/qasadm/.hdb/anftstsapa01/SSFS_HDB.KEY
    
    KEY DEFAULT
      ENV : 192.168.14.4:30313
      USER: SAPABAP1
      DATABASE: QAS
    

    La sortie indique que l’adresse IP de l’entrée par défaut pointe vers la machine virtuelle et non à l’adresse IP de l’équilibreur de charge. Vous devez modifier cette entrée pour qu’elle pointe vers le nom d’hôte virtuel de l’équilibreur de charge. Veillez à utiliser le même port (30313 dans la sortie précédente) et le nom de la base de données (QAS dans la sortie précédente).

    su - qasadm
    hdbuserstore SET DEFAULT qasdb:30313@QAS 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