Distribuire istanze di dialoghi SAP con MACCHINE virtuali a disponibilità elevata di SAP ASCS/SCS in Red Hat Enterprise Linux
Questo articolo descrive come installare e configurare un'istanza del server applicazioni primaria (PAS) e dell'istanza della finestra di dialogo AAS (Additional Application Server) nello stesso cluster a disponibilità elevata SAP ASCS/SCS in esecuzione in Red Hat Enterprise Linux (RHEL).
Riferimenti
- Configurazione di SAP S/4HANA ASCS/ERS con Standalone Enqueue Server 2 (ENSA2) in Pacemaker
- Configurazione di SAP NetWeaver ASCS/ERS ENSA1 con risorse autonome in RHEL 7.5+ e RHEL 8
- Nota SAP 1928533, che include:
- Elenco delle dimensioni delle VM di Azure supportate per la distribuzione di software SAP
- Importanti informazioni sulla capacità per le dimensioni delle VM di Azure
- Software SAP e combinazioni di sistemi operativi e database supportati
- Versione del kernel SAP richiesta per Windows e Linux in Microsoft Azure
- La nota SAP 2015553 elenca i prerequisiti per le distribuzioni di software SAP supportate da SAP in Azure.
- Nota SAP 2002167 ha le impostazioni consigliate del sistema operativo per Red Hat Enterprise Linux 7.x
- Nota SAP 2772999 ha 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 informazioni aggiuntive sulla risoluzione dei problemi per l'estensione di monitoraggio avanzato di Azure per SAP.
- Sap Community Wiki include tutte le note 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
- High Availability Add-On Overview (Panoramica dei componenti aggiuntivi a disponibilità elevata)
- High Availability Add-On Administration (Amministrazione dei componenti aggiuntivi a disponibilità elevata)
- High Availability Add-On Reference (Riferimento dei componenti aggiuntivi a disponibilità elevata)
- Documentazione di RHEL specifica di Azure:
- Support Policies for RHEL High Availability Clusters - Microsoft Azure Virtual Machines as Cluster Members (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 del server applicazioni primarie (PAS) e delle istanze del server applicazioni aggiuntive (AAS) con le istanze di SAP ASCS/SCS e SAP ERS nella configurazione a disponibilità elevata. Per ridurre al minimo il numero di macchine virtuali per un singolo sistema SAP, è necessario installare PAS e AAS nello stesso host in cui sono in esecuzione SAP ASCS/SCS e SAP ERS. Con la configurazione di SAP ASCS/SCS nella configurazione del cluster a disponibilità elevata, si vuole che ANCHE PAS e AAS vengano gestiti dal cluster. La configurazione è fondamentalmente un'aggiunta alla configurazione del cluster SAP ASCS/SCS già configurata. In questa configurazione PAS e AAS verranno 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 presenta NFS in File di Azure o Azure NetApp Files per la directory dell'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 di istanza | Nome host virtuale | IP virtuale (porta probe) |
---|---|---|---|
ABAP SAP Central Services (ASCS) | 00 | sapascs | 10.90.90.10 (62000) |
Server di replica di accodamento (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 istanze di applicazioni SAP aggiuntive in macchine virtuali separate, se si vuole aumentare il numero di istanze.
Considerazioni importanti per la soluzione di ottimizzazione dei costi
- Con la configurazione del cluster SAP ASCS/SCS è possibile distribuire solo due istanze di dialogo, PAS e una AAS.
- Se si vuole aumentare il numero di istanze del sistema SAP con server applicazioni aggiuntivi (ad esempio sapa03 e sapa04), è possibile installarli in macchine virtuali separate. Con PAS e AAS installati in nomi host virtuali, è possibile installare un server applicazioni aggiuntivo usando il nome host fisico o virtuale in macchine virtuali separate. Per altre informazioni su come assegnare il nome host virtuale a una macchina virtuale, vedere il blog Usare i nomi host virtuali SAP con Linux in Azure.
- Con la distribuzione di PAS e AAS con la configurazione del cluster SAP ASCS/SCS, il numero di istanza di ASCS, ERS, PAS e AAS deve essere diverso.
- 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 altre macchine virtuali nel cluster non sono disponibili.
- Le istanze del dialogo (PAS e AAS) in esecuzione con la configurazione del cluster SAP ASCS/SCS devono essere installate usando il nome host virtuale.
- È necessario usare la stessa soluzione di archiviazione della configurazione del cluster SAP ASCS/SCS per distribuire anche le istanze di PAS e AAS. Ad esempio, se è stato configurato un cluster SAP ASCS/SCS usando NFS nei file di Azure, è necessario usare la stessa soluzione di archiviazione per distribuire PAS e AAS.
- La directory
/usr/sap/<SID>/D<nr>
dell'istanza di PAS e AAS deve essere montata nel file system NFS e verrà gestita come risorsa dal cluster.Nota
Per i sistemi SAP J2 edizione Enterprise non è supportato per l'uso
/usr/sap/<SID>/J<nr>
in NFS in File di Azure. - Per installare server applicazioni aggiuntivi in macchine virtuali separate, è possibile usare condivisioni NFS o disco gestito locale per il file system di directory dell'istanza. Se si installano server applicazioni aggiuntivi per il sistema SAP J2 edizione Enterprise,
/usr/sap/<SID>/J<nr>
in NFS in File di Azure non è supportato. - Nella configurazione tradizionale della 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 dell'ottimizzazione dei costi, l'istanza di PAS o AAS verrà riavviata quando si verifica un effetto su uno dei nodi del cluster.
- Fare riferimento a NFS in File di Azure considerazioni e considerazioni su Azure NetApp Files, come si applicano anche le stesse considerazioni per 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 verranno installati in un nome host virtuale e la relativa directory di istanza viene gestita dal cluster. In base all'archiviazione, seguire la procedura descritta nella guida seguente per configurare SAPInstance
la risorsa 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 ASCS, ERS e Istanza di database con SWPM, seguire questa procedura per installare le istanze di PAS e AAS.
Configurare Azure Load Balancer per PAS e AAS
Questo documento presuppone che il servizio di bilanciamento del carico per la configurazione del cluster SAP ASCS/SCS sia già stato configurato come descritto in Configurare il servizio di bilanciamento del carico di Azure. Nello stesso servizio di bilanciamento del carico di Azure seguire questa procedura per creare indirizzi IP front-end aggiuntivi e regole di bilanciamento del carico per PAS e AAS.
- Aprire il servizio di 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: il pool back-end rimane invariato, in quanto viene distribuito 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 ip front-end
- Pool back-end: selezionare il pool back-end
- Controllare "Porte a disponibilità elevata"
- Protocollo: TCP
- Probe di integrità: creare un probe di integrità con i dettagli seguenti (si applica sia per PAS che per AAS)
- Protocollo: TCP
- Porta: [ad esempio: 620<Instance-no.> per PAS, 620<Instance-no.> per AAS]
- Intervallo: 5
- Soglia probe: 2
- Timeout di inattività (minuti): 30
- Selezionare "Enable Floating IP" (Abilita IP mobile)
Nota
Il numero della proprietà di configurazione del probe di integritàOfProbes, altrimenti noto come "Soglia non integra" nel portale, non viene rispettato. Per controllare il numero di probe consecutivi riusciti o non riusciti, impostare la proprietà "probeThreshold" su 2. Attualmente non è possibile impostare questa proprietà usando portale di Azure, quindi usare l'interfaccia della riga di comando di Azure o il comando di PowerShell.
Importante
L'indirizzo IP mobile non è supportato in una configurazione IP secondaria della scheda di interfaccia di rete negli scenari di bilanciamento del carico. Per informazioni dettagliate, vedere Limitazioni del servizio di bilanciamento del carico di Azure. Se è necessario un indirizzo IP aggiuntivo per la macchina virtuale, distribuire una seconda scheda di interfaccia di rete.
Nota
Quando le macchine virtuali senza indirizzi IP pubblici vengono inserite nel pool back-end del Load Balancer interno standard di Azure (nessun indirizzo IP pubblico), non vi sarà connettività Internet in uscita, a meno che non venga eseguita una configurazione aggiuntiva per consentire il routing a endpoint pubblici. Per informazioni dettagliate 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à avranno esito negativo. Impostare il parametro net.ipv4.tcp_timestamps
su 0
. Per informazioni dettagliate, vedere Probe di integrità di Load Balancer.
Preparare i server per l'installazione di PAS e AAS
Gli elementi seguenti sono preceduti dall'indicazione [A] - applicabile a tutti i nodi, [1] - applicabile solo al nodo 1 o [2] - applicabile solo al nodo 2.
[A] Configurare la risoluzione del nome host
È possibile usare un server DNS o modificare /etc/hosts in tutti i nodi. Questo esempio mostra 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 temporaneamente la condivisione NFS sapnw1 in una delle macchine virtuali e creare le directory SAP che verranno usate come punti di montaggio annidati.
Se si usa, NFS nei 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 SWAP. Quando si installa l'istanza della finestra di dialogo con i servizi centrali, è necessario configurare più spazio di scambio.
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 del 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
Installazione dell'istanza SAP Netweaver PAS
[1] Controllare lo stato del cluster. Prima di configurare la 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 un file system, un indirizzo IP virtuale e una risorsa 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 in quale nodo 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 dopo il montaggio del
/usr/sap/SID/D02
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 servizio di bilanciamento del carico per il PAS, ad esempio sappas, 10.90.90.30 e il numero di istanza usato per il probe del servizio di 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
/usr/sap/sapservices
filePer impedire l'avvio delle istanze dallo script di avvio sapinit, tutte le istanze gestite da pacemaker devono essere impostate come commento dal
/usr/sap/sapservices
file.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 una 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 il vincolo per avviare il gruppo di risorse PAS solo dopo l'avvio delle istanze di ASCS.
sudo pcs constraint order g-NW1_ASCS then g-NW1_PAS kind=Optional symmetrical=false
Installazione dell'istanza di SAP Netweaver AAS
[2] Controllare lo stato del cluster. Prima di configurare la 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 un file system, un indirizzo IP virtuale e una risorsa probe di integrità per l'istanza di 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 in quale nodo sono in esecuzione le risorse. Quando si arresta g-NW1_PAS gruppo di risorse, tutte le risorse PAS saranno arrestate (disabilitate).
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 dopo il montaggio del
/usr/sap/SID/D03
file system.sudo chown nw1adm:sapsys /usr/sap/NW1/D03
[2] Installare SAP Netweaver AAS
Installare SAP NetWeaver AAS come radice nel secondo nodo usando un nome host virtuale mappato all'indirizzo IP della configurazione front-end del servizio di bilanciamento del carico per IL PAS, ad esempio sapaas, 10.90.90.31 e il numero di istanza usato per il probe del servizio di 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
/usr/sap/sapservices
filePer impedire l'avvio delle istanze dallo script di avvio sapinit, tutte le istanze gestite da pacemaker devono essere impostate come commento dal
/usr/sap/sapservices
file.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 il vincolo per avviare il gruppo di risorse AAS solo dopo l'avvio delle istanze di ASCS.
sudo pcs constraint order g-NW1_ASCS then g-NW1_AAS kind=Optional symmetrical=false
Post-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 di
$HOME/.hdb
<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 di PAS e AAS non vengano eseguite negli stessi nodi ogni volta che entrambi i nodi sono in esecuzione. Aggiungere un vincolo di corilevazione 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 consiste nel garantire che, se è disponibile un solo nodo, entrambe le istanze continuano a essere eseguite nell'altro nodo. Se si vuole mantenere inattiva l'istanza di AAS in tale situazione, è possibile usare per
score=-INFINITY
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. Eseguire i test di failover tipici.