Haute disponibilité pour SAP NetWeaver sur les machines virtuelles Azure sur SUSE Linux Enterprise Server avec NFS sur Azure Files
Cet article explique la manière de déployer et configurer des machines virtuelles, d’installer le framework du cluster et d’installer un système SAP NetWeaver à haute disponibilité à l’aide de NFS sur Azure Files. Les exemples de configuration utilisent des machines virtuelles qui s’exécutent sur SUSE Linux Enterprise Server (SLES).
Pour les nouvelles implémentations sur SLES pour les applications SAP 15, nous recommandons de déployer la haute disponibilité pour SAP ASCS/ERS dans une configuration de montage simple. La configuration Pacemaker classique, basée sur des systèmes de fichiers contrôlés par cluster pour les répertoires de services centraux SAP, décrite dans cet article, est toujours prise en charge.
Prérequis
- Documentation Azure Files.
- Note SAP 1928533, qui contient :
- Une 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 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 2205917 contient des paramètres de système d’exploitation recommandés pour SUSE Linux Enterprise Server pour les applications SAP.
- 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 1984787 contient des informations sur SUSE Linux Enterprise Server 12.
- La note SAP 2578899 contient des informations sur SUSE Linux Enterprise Server 15.
- La note SAP 1999351 contient des informations de dépannage supplémentaires pour l’extension d’analyse Azure améliorée 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.
- Guides sur les meilleures pratiques de haute disponibilité SAP pour SUSE. Les guides contiennent toutes les informations nécessaires pour configurer la réplication locale des systèmes Netweaver de haute disponibilité et SAP HANA. Utilisez ces guides comme planning de référence. Ils fournissent des informations beaucoup plus détaillées.
- Notes de publication de l’extension de haute disponibilité SUSE.
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, lors du déploiement d’un système SAP à haute disponibilité, vous avez besoin de protéger et rendre hautement disponibles des systèmes de fichiers comme /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 sur Zones de disponibilité Azure. Vous avez quand même besoin d’un cluster Pacemaker pour protéger les composants à point de défaillance unique comme 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 |
Server d’applications principal (PAS) | 02 |
Serveur d’applications supplémentaire (AAS) | 03 |
Identificateur système SAP | NW1 |
Ce diagramme illustre une architecture à haute disponibilité SAP NetWeaver standard. 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 un équilibreur de charge Azure. Les partages NFS sont montés par le biais d’un point de terminaison privé.
Préparer l’infrastructure
L’agent de ressource pour SAP Instance est inclus dans SUSE Linux Enterprise Server for SAP Applications. Une image pour SUSE Linux Enterprise Server for SAP Applications 12 ou 15 est disponible sur la Place de marché Azure. Vous pouvez utiliser l’image pour déployer de nouvelles machines virtuelles.
Déployer manuellement des machines virtuelles Linux via le portail Azure
Ce document part du principe que vous avez déjà déployé un groupe de ressources, un réseau virtuel Azure et un sous-réseau.
Déployez des machines virtuelles avec l’image SLES for SAP Applications. Choisissez une version appropriée de l’image SLES prise en charge pour le système SAP. Vous pouvez déployer une machine virtuelle dans n’importe laquelle 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 des machines virtuelles sans adresse IP publique sont placées dans le pool principal d’Azure Standard Load Balancer interne (aucune adresse IP publique), il n’y a pas de connectivité Internet sortante, sauf si une configuration supplémentaire est effectuée pour autoriser le routage vers des points de terminaison publics. Pour savoir plus en détails comment bénéficier d’une connectivité sortante, voir Connectivité des points de terminaison publics pour les machines virtuelles avec Azure Standard Load Balancer dans les scénarios de haute disponibilité SAP.
Important
- N’activez pas les horodatages TCP sur les machines virtuelles Azure placées derrière Azure Load Balancer. L’activation des timestamps TCP entraîne l’échec des sondes d’intégrité. Définissez le paramètre
net.ipv4.tcp_timestamps
sur0
. Pour plus d’informations, consultez Sondes d’intégrité Load Balancer. - Pour empêcher que saptune redéfinisse sur
1
la valeurnet.ipv4.tcp_timestamps
qui avait été définie manuellement sur0
, vous devez mettre à jour saptune vers la version 3.1.1 ou ultérieure. Pour plus d’informations, consultez saptune 3.1.1 – Do I Need to Update?.
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 le guide pratique pour 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.
Il est recommandé d’accéder à votre compte 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, sur lesquels 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 Stockage Fichier 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 Bases, 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
- Sélectionnez Suivant.
- Sous l’onglet Avancé, décochez Exiger un transfert sécurisé pour les opérations d’API REST. Si vous ne décochez pas cette option, vous ne pouvez pas monter le partage NFS sur votre machine virtuelle. L’opération de montage expirera.
- Cliquez sur 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 vos abonnement, groupe de ressources et 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 dans lequel se trouvent vos machines virtuelles SAP 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 ressource pour sapafsnfs, sélectionnez Partages de fichiers sous Stockage de données.
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 le partage, des besoins en termes 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.
Important
La taille de partage ci-dessus n’est qu’un exemple. Veillez à dimensionner vos partages de manière appropriée. Taille non seulement basée sur la taille des données stockées sur le partage, mais aussi sur les exigences en termes 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.- Pour Nom, entrez
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 sur Azure Files, consultez Résoudre les problèmes de performances des partages 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 risquez d’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 à ne pas dépasser les limites du compte de stockage, également.
- En général, ne regroupez pas les partages de plus de 5 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 recommandons de déployer SLES 15 SP2 ou une version ultérieure pour bénéficier 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 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.
Configuration de (A)SCS
Ensuite, vous allez préparer et installer les instances SAP ASCS et ERS.
Créer le cluster Pacemaker
Suivez les étapes décrites à la page Configuration de Pacemaker sur SUSE Linux Enterprise Server dans Azure pour créer un cluster Pacemaker de base pour SAP (A)SCS.
Installation
Les éléments suivants sont précédés de [A] (applicable à tous les nœuds), de [1] (applicable uniquement au nœud 1) ou de [2] (applicable uniquement au nœud 2).
[A] Installez la dernière version du connecteur SUSE.
sudo zypper install sap-suse-cluster-connector
Notes
Le problème connu lié à l’utilisation d’un tiret dans les noms d’hôtes est résolu avec la version 3.1.1 du package sap-suse-cluster-connector. Veillez à utiliser au moins la version 3.1.1 du package sap-suse-cluster-connector si vous utilisez des nœuds de cluster avec un tiret dans le nom d’hôte. Dans le cas contraire, le cluster ne fonctionnera pas.
Vérifiez que vous avez installé la nouvelle version du connecteur de cluster SUSE SAP. L’ancienne version s’appelle sap_suse_cluster_connector et la nouvelle sap-suse-cluster-connector.
[A] Mettre à jour les agents de ressources SAP
Un correctif pour le package resource-agents est nécessaire pour utiliser la nouvelle configuration décrite dans cet article. Vous pouvez vérifier si le correctif est déjà installé avec la commande suivante.
sudo grep 'parameter name="IS_ERS"' /usr/lib/ocf/resource.d/heartbeat/SAPInstance
La sortie doit ressembler à ce qui suit :
<parameter name="IS_ERS" unique="0" required="0">;
Si la commande grep ne trouve pas le paramètre IS_ERS, vous devez installer le correctif logiciel répertorié dans la page de téléchargement SUSE.
[A] Configurer la résolution de noms d’hôte
Vous pouvez utiliser un serveur DNS ou modifier le fichier /etc/hosts sur tous les nœuds. Cet exemple montre 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 le fichier /etc/hosts. Modifiez 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
[1] Créez les répertoires SAP sur le partage NFS.
Montez temporairement le partage NFS sapnw1 sur l’une des machines virtuelles et créez les répertoires SAP à utiliser 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
Préparer l’installation de SAP NetWeaver
[A] Créer 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] Montez les systèmes de fichiers qui ne seront pas contrôlés par le cluster Pacemaker.
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] Configurer le fichier SWAP
sudo vi /etc/waagent.conf # Check if property ResourceDisk.Format is already set to y and if not, set it ResourceDisk.Format=y # 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
Installation de SAP NetWeaver ASC/ERS
[1] Créer une ressource IP virtuelle et la sonde d’intégrité pour l’instance ASCS
Important
Nous vous recommandons d’utiliser l’agent de ressources azure-lb, qui fait partie du package resource-agents, avec la configuration requise suivante pour la version du package :
- Pour SLES 12 SP4/SP5, la version minimum est resource-agents-4.3.018.a7fb5035-3.30.1.
- Pour SLES 15 et les versions ultérieures, la version minimale est resource-agents-4.3.0184.6ee15eb2-4.13.1.
sudo crm node standby sap-cl2 sudo crm configure primitive fs_NW1_ASCS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1ascs' directory='/usr/sap/NW1/ASCS00' fstype='nfs' options='noresvport,vers=4,minorversion=1,sec=sys' \ op start timeout=60s interval=0 \ op stop timeout=60s interval=0 \ op monitor interval=20s timeout=40s sudo crm configure primitive vip_NW1_ASCS IPaddr2 \ params ip=10.90.90.10 \ op monitor interval=10 timeout=20 sudo crm configure primitive nc_NW1_ASCS azure-lb port=62000 \ op monitor timeout=20s interval=10 sudo crm configure group g-NW1_ASCS fs_NW1_ASCS nc_NW1_ASCS vip_NW1_ASCS \ meta resource-stickiness=3000
Vérifiez que l’état du cluster est OK et que toutes les ressources sont démarrées. Le nœud sur lequel les ressources s’exécutent n’a aucune importance.
sudo crm_mon -r # Node sap-cl2: standby # Online: [ sap-cl1 ] # # Full list of resources: # # stonith-sbd (stonith:external/sbd): 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] Installer SAP NetWeaver ASCS
Installez SAP NetWeaver ASCS comme racine sur le premier nœud à l’aide d’un nom d’hôte virtuel mappé à l’adresse IP de la configuration front-end de l’équilibreur de charge pour l’instance ASCS, par exemple sapascs, 10.90.90.10 et du numéro d’instance utilisé pour la sonde de l’équilibreur de charge, par exemple 00.
Vous pouvez utiliser le paramètre sapinst SAPINST_REMOTE_ACCESS_USER pour autoriser un utilisateur non racine à se connecter à sapinst. Vous pouvez utiliser le paramètre SAPINST_USE_HOSTNAME pour installer SAP à l’aide du nom d’hôte virtuel.
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.
chown nw1adm /usr/sap/NW1/ASCS00 chgrp sapsys /usr/sap/NW1/ASCS00
[1] Créer une ressource IP virtuelle et la sonde d’intégrité pour l’instance ERS
sudo crm node online sap-cl2 sudo crm node standby sap-cl1 sudo crm configure primitive fs_NW1_ERS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1ers' directory='/usr/sap/NW1/ERS01' fstype='nfs' options='noresvport,vers=4,minorversion=1,sec=sys' \ op start timeout=60s interval=0 \ op stop timeout=60s interval=0 \ op monitor interval=20s timeout=40s sudo crm configure primitive vip_NW1_ERS IPaddr2 \ params ip=10.90.90.9 \ op monitor interval=10 timeout=20 sudo crm configure primitive nc_NW1_ERS azure-lb port=62101 \ op monitor timeout=20s interval=10 sudo crm configure group g-NW1_ERS fs_NW1_ERS nc_NW1_ERS vip_NW1_ERS
Vérifiez que l’état du cluster est OK et que toutes les ressources sont démarrées. Le nœud sur lequel les ressources s’exécutent n’a aucune importance.
sudo crm_mon -r # Node sap-cl1: standby # Online: [ sap-cl2 ] # # Full list of resources: # # stonith-sbd (stonith:external/sbd): 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_ERS # fs_NW1_ERS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_ERS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started sap-cl2
[2] Installer SAP NetWeaver ERS
Installez SAP NetWeaver ERS comme racine sur le deuxième nœud à l’aide d’un nom d’hôte virtuel mappé à l’adresse IP de la configuration frontend de l’équilibreur de charge pour l’ERS, par exemple sapers, 10.90.90.9, et du 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 autoriser un utilisateur non racine à se connecter à sapinst. Vous pouvez utiliser le paramètre SAPINST_USE_HOSTNAME pour installer SAP à l’aide du nom d’hôte virtuel.
<swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
Notes
Utilisez SWPM SP 20 PL 05 ou ultérieur. Les versions antérieures ne définissent pas les autorisations correctement et l’installation échouera.
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.
chown nw1adm /usr/sap/NW1/ERS01 chgrp sapsys /usr/sap/NW1/ERS01
[1] Adapter les profils d’instance 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 following lines service/halib = $(DIR_CT_RUN)/saphascriptco.so service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector # Add the keep alive parameter, if using ENSA1 enque/encni/set_so_keepalive = true
Pour ENSA1 et ENSA2, assurez-vous que les
keepalive
Paramètres de système d’exploitation 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) # Add the following lines service/halib = $(DIR_CT_RUN)/saphascriptco.so service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector # 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 éviter cela, vous devez définir 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/ENSA2. Pour plus d’informations, consultez la Note SAP 1410736.# Change the Linux system configuration sudo sysctl net.ipv4.tcp_keepalive_time=300
[A] Configurer les utilisateurs SAP après l’installation
# Add sidadm to the haclient group sudo usermod -aG haclient nw1adm
[1] Ajoutez les services ASCS et ERS SAP au fichier
sapservice
Ajoutez l’entrée de service ASCS au deuxième nœud et copiez l’entrée de service ERS dans le premier nœud.
cat /usr/sap/sapservices | grep ASCS00 | sudo ssh sap-cl2 "cat >>/usr/sap/sapservices" sudo ssh sap-cl2 "cat /usr/sap/sapservices" | grep ERS01 | sudo tee -a /usr/sap/sapservices
[A] Désactivation des services
systemd
des instances SAP ASCS et ERS. Cette étape s’applique uniquement si l’infrastructure de démarrage SAP est gérée par systemd conformément à la note SAP 3115048Remarque
Quand vous gérez des instances SAP telles que SAP ASCS et SAP ERS à l’aide de la configuration de cluster SLES, vous devez apporter des modifications supplémentaires pour intégrer le cluster à l’infrastructure de démarrage SAP native basée sur systemd. Cela vous permet d’avoir la certitude que les procédures de maintenance ne compromettent pas la stabilité du cluster. Une fois que vous avez installé ou modifié l’infrastructure de démarrage SAP pour qu’elle utilise une configuration basée sur systemd, conformément à la note SAP 3115048, vous devez désactiver les services
systemd
pour les instances SAP ASCS et ERS.# Stop ASCS and ERS instances using <sid>adm sapcontrol -nr 00 -function Stop sapcontrol -nr 00 -function StopService sapcontrol -nr 01 -function Stop sapcontrol -nr 01 -function StopService # Execute below command on VM where you have performed ASCS instance installation (e.g. sap-cl1) sudo systemctl disable SAPNW1_00 # Execute below command on VM where you have performed ERS instance installation (e.g. sap-cl2) sudo systemctl disable SAPNW1_01
[1] Créer 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.
sudo crm configure property maintenance-mode="true" sudo crm configure primitive rsc_sap_NW1_ASCS00 SAPInstance \ operations \$id=rsc_sap_NW1_ASCS00-operations \ op monitor interval=11 timeout=60 on-fail=restart \ params InstanceName=NW1_ASCS00_sapascs START_PROFILE="/sapmnt/NW1/profile/NW1_ASCS00_sapascs" \ AUTOMATIC_RECOVER=false \ meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10 sudo crm configure primitive rsc_sap_NW1_ERS01 SAPInstance \ operations \$id=rsc_sap_NW1_ERS01-operations \ op monitor interval=11 timeout=60 on-fail=restart \ params InstanceName=NW1_ERS01_sapers START_PROFILE="/sapmnt/NW1/profile/NW1_ERS01_sapers" AUTOMATIC_RECOVER=false IS_ERS=true \ meta priority=1000 sudo crm configure modgroup g-NW1_ASCS add rsc_sap_NW1_ASCS00 sudo crm configure modgroup g-NW1_ERS add rsc_sap_NW1_ERS01 sudo crm configure colocation col_sap_NW1_no_both -5000: g-NW1_ERS g-NW1_ASCS sudo crm configure location loc_sap_NW1_failover_to_ers rsc_sap_NW1_ASCS00 rule 2000: runs_ers_NW1 eq 1 sudo crm configure order ord_sap_NW1_first_start_ascs Optional: rsc_sap_NW1_ASCS00:start rsc_sap_NW1_ERS01:stop symmetrical=false sudo crm_attribute --delete --name priority-fencing-delay sudo crm node online sap-cl1 sudo crm configure property maintenance-mode="false"
Si vous effectuez une mise à niveau à partir d’une version antérieure et que vous passez au serveur de file d’attente 2, consultez la note SAP 2641019.
Vérifiez que l’état du cluster est OK et que toutes les ressources sont démarrées. Le nœud sur lequel les ressources s’exécutent n’a aucune importance.
sudo crm_mon -r
# Full list of resources:
#
# stonith-sbd (stonith:external/sbd): Started sap-cl2
# 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
# rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl1
# Resource Group: g-NW1_ERS
# fs_NW1_ERS (ocf::heartbeat:Filesystem): Started sap-cl2
# nc_NW1_ERS (ocf::heartbeat:azure-lb): Started sap-cl2
# vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started sap-cl2
# rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl1
Préparation du serveur d’applications SAP NetWeaver
Certaines bases de données exigent que l’installation de l’instance de base de données soit exécutée 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 ci-dessous 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 ci-dessous (par exemple 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 à PAS et à AAS), de [P] (applicable uniquement à PAS) ou de [S] (applicable uniquement à AAS).
[A] Configurer le système d’exploitation
Réduisez la taille du cache d’intégrité. Pour plus d’informations, consultez Faibles performances en écriture sur les serveurs SLES 11/12 avec une grande quantité de RAM.
sudo vi /etc/sysctl.conf # Change/set the following settings vm.dirty_bytes = 629145600 vm.dirty_background_bytes = 314572800
[A] Configurer la résolution de noms d’hôte
Vous pouvez utiliser un serveur DNS ou modifier le fichier /etc/hosts sur tous les nœuds. Cet exemple montre 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 le fichier /etc/hosts. Modifiez 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] Montez les systèmes de fichiers.
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] Configurer 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
Installer 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. 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 frontend d’équilibreur de charge pour la base de données.
Vous pouvez utiliser le paramètre sapinst SAPINST_REMOTE_ACCESS_USER pour autoriser un utilisateur non racine à 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.
[A] Préparer le serveur d’applications Pour préparer le serveur d’applications, suivez la procédure décrite dans la section Préparation du serveur d’applications SAP NetWeaver ci-dessus.
[A] Installez 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 autoriser un utilisateur non racine à 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
hdbuserstore List
La commande doit lister toutes les entrées et ressembler à ceci :
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,
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. Exécutez les tests de basculement classiques.
Étapes suivantes
- Guide de haute disponibilité pour SAP NW sur les machines virtuelles Azure sur SLES pour les applications SAP multi-SID
- Planification et implémentation de machines virtuelles Azure pour SAP
- Déploiement de machines virtuelles Azure pour SAP
- Déploiement SGBD de machines virtuelles Azure pour SAP
- Pour savoir comment établir une haute disponibilité 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