Distribuire istanze di finestre di dialogo SAP con macchine virtuali a disponibilità elevata di SAP ASCS/SCS in RHEL
Questo articolo descrive come installare e configurare istanze del server applicazioni primario (PAS) e istanze di dialogo del server applicazioni aggiuntivo (AAS) nello stesso cluster AAS (ABAP SAP Central Services)/SAP Central Services (SCS) in esecuzione in Red Hat Enterprise Linux (RHEL).
Riferimenti
- Configurazione di SAP S/4HANA ASCS/ERS con il Server di accodamento autonomo 2 (ENSA2) in Pacemaker
- Configurazione di SAP NetWeaver ASCS/ERS ENSA1 con risorse autonome in RHEL 7.5+ e RHEL 8
- Nota SAP 1928533, contenente:
- Elenco delle dimensioni delle macchine virtuali di Azure supportate per la distribuzione del software SAP.
- Informazioni importanti sulla capacità per le dimensioni delle macchine virtuali di Azure.
- Software SAP e combinazioni di sistemi operativi e database supportati.
- Versione del kernel SAP richiesta per Windows e Linux in Azure.
- La nota SAP 2015553 elenca i prerequisiti per le distribuzioni di software SAP supportate da SAP in Azure.
- La nota SAP 2002167 elenca le impostazioni del sistema operativo consigliate per Red Hat Enterprise Linux 7.x.
- La nota SAP 2772999 elenca le impostazioni del sistema operativo consigliate per Red Hat Enterprise Linux 8.x.
- La nota SAP 2009879 contiene le linee guida di SAP HANA per Red Hat Enterprise Linux.
- La nota SAP 2178632 contiene informazioni dettagliate su tutte le metriche di monitoraggio segnalate per SAP in Azure.
- La nota SAP 2191498 contiene la versione dell'agente host SAP per Linux necessaria in Azure.
- La nota SAP 2243692 contiene informazioni sulle licenze SAP in Linux in Azure.
- La nota SAP 1999351 contiene altre informazioni sulla risoluzione dei problemi per l'estensione di monitoraggio avanzato di Azure per SAP.
- Community WIKI SAP contiene tutte le note su SAP necessarie per Linux.
- Pianificazione e implementazione di Macchine virtuali di Azure per SAP in Linux
- Distribuzione di Macchine virtuali di Azure per SAP in Linux
- Distribuzione DBMS di Macchine virtuali di Azure per SAP in Linux
- SAP Netweaver nel cluster Pacemaker
- Documentazione generale di RHEL:
- Documentazione di RHEL specifica di Azure:
- Criteri di supporto per cluster RHEL a disponibilità elevata - Macchine virtuali di Microsoft Azure come membri del cluster
- Installing and Configuring a Red Hat Enterprise Linux 7.4 (and later) High-Availability Cluster on Microsoft Azure (Installazione e configurazione di un cluster Red Hat Enterprise Linux 7.4 e versioni successive a disponibilità elevata in Microsoft Azure)
Panoramica
Questo articolo descrive lo scenario di ottimizzazione dei costi in cui si distribuiscono istanze di finestre di dialogo PAS e AAS con istanze di SAP ASCS/SCS ed ERS (Enqueue Replication Server) in una configurazione a disponibilità elevata. Per ridurre al minimo il numero di macchine virtuali per un singolo sistema SAP, è consigliabile installare PAS e AAS negli stessi host in cui sono in esecuzione SAP ASCS/SCS e SAP ERS. Con SAP ASCS/SCS configurato in un cluster a disponibilità elevata, si vuole che anche PAS e AAS siano gestiti dal cluster. La configurazione è fondamentalmente un'aggiunta a un'installazione del cluster SAP ASCS/SCS già configurata. In questa configurazione, PAS e AAS vengono installati in un nome host virtuale e la relativa directory di istanza viene gestita dal cluster.
Per questa configurazione, PAS e AAS richiedono una directory dell'istanza a disponibilità elevata (/usr/sap/<SID>/D<nr>
). È possibile posizionare il file system della directory dell'istanza nella stessa risorsa di archiviazione a disponibilità elevata usata per la configurazione dell'istanza di ASCS e ERS. L'architettura presentata illustra NFS in File di Azure o Azure NetApp Files per una directory di istanza a disponibilità elevata per l'installazione.
L'esempio illustrato in questo articolo per descrivere la distribuzione usa le informazioni di sistema seguenti:
Nome istanza | Numero istanza | Nome host virtuale | IP virtuale (porta probe) |
---|---|---|---|
ABAP SAP Central Services (ASCS) | 00 | sapascs | 10.90.90.10 (62000) |
Enqueue Replication Server (ERS) | 01 | sapers | 10.90.90.9 (62001) |
Server applicazioni primario (PAS) | 02 | sappas | 10.90.90.30 (62002) |
Server applicazioni aggiuntivo (AAS) | 03 | sapers | 10.90.90.31 (62003) |
Identificatore di sistema SAP | NW1 | --- | --- |
Nota
Installare più istanze di applicazioni SAP in macchine virtuali separate se si vuole aumentare il numero di istanze.
Considerazioni importanti per la soluzione di ottimizzazione dei costi
- Solo due istanze di dialogo, PAS e una AAS, possono essere distribuite con un'installazione del cluster SAP ASCS/SCS.
- Se si vuole aumentare il numero di istanze del sistema SAP con più server applicazioni (ad esempio sapa03 e sapa04), è possibile installarli in macchine virtuali separate. Con PAS e AAS installati nei nomi host virtuali, è possibile installare più server applicazioni usando un nome host fisico o virtuale in macchine virtuali separate. Per altre informazioni su come assegnare un nome host virtuale a una macchina virtuale, vedere il blog Usare i nomi host virtuali SAP con Linux in Azure.
- Con una distribuzione PAS e AAS con una configurazione del cluster SAP ASCS/SCS, i numeri di istanza di ASCS, ERS, PAS e AAS devono essere diversi.
- Valutare la possibilità di dimensionare gli SKU delle macchine virtuali in modo appropriato in base alle linee guida per il dimensionamento. È necessario tenere conto del comportamento del cluster in cui più istanze SAP (ASCS, ERS, PAS e AAS) possono essere eseguite in una singola macchina virtuale quando un'altra macchina virtuale nel cluster non è disponibile.
- Le istanze del dialogo (PAS e AAS) in esecuzione con un'installazione del cluster SAP ASCS/SCS devono essere installate usando un nome host virtuale.
- È anche necessario usare la stessa soluzione di archiviazione della configurazione del cluster SAP ASCS/SCS per distribuire le istanze PAS e AAS. Ad esempio, se è stato configurato un cluster SAP ASCS/SCS usando NFS in File di Azure, è necessario usare la stessa soluzione di archiviazione per distribuire PAS e AAS.
- La directory dell'istanza
/usr/sap/<SID>/D<nr>
di PAS e AAS deve essere montata in un file system NFS e viene gestita come risorsa dal cluster.Nota
Per i sistemi SAP J2EE, non è supportato il posizionamento di
/usr/sap/<SID>/J<nr>
in NFS in File di Azure. - Per installare più server applicazioni in macchine virtuali separate, è possibile usare condivisioni NFS o un disco gestito locale per un file system di directory di istanza. Se si installano più server applicazioni per il sistema SAP J2EE,
/usr/sap/<SID>/J<nr>
in NFS in File di Azure non è supportato. - In una configurazione tradizionale a disponibilità elevata di SAP ASCS/SCS, le istanze del server applicazioni in esecuzione in macchine virtuali separate non sono interessate quando si verifica un effetto sui nodi del cluster SAP ASCS e ERS. Tuttavia, con la configurazione di ottimizzazione dei costi, l'istanza PAS o AAS viene riavviata quando si verifica un effetto su uno dei nodi del cluster.
- Vedere Considerazioni su NFS in File di Azure e Considerazioni su Azure NetApp Files perché le stesse considerazioni si applicano a questa configurazione.
Prerequisiti
La configurazione descritta in questo articolo è un'aggiunta alla configurazione del cluster SAP ASCS/SCS già configurata. In questa configurazione, PAS e AAS vengono installati in un nome host virtuale e la relativa directory di istanza viene gestita dal cluster. In base all'archiviazione, seguire la procedura descritta negli articoli seguenti per configurare una risorsa SAPInstance
per l'istanza di SAP ASCS e SAP ERS nel cluster.
- NFS in File di Azure: disponibilità elevata delle macchine virtuali di Azure per SAP NW in RHEL con NFS in File di Azure
- Azure NetApp Files: disponibilità elevata delle macchine virtuali di Azure per SAP NW in RHEL con Azure NetApp Files
Dopo aver installato le istanze ASCS, ERSe Database usando Software Provisioning Manager (SWPM), seguire i passaggi successivi per installare le istanze PAS e AAS.
Configurare Azure Load Balancer per PAS e AAS
Questo articolo presuppone che il bilanciamento del carico sia già stato configurato per un cluster SAP ASCS/SCS come descritto in Configurare Azure Load Balancer. Nella stessa istanza di Azure Load Balancer seguire questa procedura per creare più indirizzi IP front-end e regole di bilanciamento del carico per PAS e AAS.
- Aprire il bilanciamento del carico interno creato per la configurazione del cluster SAP ASCS/SCS.
- Configurazione IP front-end: creare due indirizzi IP front-end, uno per PAS e un altro per AAS (ad esempio 10.90.90.30 e 10.90.90.31).
- Pool back-end: questo pool rimane invariato perché vengono distribuiti PAS e AAS nello stesso pool back-end.
- Regole in ingresso: creare due regole di bilanciamento del carico, una per PAS e un'altra per AAS. Seguire la stessa procedura per entrambe le regole di bilanciamento del carico.
- Indirizzo IP front-end: selezionare l'indirizzo IP front-end.
- Pool back-end: selezionare il pool back-end.
- Porte a disponibilità elevata: selezionare questa opzione.
- Protocollo: selezionare TCP.
- Probe di integrità: creare un probe di integrità con i dettagli seguenti (si applica sia a PAS che ad AAS):
- Protocollo: selezionare TCP.
- Porta: ad esempio, 620<N. istanza> per PAS e 620<N. istanza> per AAS.
- Intervallo: immettere 5.
- Soglia probe: immettere 2.
- Timeout di inattività (minuti): immettere 30.
- Abilita IP mobile: selezionare questa opzione.
La proprietà di configurazione del probe di integrità numberOfProbes
, altrimenti nota come soglia non integra nel portale di Azure, non viene rispettata. Per controllare il numero di probe consecutivi riusciti o non riusciti, impostare la proprietà probeThreshold
su 2
. Non è attualmente possibile impostare questa proprietà usando il portale di Azure. Usare l'interfaccia della riga di comando di Azure o il comando PowerShell.
Se vengono inserite macchine virtuali senza indirizzi IP pubblici nel pool back-end di un'istanza di Load Balancer Standard interno ad Azure (nessun indirizzo IP pubblico), non è presente alcuna connettività Internet in uscita, a meno che non venga eseguita un’altra configurazione per consentire il routing a endpoint pubblici. Per i passaggi su come ottenere la connettività in uscita, vedere Connettività degli endpoint pubblici per le macchine virtuali usando Load Balancer Standard di Azure negli scenari a disponibilità elevata SAP.
Importante
Non abilitare i timestamp TCP nelle macchine virtuali di Azure che si trovano dietro Azure Load Balancer. Se si abilitano i timestamp TCP, i probe di integrità hanno esito negativo. Impostare il parametro net.ipv4.tcp_timestamps
su 0
. Per altre informazioni, vedere Probe di integrità di Load Balancer.
Preparare i server per l'installazione di PAS e AAS
Quando i passaggi in questo documento sono contrassegnati con i prefissi seguenti, significano:
- [A]: applicabile a tutti i nodi.
- [1]: applicabile solo al nodo 1.
- [2]: applicabile solo al nodo 2.
[A] Configurare la risoluzione dei nomi host.
È possibile usare un server DNS o modificare
/etc/hosts
in tutti i nodi. In questo esempio viene illustrato come usare il file/etc/hosts
. Sostituire l'indirizzo IP e il nome host nei comandi seguenti:sudo vi /etc/hosts # 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 # IP address of the load balancer frontend configuration for SAP Netweaver PAS 10.90.90.30 sappas # IP address of the load balancer frontend configuration for SAP Netweaver AAS 10.90.90.31 sapaas
[1] Creare le directory SAP nella condivisione NFS. Montare la condivisione NFS sapnw1 temporaneamente in una delle macchine virtuali e creare le directory SAP da usare come punti di montaggio annidati.
Se si usa NFS in File di Azure:
# 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 usrsapNW1D02 sudo mkdir -p usrsapNW1D03 # unmount the volume and delete the temporary directory cd .. sudo umount /saptmp sudo rmdir /saptmp
Se si usa Azure NetApp Files:
# mount temporarily the volume sudo mkdir -p /saptmp # If using NFSv3 sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,vers=3,tcp 10.90.91.5:/sapnw1 /saptmp # If using NFSv4.1 sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,vers=4.1,sec=sys,tcp 10.90.91.5:/sapnw1 /saptmp # create the SAP directories sudo cd /saptmp sudo mkdir -p usrsapNW1D02 sudo mkdir -p usrsapNW1D03 # unmount the volume and delete the temporary directory sudo cd .. sudo umount /saptmp sudo rmdir /saptmp
[A] Creare le directory condivise.
sudo mkdir -p /usr/sap/NW1/D02 sudo mkdir -p /usr/sap/NW1/D03 sudo chattr +i /usr/sap/NW1/D02 sudo chattr +i /usr/sap/NW1/D03
[A] Configurare lo spazio di swapping. Quando si installa un'istanza della finestra di dialogo con servizi centrali, è necessario configurare più spazio di swapping.
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 ResourceDisk.SwapSizeMB=10480
Riavviare l'agente per attivare la modifica.
sudo service waagent restart
[A] Aggiungere regole di firewall per PAS e AAS.
# Probe and gateway port for PAS and AAS sudo firewall-cmd --zone=public --add-port={62002,62003,3302,3303}/tcp --permanent sudo firewall-cmd --zone=public --add-port={62002,62003,3303,3303}/tcp
Installare un'istanza SAP NetWeaver PAS
[1] Controllare lo stato del cluster. Prima di configurare una risorsa PAS per l'installazione, assicurarsi che le risorse ASCS e ERS siano configurate e avviate.
sudo pcs status # Online: [ sap-cl1 sap-cl2 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl1 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl2 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl2
[1] Creare risorse del file system, dell'IP virtuale e del probe di integrità per l'istanza PAS.
sudo pcs node standby sap-cl2 sudo pcs resource create vip_NW1_PAS IPaddr2 ip=10.90.90.30 --group g-NW1_PAS sudo pcs resource create nc_NW1_PAS azure-lb port=62002 --group g-NW1_PAS # If using NFS on Azure files sudo pcs resource create fs_NW1_PAS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1D02' \ directory='/usr/sap/NW1/D02' fstype='nfs' force_unmount=safe options='noresvport,vers=4,minorversion=1,sec=sys' \ op start interval=0 timeout=60 \ op stop interval=0 timeout=120 \ op monitor interval=200 timeout=40 \ --group g-NW1_PAS # If using NFsv3 on Azure NetApp Files sudo pcs resource create fs_NW1_PAS Filesystem device='10.90.91.5:/sapnw1/usrsapNW1D02' \ directory='/usr/sap/NW1/D02' 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-NW1_PAS # If using NFSv4.1 on Azure NetApp Files sudo pcs resource create fs_NW1_PAS Filesystem device='10.90.91.5:/sapnw1/usrsapNW1D02' \ directory='/usr/sap/NW1/D02' fstype='nfs' force_unmount=safe options='sec=sys,vers=4.1' \ op start interval=0 timeout=60 \ op stop interval=0 timeout=120 \ op monitor interval=200 timeout=105 \ --group g-NW1_PAS
Assicurarsi che lo stato del cluster sia corretto e che tutte le risorse siano avviate. Non è importante il nodo su cui sono in esecuzione le risorse.
sudo pcs status # Node List: # Node sap-cl2: standby # Online: [ sap-cl1 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl1 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_PAS: # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Started sap-cl1 # nc_NW1_PAS (ocf::heartbeat:azure-lb): Started sap-cl1 # fs_NW1_PAS (ocf::heartbeat:Filesystem): Started sap-cl1
[1] Modificare la proprietà della cartella
/usr/sap/SID/D02
dopo il montaggio del file system.sudo chown nw1adm:sapsys /usr/sap/NW1/D02
[1] Installare SAP Netweaver PAS.
Installare SAP NetWeaver PAS come radice nel primo nodo usando un nome host virtuale mappato all'indirizzo IP della configurazione front-end del bilanciamento del carico per PAS. Ad esempio, usare sappas, 10.90.90.30 e il numero di istanza usato per il probe del bilanciamento del carico, ad esempio 02.
È possibile usare il parametro sapinst
SAPINST_REMOTE_ACCESS_USER
per consentire a un utente non ROOT di connettersi a 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=<pas_virtual_hostname>
Aggiornare il file
/usr/sap/sapservices
.Per impedire l'avvio delle istanze per lo script di avvio sapinit, tutte le istanze gestite da Pacemaker devono essere impostate come commento nel file
/usr/sap/sapservices
.sudo vi /usr/sap/sapservices # On the node where PAS is installed, comment out the following lines. # LD_LIBRARY_PATH=/usr/sap/NW1/D02/exe:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH;/usr/sap/NW1/D02/exe/sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_D02_sappas -D -u nw1adm
[1] Creare la risorsa cluster PAS.
# If using NFS on Azure Files or NFSv3 on Azure NetApp Files pcs resource create rsc_sap_NW1_PAS02 SAPInstance InstanceName="NW1_D02_sappas" \ START_PROFILE=/sapmnt/NW1/profile/NW1_D02_sappas \ op monitor interval=20 timeout=60 \ --group g-NW1_PAS # If using NFSv4.1 on Azure NetApp Files pcs resource create rsc_sap_NW1_PAS02 SAPInstance InstanceName="NW1_D02_sappas" \ START_PROFILE=/sapmnt/NW1/profile/NW1_D02_sappas \ op monitor interval=20 timeout=105 \ --group g-NW1_PAS
Controllare lo stato del cluster.
sudo pcs status # Node List: # Node sap-cl2: standby # Online: [ sap-cl1 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl1 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_PAS: # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Started sap-cl1 # nc_NW1_PAS (ocf::heartbeat:azure-lb): Started sap-cl1 # fs_NW1_PAS (ocf::heartbeat:Filesystem): Started sap-cl1 # rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance): Started sap-cl1
Configurare un vincolo per avviare il gruppo di risorse PAS solo dopo l'avvio dell'istanza ASCS.
sudo pcs constraint order g-NW1_ASCS then g-NW1_PAS kind=Optional symmetrical=false
Installare un'istanza SAP NetWeaver AAS
[2] Controllare lo stato del cluster. Prima di configurare una risorsa AAS per l'installazione, assicurarsi che le risorse ASCS, ERS e PAS siano avviate.
sudo pcs status # Node List: # Node sap-cl2: standby # Online: [ sap-cl1 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl1 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_PAS: # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Started sap-cl1 # nc_NW1_PAS (ocf::heartbeat:azure-lb): Started sap-cl1 # fs_NW1_PAS (ocf::heartbeat:Filesystem): Started sap-cl1 # rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance): Started sap-cl1
[2] Creare risorse del file system, dell'IP virtuale e del probe di integrità per l'istanza AAS.
sudo pcs node unstandby sap-cl2 # Disable PAS resource as it will fail on sap-cl2 due to missing environment variables like hdbuserstore. sudo pcs resource disable g-NW1_PAS sudo pcs node standby sap-cl1 # Execute below command to cleanup resource, if required pcs resource cleanup rsc_sap_NW1_ERS01 sudo pcs resource create vip_NW1_AAS IPaddr2 ip=10.90.90.31 --group g-NW1_AAS sudo pcs resource create nc_NW1_AAS azure-lb port=62003 --group g-NW1_AAS # If using NFS on Azure files sudo pcs resource create fs_NW1_AAS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1D03' \ directory='/usr/sap/NW1/D03' fstype='nfs' force_unmount=safe options='noresvport,vers=4,minorversion=1,sec=sys' \ op start interval=0 timeout=60 \ op stop interval=0 timeout=120 \ op monitor interval=200 timeout=40 \ --group g-NW1_AAS # If using NFsv3 on Azure NetApp Files sudo pcs resource create fs_NW1_AAS Filesystem device='10.90.91.5:/sapnw1/usrsapNW1D03' \ directory='/usr/sap/NW1/D03' 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-NW1_AAS # If using NFSv4.1 on Azure NetApp Files sudo pcs resource create fs_NW1_AAS Filesystem device='10.90.91.5:/sapnw1/usrsapNW1D03' \ directory='/usr/sap/NW1/D03' fstype='nfs' force_unmount=safe options='sec=sys,vers=4.1' \ op start interval=0 timeout=60 \ op stop interval=0 timeout=120 \ op monitor interval=200 timeout=105 \ --group g-NW1_AAS
Assicurarsi che lo stato del cluster sia corretto e che tutte le risorse siano avviate. Non è importante il nodo su cui sono in esecuzione le risorse. Poiché il gruppo di risorse g-NW1_PAS viene arrestato, tutte le risorse PAS vengono arrestate nello stato (disabilitato).
sudo pcs status # Node List: # Node sap-cl1: standby # Online: [ sap-cl2 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl2 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl2 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl2 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl2 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl2 # Resource Group: g-NW1_PAS: # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Stopped (disabled) # nc_NW1_PAS (ocf::heartbeat:azure-lb): Stopped (disabled) # fs_NW1_PAS (ocf::heartbeat:Filesystem): Stopped (disabled) # rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance): Stopped (disabled) # Resource Group: g-NW1_AAS: # vip_NW1_AAS (ocf::heartbeat:IPaddr2): Started sap-cl2 # nc_NW1_AAS (ocf::heartbeat:azure-lb): Started sap-cl2 # fs_NW1_AAS (ocf::heartbeat:Filesystem): Started sap-cl2
[2] Modificare la proprietà della cartella
/usr/sap/SID/D03
dopo il montaggio del file system.sudo chown nw1adm:sapsys /usr/sap/NW1/D03
[2] Installare SAP NetWeaver AAS.
Installare SAP NetWeaver PAS come radice nel secondo nodo usando un nome host virtuale mappato all'indirizzo IP della configurazione front-end del bilanciamento del carico per PAS. Ad esempio, usare sapaas, 10.90.90.31 e il numero di istanza usato per il probe del bilanciamento del carico, ad esempio 03.
È possibile usare il parametro sapinst
SAPINST_REMOTE_ACCESS_USER
per consentire a un utente non ROOT di connettersi a 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=<aas_virtual_hostname>
Aggiornare il file
/usr/sap/sapservices
.Per impedire l'avvio delle istanze per lo script di avvio sapinit, tutte le istanze gestite da Pacemaker devono essere impostate come commento nel file
/usr/sap/sapservices
.sudo vi /usr/sap/sapservices # On the node where AAS is installed, comment out the following lines. #LD_LIBRARY_PATH=/usr/sap/NW1/D03/exe:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH;/usr/sap/NW1/D03/exe/sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_D03_sapaas -D -u nw1adm
[2] Creare una risorsa cluster AAS.
# If using NFS on Azure Files or NFSv3 on Azure NetApp Files pcs resource create rsc_sap_NW1_AAS03 SAPInstance InstanceName="NW1_D03_sapaas" \ START_PROFILE=/sapmnt/NW1/profile/NW1_D03_sapaas \ op monitor interval=120 timeout=60 \ --group g-NW1_AAS # If using NFSv4.1 on Azure NetApp Files pcs resource create rsc_sap_NW1_AAS03 SAPInstance InstanceName="NW1_D03_sapaas" \ START_PROFILE=/sapmnt/NW1/profile/NW1_D03_sapaas \ op monitor interval=120 timeout=105 \ --group g-NW1_AAS
Controllare lo stato del cluster.
sudo pcs status # Node List: # Node sap-cl1: standby # Online: [ sap-cl2 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl2 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl2 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl2 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl2 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl2 # Resource Group: g-NW1_PAS: # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Stopped (disabled) # nc_NW1_PAS (ocf::heartbeat:azure-lb): Stopped (disabled) # fs_NW1_PAS (ocf::heartbeat:Filesystem): Stopped (disabled) # rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance): Stopped (disabled) # Resource Group: g-NW1_AAS: # vip_NW1_AAS (ocf::heartbeat:IPaddr2): Started sap-cl2 # nc_NW1_AAS (ocf::heartbeat:azure-lb): Started sap-cl2 # fs_NW1_AAS (ocf::heartbeat:Filesystem): Started sap-cl2 # rsc_sap_NW1_AAS03 (ocf::heartbeat:SAPInstance): Started sap-cl2
Configurare un vincolo per avviare il gruppo di risorse AAS solo dopo l'avvio dell'istanza ASCS.
sudo pcs constraint order g-NW1_ASCS then g-NW1_AAS kind=Optional symmetrical=false
Passaggi successivi alla configurazione per le istanze di PAS e AAS
[1] Affinché PAS e AAS vengano eseguiti in qualsiasi nodo del cluster (sap-cl1 o sap-cl2), è necessario copiare il contenuto in
$HOME/.hdb
di<sid>adm
da entrambi i nodi del cluster.# Check current content of /home/nw1adm/.hdb on sap-cl1 sap-cl1:nw1adm > ls -ltr $HOME/.hdb drwx------. 2 nw1adm sapsys 66 Aug 8 19:11 sappas drwx------. 2 nw1adm sapsys 84 Aug 8 19:12 sap-cl1 # Check current content of /home/nw1adm/.hdb on sap-cl2 sap-cl2:nw1adm > ls -ltr $HOME/.hdb total 0 drwx------. 2 nw1adm sapsys 64 Aug 8 20:25 sap-cl2 drwx------. 2 nw1adm sapsys 66 Aug 8 20:26 sapaas # As PAS and AAS is installed using virtual hostname, you need to copy virtual hostname directory in /home/nw1adm/.hdb # Copy sappas directory from sap-cl1 to sap-cl2 sap-cl1:nw1adm > scp -r sappas nw1adm@sap-cl2:/home/nw1adm/.hdb # Copy sapaas directory from sap-cl2 to sap-cl1. Execute the command from the same sap-cl1 host. sap-cl1:nw1adm > scp -r nw1adm@sap-cl2:/home/nw1adm/.hdb/sapaas .
[1] Per assicurarsi che le istanze PAS e AAS non vengano eseguite negli stessi nodi ogni volta che entrambi i nodi sono in esecuzione, aggiungere un vincolo di coubicazione negativo con il comando seguente:
sudo pcs constraint colocation add g-NW1_AAS with g-NW1_PAS score=-1000 sudo pcs node unstandby sap-cl1 sudo pcs resource enable g-NW1_PAS
Il punteggio di -1000 garantisce che, se è disponibile un solo nodo, entrambe le istanze continueranno a essere eseguite nell'altro nodo. Se si vuole mantenere inattiva l'istanza di AAS in una situazione di questo tipo, è possibile usare
score=-INFINITY
per applicare questa condizione.Controllare lo stato del cluster.
sudo pcs status # Node List: # Online: [ sap-cl1 sap-cl2 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl2 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl2 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl2 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_PAS: # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Started sap-cl1 # nc_NW1_PAS (ocf::heartbeat:azure-lb): Started sap-cl1 # fs_NW1_PAS (ocf::heartbeat:Filesystem): Started sap-cl1 # rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_AAS: # vip_NW1_AAS (ocf::heartbeat:IPaddr2): Started sap-cl2 # nc_NW1_AAS (ocf::heartbeat:azure-lb): Started sap-cl2 # fs_NW1_AAS (ocf::heartbeat:Filesystem): Started sap-cl2 # rsc_sap_NW1_AAS03 (ocf::heartbeat:SAPInstance): Started sap-cl2
Testare la configurazione del cluster
Testare accuratamente il cluster Pacemaker eseguendo i test di failover tipici.