Disponibilità elevata per SAP NetWeaver su macchine virtuali di Azure su Red Hat Enterprise Linux per applicazioni SAP con più SID
Questo articolo descrive come distribuire più sistemi SAP NetWeaver a disponibilità elevata (multi SID) in un cluster a due nodi in macchine virtuali di Azure con Red Hat Enterprise Linux per applicazioni SAP.
Nelle configurazioni di esempio, tre sistemi SAP NetWeaver 7.50 vengono distribuiti in un singolo cluster a disponibilità elevata a due nodi. I SID dei sistemi SAP sono:
NW1
: numero di istanza ASCS 00 e nome host virtualemsnw1ascs
. Numero di istanza ERS 02 e nome host virtualemsnw1ers
.NW2
: numero di istanza ASCS 10 e nome host virtualemsnw2ascs
. Numero di istanza ERS 12 e nome host virtualemsnw2ers
.NW3
: numero di istanza ASCS 20 e nome host virtualemsnw3ascs
. Numero di istanza ERS 22 e nome host virtualemsnw3ers
.
L'articolo non tratta il livello del database e la distribuzione delle condivisioni SAP NFS.
Gli esempi di questo articolo usano sapMSID
volume di Azure NetApp Files per le condivisioni NFS, presupponendo che il volume sia già distribuito. Gli esempi presuppongono che il volume di Azure NetApp Files venga distribuito con il protocollo NFSv3. Usano i percorsi di file seguenti per le risorse del cluster per le istanze ASCS e ERS dei sistemi SAP NW1
, NW2
e NW3
:
- volume sapMSID (nfs://10.42.0.4/sapmntNW1)
- volume sapMSID (ascs nfs://10.42.0.4/usrsapNW1)
- volume sapMSID (nfs://10.42.0.4/usrsapNW1sys)
- volume sapMSID (nfs://10.42.0.4/usrsapNW1ers)
- volume sapMSID (nfs://10.42.0.4/sapmntNW2)
- volume sapMSID (nfs://10.42.0.4/usrsapNW2ascs)
- volume sapMSID (nfs://10.42.0.4/usrsapNW2sys)
- volume sapMSID (nfs://10.42.0.4/usrsapNW2ers)
- volume sapMSID (nfs://10.42.0.4/sapmntNW3)
- volume sapMSID (ascs nfs://10.42.0.4/usrsapNW3)
- volume sapMSID (nfs://10.42.0.4/usrsapNW3sys)
- volume sapMSID (nfs://10.42.0.4/usrsapNW3ers)
Prima di iniziare, fare riferimento alle note e ai documenti SAP seguenti:
- Nota SAP 1928533, contenente:
- Elenco delle dimensioni delle VM di Azure supportate per la distribuzione di 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 Microsoft Azure.
- Documentazione di Azure NetApp Files.
- La nota SAP 2015553 indica i prerequisiti per le distribuzioni di software SAP supportate da SAP in Azure.
- La nota SAP 2002167 indica le impostazioni del sistema operativo consigliate per Red Hat Enterprise Linux.
- 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:
- 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)
- Configurazione di ASCS/ERS per SAP Netweaver con risorse autonome in RHEL 7.5
- Configurare SAP S/4HANA ASCS/ERS con il Server di accodamento autonomo 2 (ENSA2) in Pacemaker in RHEL
- 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)
- Applicazioni NetApp SAP su Microsoft Azure con Azure NetApp Files
Panoramica
Le macchine virtuali che partecipano al cluster devono essere ridimensionate per poter eseguire tutte le risorse, nel caso in cui si verifichi il failover. Ogni SID SAP può eseguire il failover in modo indipendente l'uno dall'altro nel cluster a disponibilità elevata multi SID.
Per ottenere la disponibilità elevata, SAP NetWeaver richiede condivisioni a disponibilità elevata. Questo articolo illustra esempi con le condivisioni SAP distribuite nei volumi NFS di Azure NetApp Files. È invece possibile ospitare le condivisioni in un cluster GlusterFS a disponibilità elevata, che può essere usato da più sistemi SAP.
Importante
Il supporto per il clustering multi SID di SAP ASCS/ERS con Red Hat Linux come sistema operativo guest nelle macchine virtuali di Azure è limitato a cinque SID SAP nello stesso cluster. Ogni nuovo SID aumenta la complessità. La combinazione di SAP Enqueue Replication Server 1 ed Enqueue Replication Server 2 nello stesso cluster non è supportata. Il clustering multi SID descrive l'installazione di più istanze di SAP ASCS/ERS con SID diversi in un cluster Pacemaker. Attualmente il clustering multi SID è supportato solo per ASCS/ERS.
Suggerimento
Il clustering multi SID di SAP ASCS/ERS è una soluzione con maggiore complessità. È più complesso da implementare. Comporta anche un impegno amministrativo più elevato, quando si eseguono attività di manutenzione, ad esempio l'applicazione di patch al sistema operativo. Prima di avviare l'implementazione effettiva, pianificare attentamente la distribuzione e tutti i componenti coinvolti, ad esempio macchine virtuali, montaggi NFS, indirizzi VIP, configurazioni del servizio di bilanciamento del carico e così via.
SAP NetWeaver ASCS, SAP NetWeaver SCS e SAP NetWeaver ERS usano un nome host virtuale e indirizzi IP virtuali. In Azure è necessario un servizio di bilanciamento del carico per usare un indirizzo IP virtuale. È consigliabile usare Load Balancer Standard.
- Indirizzi IP front-end per ASCS: 10.3.1.50 (NW1), 10.3.1.52 (NW2) e 10.3.1.54 (NW3)
- Indirizzi IP front-end per ERS: 10.3.1.51 (NW1), 10.3.1.53 (NW2) e 10.3.1.55 (NW3)
- Porta probe 62000 per NW1 ASCS, 62010 per NW2 ASCS e 62020 per NW3 ASCS
- Porta probe 62102 per NW1 ASCS, 62112 per NW2 ASCS e 62122 per NW3 ASCS
Nota
Se vengono inserite macchine virtuali senza indirizzi IP pubblici nel pool back-end di Load Balancer Standard interno ad Azure (nessun indirizzo IP pubblico), non è presente alcuna 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à hanno esito negativo. Impostare il parametro net.ipv4.tcp_timestamps
su 0. Per altre informazioni, vedere Probe di integrità di Load Balancer.
Condivisioni SAP
SAP NetWeaver richiede l'archiviazione condivisa per il trasporto, la directory del profilo e così via. Per il sistema SAP a disponibilità elevata, è importante avere condivisioni a disponibilità elevata. È necessario decidere l'architettura per le condivisioni SAP. Un'opzione consiste nel distribuire le condivisioni in volumi NFS di Azure NetApp Files. Con Azure NetApp Files, si ottiene una disponibilità elevata predefinita per le condivisioni SAP NFS.
Un'altra opzione consiste nel compilare GlusterFS su macchine virtuali di Azure in Red Hat Enterprise Linux per SAP NetWeaver, che può essere condiviso tra più sistemi SAP.
Distribuire il primo sistema SAP nel cluster
Una volta decisa l'architettura per le condivisioni SAP, distribuire il primo sistema SAP nel cluster, seguendo la documentazione corrispondente.
- Se si usano volumi NFS di Azure NetApp Files, seguire Disponibilità elevata delle macchine virtuali di Azure per SAP NetWeaver in Red Hat Enterprise Linux con Azure NetApp Files per applicazioni SAP.
- Se si usa il cluster GlusterFS, seguire GlusterFS in VM di Azure in Red Hat Enterprise Linux per SAP NetWeaver.
Questi articoli illustrano i passaggi per preparare l’infrastruttura necessaria, compilare il cluster, preparare il sistema operativo per l'esecuzione dell'applicazione SAP.
Suggerimento
Testare sempre la funzionalità di failover del cluster, dopo la distribuzione del primo sistema, prima di aggiungere i SID SAP aggiuntivi al cluster. In questo modo si sa che la funzionalità del cluster funziona, prima di aggiungere la complessità di sistemi SAP aggiuntivi al cluster.
Distribuire più sistemi SAP nel cluster
In questo esempio si presuppone che il sistema NW1
sia già stato distribuito nel cluster. Questo esempio illustra come distribuire sistemi SAP NW2
e NW3
nel cluster.
Gli elementi seguenti sono preceduti da:
- [A] applicabile a tutti i nodi
- [1] applicabile solo al nodo 1
- [2] applicabile solo al nodo 2
Prerequisiti
Importante
Prima di seguire le istruzioni per distribuire sistemi SAP aggiuntivi nel cluster, distribuire il primo sistema SAP nel cluster. Alcuni passaggi sono necessari solo durante la prima distribuzione del sistema.
Questo articolo presuppone quanto segue:
- Il cluster Pacemaker sia già configurato e in esecuzione.
- Almeno un sistema SAP (istanza ASCS/ERS) sia già distribuito e in esecuzione nel cluster.
- La funzionalità di failover del cluster è stata testata.
- Sono distribuite le condivisioni NFS per tutti i sistemi SAP.
Prepararsi per l'installazione di SAP NetWeaver
Aggiungere la configurazione per il sistema appena distribuito, ovvero
NW2
eNW3
, all'istanza di Azure Load Balancer esistente, seguendo le istruzioni descritte in Distribuire manualmente Azure Load Balancer tramite il portale di Azure. Modificare gli indirizzi IP, le porte del probe di integrità e le regole di bilanciamento del carico per la configurazione.[A] Configurare la risoluzione dei nomi per altri sistemi SAP. È possibile usare un server DNS o modificare /etc/hosts in tutti i nodi. Questo esempio mostra come usare il file /etc/hosts. Adattare gli indirizzi IP e i nomi host all'ambiente.
sudo vi /etc/hosts # IP address of the load balancer frontend configuration for NW2 ASCS 10.3.1.52 msnw2ascs # IP address of the load balancer frontend configuration for NW3 ASCS 10.3.1.54 msnw3ascs # IP address of the load balancer frontend configuration for NW2 ERS 10.3.1.53 msnw2ers # IP address of the load balancer frontend configuration for NW3 ERS 10.3.1.55 msnw3ers
[A] Creare le directory condivise per i sistemi SAP
NW2
eNW3
da distribuire nel cluster.sudo mkdir -p /sapmnt/NW2 sudo mkdir -p /usr/sap/NW2/SYS sudo mkdir -p /usr/sap/NW2/ASCS10 sudo mkdir -p /usr/sap/NW2/ERS12 sudo mkdir -p /sapmnt/NW3 sudo mkdir -p /usr/sap/NW3/SYS sudo mkdir -p /usr/sap/NW3/ASCS20 sudo mkdir -p /usr/sap/NW3/ERS22 sudo chattr +i /sapmnt/NW2 sudo chattr +i /usr/sap/NW2/SYS sudo chattr +i /usr/sap/NW2/ASCS10 sudo chattr +i /usr/sap/NW2/ERS12 sudo chattr +i /sapmnt/NW3 sudo chattr +i /usr/sap/NW3/SYS sudo chattr +i /usr/sap/NW3/ASCS20 sudo chattr +i /usr/sap/NW3/ERS22
[A] Aggiungere le voci di montaggio per i file system /sapmnt/SID e /usr/sap/SID/SYS per gli altri sistemi SAP da distribuire nel cluster. In questo esempio è
NW2
eNW3
.Aggiornare il file
/etc/fstab
con i file system per gli altri sistemi SAP da distribuire nel cluster.- Se si usa Azure NetApp Files, seguire le istruzioni riportate in Disponibilità elevata delle macchine virtuali di Azure per SAP NW in RHEL con Azure NetApp Files.
- Se si usa il cluster GlusterFS, seguire le istruzioni riportate in Disponibilità elevata delle macchine virtuali di Azure per SAP NW in RHEL.
Installare ASCS/ERS
Creare le risorse del cluster probe di integrità e IP virtuale per le istanze ASCS degli altri sistemi SAP da distribuire nel cluster. In questo esempio viene usato ASCS
NW2
eNW3
, con NFS nei volumi di Azure NetApp Files con il protocollo NFSv3.sudo pcs resource create fs_NW2_ASCS Filesystem device='10.42.0.4:/sapMSIDR/usrsapNW2ascs' \ directory='/usr/sap/NW2/ASCS10' 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-NW2_ASCS sudo pcs resource create vip_NW2_ASCS IPaddr2 \ ip=10.3.1.52 \ --group g-NW2_ASCS sudo pcs resource create nc_NW2_ASCS azure-lb port=62010 \ --group g-NW2_ASCS sudo pcs resource create fs_NW3_ASCS Filesystem device='10.42.0.4:/sapMSIDR/usrsapNW3ascs' \ directory='/usr/sap/NW3/ASCS20' 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-NW3_ASCS sudo pcs resource create vip_NW3_ASCS IPaddr2 \ ip=10.3.1.54 \ --group g-NW3_ASCS sudo pcs resource create nc_NW3_ASCS azure-lb port=62020 \ --group g-NW3_ASCS
Assicurarsi che lo stato del cluster sia ok e che tutte le risorse siano avviate. Non è importante il nodo su cui sono in esecuzione le risorse.
[1] Installare SAP NetWeaver ASCS.
Installare SAP NetWeaver ASCS come radice usando un nome host virtuale mappato all'indirizzo IP della configurazione front-end del servizio di bilanciamento del carico per ASCS. Ad esempio, per il sistema
NW2
, il nome host virtuale èmsnw2ascs
,10.3.1.52
e il numero di istanza usato per il probe del servizio di bilanciamento del carico, ad esempio10
. Per il sistemaNW3
, il nome host virtuale èmsnw3ascs
,10.3.1.54
e il numero di istanza usato per il probe del servizio di bilanciamento del carico, ad esempio20
. Annotare il nodo del cluster su cui è stato installato ASCS per ogni SID SAP.È possibile usare il parametro
sapinst
SAPINST_REMOTE_ACCESS_USER
per consentire a un utente non radice di connettersi a sapinst. È possibile usare il parametroSAPINST_USE_HOSTNAME
per installare SAP usando il nome host virtuale.# Allow access to SWPM. This rule is not permanent. If you reboot the machine, you have to run the command again sudo firewall-cmd --zone=public --add-port=4237/tcp sudo swpm/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
Se l'installazione non riesce a creare una sottocartella in/usr/sap/<SID>/ASCS<Instance#>, provare a impostare il proprietario su <sid>adm e group su sapsys dell'ASCS<N. istanza> e riprovare.
[1] Creare un indirizzo IP virtuale e risorse del cluster probe di integrità per l'istanza ERS dell’altro sistema SAP che si sta distribuendo nel cluster. Questo esempio riporta ERS
NW2
eNW3
, usando NFS nei volumi di Azure NetApp Files con il protocollo NFSv3.sudo pcs resource create fs_NW2_AERS Filesystem device='10.42.0.4:/sapMSIDR/usrsapNW2ers' \ directory='/usr/sap/NW2/ERS12' 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-NW2_AERS sudo pcs resource create vip_NW2_AERS IPaddr2 \ ip=10.3.1.53 \ --group g-NW2_AERS sudo pcs resource create nc_NW2_AERS azure-lb port=62112 \ --group g-NW2_AERS sudo pcs resource create fs_NW3_AERS Filesystem device='10.42.0.4:/sapMSIDR/usrsapNW3ers' \ directory='/usr/sap/NW3/ERS22' 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-NW3_AERS sudo pcs resource create vip_NW3_AERS IPaddr2 \ ip=10.3.1.55 \ --group g-NW3_AERS sudo pcs resource create nc_NW3_AERS azure-lb port=62122 \ --group g-NW3_AERS
Assicurarsi che lo stato del cluster sia ok e che tutte le risorse siano avviate.
Assicurarsi quindi che le risorse del gruppo ERS appena creato siano in esecuzione nel nodo del cluster, opposto al nodo del cluster in cui è stata installata l'istanza ASCS per lo stesso sistema SAP. Ad esempio, se NW2 ASCS è stato installato in
rhelmsscl1
, verificare che il gruppo NW2 ERS sia in esecuzione inrhelmsscl2
. È possibile eseguire la migrazione del gruppo NW2 ERS surhelmsscl2
eseguendo il comando seguente per una delle risorse del cluster del gruppo:pcs resource move fs_NW2_AERS rhelmsscl2
[2] Installare SAP NetWeaver ERS.
Installare SAP NetWeaver ERS come radice nell'altro nodo usando un nome host virtuale mappato all'indirizzo IP della configurazione front-end del servizio di bilanciamento del carico per ERS. Ad esempio, per il sistema
NW2
, il nome host virtuale èmsnw2ers
,10.3.1.53
e il numero di istanza usato per il probe del servizio di bilanciamento del carico, ad esempio12
. Per il sistemaNW3
, il nome host virtuale èmsnw3ers
,10.3.1.55
e il numero di istanza usato per il probe del servizio di bilanciamento del carico, ad esempio22
.È possibile usare il parametro
sapinst
SAPINST_REMOTE_ACCESS_USER
per consentire a un utente non radice di connettersi a sapinst. È possibile usare il parametroSAPINST_USE_HOSTNAME
per installare SAP usando il nome host virtuale.# Allow access to SWPM. This rule is not permanent. If you reboot the machine, you have to run the command again sudo firewall-cmd --zone=public --add-port=4237/tcp sudo swpm/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
Nota
Usare SWPM SP 20 PL 05 o versione successiva. Le versioni precedenti non impostano correttamente le autorizzazioni e l'installazione ha esito negativo.
Se l'installazione non riesce a creare una sottocartella in /usr/sap/<NW2>/ERS<N. istanza>, provare a impostare il proprietario su <sid>adm e il gruppo su sapsys della cartella ERS<N. istanza> e riprovare.
Se è necessario eseguire la migrazione del gruppo ERS del sistema SAP appena distribuito in un nodo del cluster diverso, non dimenticare di rimuovere il vincolo di posizione per il gruppo ERS. È possibile rimuovere il vincolo eseguendo il comando seguente. Questo esempio viene fornito per i sistemi SAP
NW2
eNW3
. Assicurarsi di rimuovere i vincoli temporanei per la stessa risorsa usata nel comando per spostare il gruppo di cluster ERS.pcs resource clear fs_NW2_AERS pcs resource clear fs_NW3_AERS
[1] Adattare i profili di istanza ASCS/SCS ed ERS per i sistemi SAP appena installati. L'esempio riportato di seguito è relativo a
NW2
. È necessario adattare i profili ASCS/SCS ed ERS per tutte le istanze SAP aggiunte al cluster.Profilo ASCS/SCS
sudo vi /sapmnt/NW2/profile/NW2_ASCS10_msnw2ascs # Change the restart command to a start command #Restart_Program_01 = local $(_EN) pf=$(_PF) Start_Program_01 = local $(_EN) pf=$(_PF) # Add the keep alive parameter, if using ENSA1 enque/encni/set_so_keepalive = TRUE
Sia per ENSA1 che per ENSA2, assicurarsi che i parametri del sistema operativo
keepalive
siano impostati come descritto nella nota SAP 1410736.Profilo ERS
sudo vi /sapmnt/NW2/profile/NW2_ERS12_msnw2ers # Change the restart command to a start command #Restart_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID) Start_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID) # remove Autostart from ERS profile # Autostart = 1
[A] 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. L'esempio riportato di seguito è relativo ai sistemi SAP
NW2
eNW3
.# Depending on whether the SAP Startup framework is integrated with systemd, you may observe below entries on the node for ASCS instances. You should comment out the line(s). # LD_LIBRARY_PATH=/usr/sap/NW2/ASCS10/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW2/ASCS10/exe/sapstartsrv pf=/usr/sap/NW2/SYS/profile/NW2_ASCS10_msnw2ascs -D -u nw2adm # LD_LIBRARY_PATH=/usr/sap/NW3/ASCS20/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW3/ASCS20/exe/sapstartsrv pf=/usr/sap/NW3/SYS/profile/NW3_ASCS20_msnw3ascs -D -u nw3adm # systemctl --no-ask-password start SAPNW2_10 # sapstartsrv pf=/usr/sap/NW2/SYS/profile/NW2_ASCS10_msnw2ascs # systemctl --no-ask-password start SAPNW3_20 # sapstartsrv pf=/usr/sap/NW3/SYS/profile/NW3_ASCS20_msnw3ascs # Depending on whether the SAP Startup framework is integrated with systemd, you may observe below entries on the node for ERS instances. You should comment out the line(s). #LD_LIBRARY_PATH=/usr/sap/NW2/ERS12/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW2/ERS12/exe/sapstartsrv pf=/usr/sap/NW2/ERS12/profile/NW2_ERS12_msnw2ers -D -u nw2adm #LD_LIBRARY_PATH=/usr/sap/NW3/ERS22/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW3/ERS22/exe/sapstartsrv pf=/usr/sap/NW3/ERS22/profile/NW3_ERS22_msnw3ers -D -u nw3adm # systemctl --no-ask-password start SAPNW2_12 # sapstartsrv pf=/usr/sap/NW2/ERS12/profile/NW2_ERS12_msnw2ers # systemctl --no-ask-password start SAPNW3_22 # sapstartsrv pf=/usr/sap/NW3/ERS22/profile/NW3_ERS22_msnw3ers
Importante
Con SAP Startup Framework basato su sistema, le istanze SAP possono ora essere gestite da systemd. La versione minima richiesta di Red Hat Enterprise Linux (RHEL) è RHEL 8 per SAP. Come descritto in SAP Note 3115048, una nuova installazione di un kernel SAP con il supporto di SAP Startup Framework basato su sistema integrato comporterà sempre un'istanza SAP controllata dal sistema. Dopo un aggiornamento del kernel SAP di un'installazione SAP esistente a un kernel con supporto di SAP Startup Framework basato sul sistema, tuttavia, è necessario eseguire alcuni passaggi manuali come documentato nella nota SAP 3115048 per convertire l'ambiente di avvio SAP esistente in uno controllato dal sistema.
Quando si usano i servizi Red Hat a disponibilità elevata per SAP (configurazione del cluster) per gestire istanze del server applicazioni SAP, ad esempio SAP ASCS e SAP ERS, saranno necessarie ulteriori modifiche per garantire la compatibilità tra l'agente di risorse SAPInstance e il nuovo framework di avvio SAP basato su sistema. Quindi, dopo l'installazione o il passaggio a un kernel SAP abilitato al sistema in base alla nota SAP 3115048, i passaggi indicati in Red Hat KBA 6884531 devono essere completati correttamente in tutti i nodi del cluster.
[1] Creare le risorse del cluster SAP per il sistema SAP appena installato.
A seconda che si esegua un sistema ENSA1 o ENSA2, selezionare la rispettiva scheda per definire le risorse per i sistemi SAP
NW2
eNW3
come indicato di seguito. SAP ha introdotto il supporto per ENSA2, inclusa la replica, in SAP NetWeaver 7.52. A partire da ABAP Platform 1809, ENSA2 viene installato per impostazione predefinita. Per il supporto di ENSA2, vedere SAP Note 2630416 per il supporto del server 2 di accodamento.Se si usa l'architettura di accodamento server 2 (ENSA2), installare resource agent resource agent-agents-sap-4.1.1-12.el7.x86_64 o versione successiva e definire le risorse per i sistemi SAP
NW2
eNW3
come indicato di seguito:sudo pcs property set maintenance-mode=true sudo pcs resource create rsc_sap_NW2_ASCS10 SAPInstance \ InstanceName=NW2_ASCS10_msnw2ascs START_PROFILE="/sapmnt/NW2/profile/NW2_ASCS10_msnw2ascs" \ AUTOMATIC_RECOVER=false \ meta resource-stickiness=5000 migration-threshold=1 failure-timeout=60 \ op monitor interval=20 on-fail=restart timeout=60 \ op start interval=0 timeout=600 op stop interval=0 timeout=600 \ --group g-NW2_ASCS sudo pcs resource meta g-NW2_ASCS resource-stickiness=3000 sudo pcs resource create rsc_sap_NW2_ERS12 SAPInstance \ InstanceName=NW2_ERS12_msnw2ers START_PROFILE="/sapmnt/NW2/profile/NW2_ERS12_msnw2ers" \ AUTOMATIC_RECOVER=false IS_ERS=true \ op monitor interval=20 on-fail=restart timeout=60 op start interval=0 timeout=600 op stop interval=0 timeout=600 \ --group g-NW2_AERS sudo pcs constraint colocation add g-NW2_AERS with g-NW2_ASCS -5000 sudo pcs constraint location rsc_sap_NW2_ASCS10 rule score=2000 runs_ers_NW2 eq 1 sudo pcs constraint order start g-NW2_ASCS then stop g-NW2_AERS kind=Optional symmetrical=false sudo pcs resource create rsc_sap_NW3_ASCS20 SAPInstance \ InstanceName=NW3_ASCS20_msnw3ascs START_PROFILE="/sapmnt/NW3/profile/NW3_ASCS20_msnw3ascs" \ AUTOMATIC_RECOVER=false \ meta resource-stickiness=5000 migration-threshold=1 failure-timeout=60 \ op monitor interval=20 on-fail=restart timeout=60 \ op start interval=0 timeout=600 op stop interval=0 timeout=600 \ --group g-NW3_ASCS sudo pcs resource meta g-NW3_ASCS resource-stickiness=3000 sudo pcs resource create rsc_sap_NW3_ERS22 SAPInstance \ InstanceName=NW3_ERS22_msnw3ers START_PROFILE="/sapmnt/NW3/profile/NW2_ERS22_msnw3ers" \ AUTOMATIC_RECOVER=false IS_ERS=true \ op monitor interval=20 on-fail=restart timeout=60 op start interval=0 timeout=600 op stop interval=0 timeout=600 \ --group g-NW3_AERS sudo pcs constraint colocation add g-NW3_AERS with g-NW3_ASCS -5000 sudo pcs constraint location rsc_sap_NW3_ASCS20 rule score=2000 runs_ers_NW3 eq 1 sudo pcs constraint order start g-NW3_ASCS then stop g-NW3_AERS kind=Optional symmetrical=false sudo pcs property set maintenance-mode=false
Se si esegue l'aggiornamento da una versione precedente e si passa al server di accodamento 2, vedere la Nota SAP 2641019.
Nota
I timeout nella configurazione precedente sono solo esempi e potrebbero dover essere adattati alla configurazione SAP specifica.
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. Nell'esempio seguente viene illustrato lo stato delle risorse del cluster, dopo che i sistemi SAP
NW2
eNW3
sono stati aggiunti al cluster.sudo pcs status # Online: [ rhelmsscl1 rhelmsscl2 ] # Full list of resources: # rsc_st_azure (stonith:fence_azure_arm): Started rhelmsscl1 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started rhelmsscl1 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started rhelmsscl1 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started rhelmsscl1 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started rhelmsscl1 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started rhelmsscl2 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started rhelmsscl2 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started rhelmsscl2 # rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started rhelmsscl2 # Resource Group: g-NW2_ASCS # fs_NW2_ASCS (ocf::heartbeat:Filesystem): Started rhelmsscl1 # vip_NW2_ASCS (ocf::heartbeat:IPaddr2): Started rhelmsscl1 # nc_NW2_ASCS (ocf::heartbeat:azure-lb): Started rhelmsscl1 # rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance): Started rhelmsscl1 # Resource Group: g-NW2_AERS # fs_NW2_AERS (ocf::heartbeat:Filesystem): Started rhelmsscl1 # vip_NW2_AERS (ocf::heartbeat:IPaddr2): Started rhelmsscl1 # nc_NW2_AERS (ocf::heartbeat:azure-lb): Started rhelmsscl1 # rsc_sap_NW2_ERS12 (ocf::heartbeat:SAPInstance): Started rhelmsscl1 # Resource Group: g-NW3_ASCS # fs_NW3_ASCS (ocf::heartbeat:Filesystem): Started rhelmsscl1 # vip_NW3_ASCS (ocf::heartbeat:IPaddr2): Started rhelmsscl1 # nc_NW3_ASCS (ocf::heartbeat:azure-lb): Started rhelmsscl1 # rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance): Started rhelmsscl1 # Resource Group: g-NW3_AERS # fs_NW3_AERS (ocf::heartbeat:Filesystem): Started rhelmsscl1 # vip_NW3_AERS (ocf::heartbeat:IPaddr2): Started rhelmsscl1 # nc_NW3_AERS (ocf::heartbeat:azure-lb): Started rhelmsscl1 # rsc_sap_NW3_ERS22 (ocf::heartbeat:SAPInstance): Started rhelmsscl1
[A] Aggiungere regole del firewall per ASCS ed ERS in entrambi i nodi. L'esempio seguente illustra le regole del firewall per i sistemi SAP
NW2
eNW3
.# NW1 - ASCS sudo firewall-cmd --zone=public --add-port={62010,3210,3610,3910,8110,51013,51014,51016}/tcp --permanent sudo firewall-cmd --zone=public --add-port={62010,3210,3610,3910,8110,51013,51014,51016}/tcp # NW2 - ERS sudo firewall-cmd --zone=public --add-port={62112,3212,3312,51213,51214,51216}/tcp --permanent sudo firewall-cmd --zone=public --add-port={62112,3212,3312,51213,51214,51216}/tcp # NW3 - ASCS sudo firewall-cmd --zone=public --add-port={62020,3220,3620,3920,8120,52013,52014,52016}/tcp --permanent sudo firewall-cmd --zone=public --add-port={62020,3220,3620,3920,8120,52013,52014,52016}/tcp # NW3 - ERS sudo firewall-cmd --zone=public --add-port={62122,3222,3322,52213,52214,52216}/tcp --permanent sudo firewall-cmd --zone=public --add-port={62122,3222,3322,52213,52214,52216}/tcp
Procedere con l'installazione di SAP
Completare l'installazione di SAP tramite:
- Preparazione dei server applicazioni SAP NetWeaver.
- Installazione di un'istanza di DBMS.
- Installazione di un server applicazioni SAP primario.
- Installazione di una o più istanze ulteriori dell'applicazione SAP.
Testare la configurazione del cluster multi SID
I test seguenti sono un subset dei test case nelle guide alle procedure consigliate di Red Hat. Sono inclusi per comodità. Per l'elenco completo dei test del cluster, vedere la documentazione seguente:
- Se si usano volumi NFS di Azure NetApp Files, seguire Disponibilità elevata delle macchine virtuali di Azure per SAP NetWeaver in RHEL con Azure NetApp Files per applicazioni SAP.
- Se si usa
GlusterFS
a disponibilità elevata, seguire Disponibilità elevata delle macchine virtuali di Azure per SAP NetWeaver in RHEL per applicazioni SAP.
Leggere sempre le guide alle procedure consigliate su red Hat ed eseguire tutti gli altri test che potrebbero essere stati aggiunti. I test presentati si trovano in un cluster multi SID a due nodi con tre sistemi SAP installati.
Eseguire la migrazione manuale dell'istanza ASCS. L'esempio mostra la migrazione dell'istanza ASCS per il sistema SAP NW3.
Stato delle risorse prima dell'avvio del test:
Online: [ rhelmsscl1 rhelmsscl2 ] Full list of resources: rsc_st_azure (stonith:fence_azure_arm): Started rhelmsscl1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started rhelmsscl1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started rhelmsscl1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started rhelmsscl1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started rhelmsscl1 Resource Group: g-NW1_AERS fs_NW1_AERS (ocf::heartbeat:Filesystem): Started rhelmsscl2 vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started rhelmsscl2 nc_NW1_AERS (ocf::heartbeat:azure-lb): Started rhelmsscl2 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started rhelmsscl2 Resource Group: g-NW2_ASCS fs_NW2_ASCS (ocf::heartbeat:Filesystem): Started rhelmsscl2 vip_NW2_ASCS (ocf::heartbeat:IPaddr2): Started rhelmsscl2 nc_NW2_ASCS (ocf::heartbeat:azure-lb): Started rhelmsscl2 rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance): Started rhelmsscl2 Resource Group: g-NW2_AERS fs_NW2_AERS (ocf::heartbeat:Filesystem): Started rhelmsscl1 vip_NW2_AERS (ocf::heartbeat:IPaddr2): Started rhelmsscl1 nc_NW2_AERS (ocf::heartbeat:azure-lb): Started rhelmsscl1 rsc_sap_NW2_ERS12 (ocf::heartbeat:SAPInstance): Started rhelmsscl1 Resource Group: g-NW3_ASCS fs_NW3_ASCS (ocf::heartbeat:Filesystem): Started rhelmsscl2 vip_NW3_ASCS (ocf::heartbeat:IPaddr2): Started rhelmsscl2 nc_NW3_ASCS (ocf::heartbeat:azure-lb): Started rhelmsscl2 rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance): Started rhelmsscl2 Resource Group: g-NW3_AERS fs_NW3_AERS (ocf::heartbeat:Filesystem): Started rhelmsscl1 vip_NW3_AERS (ocf::heartbeat:IPaddr2): Started rhelmsscl1 nc_NW3_AERS (ocf::heartbeat:azure-lb): Started rhelmsscl1 rsc_sap_NW3_ERS22 (ocf::heartbeat:SAPInstance): Started rhelmsscl1
Eseguire i comandi seguenti come radice per eseguire la migrazione dell'istanza ASCS NW3.
pcs resource move rsc_sap_NW3_ASCS200 # Clear temporary migration constraints pcs resource clear rsc_sap_NW3_ASCS20 # Remove failed actions for the ERS that occurred as part of the migration pcs resource cleanup rsc_sap_NW3_ERS22
Stato delle risorse dopo il test:
Online: [ rhelmsscl1 rhelmsscl2 ] Full list of resources: rsc_st_azure (stonith:fence_azure_arm): Started rhelmsscl1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started rhelmsscl1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started rhelmsscl1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started rhelmsscl1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started rhelmsscl1 Resource Group: g-NW1_AERS fs_NW1_AERS (ocf::heartbeat:Filesystem): Started rhelmsscl2 vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started rhelmsscl2 nc_NW1_AERS (ocf::heartbeat:azure-lb): Started rhelmsscl2 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started rhelmsscl2 Resource Group: g-NW2_ASCS fs_NW2_ASCS (ocf::heartbeat:Filesystem): Started rhelmsscl2 vip_NW2_ASCS (ocf::heartbeat:IPaddr2): Started rhelmsscl2 nc_NW2_ASCS (ocf::heartbeat:azure-lb): Started rhelmsscl2 rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance): Started rhelmsscl2 Resource Group: g-NW2_AERS fs_NW2_AERS (ocf::heartbeat:Filesystem): Started rhelmsscl1 vip_NW2_AERS (ocf::heartbeat:IPaddr2): Started rhelmsscl1 nc_NW2_AERS (ocf::heartbeat:azure-lb): Started rhelmsscl1 rsc_sap_NW2_ERS12 (ocf::heartbeat:SAPInstance): Started rhelmsscl1 Resource Group: g-NW3_ASCS fs_NW3_ASCS (ocf::heartbeat:Filesystem): Started rhelmsscl1 vip_NW3_ASCS (ocf::heartbeat:IPaddr2): Started rhelmsscl1 nc_NW3_ASCS (ocf::heartbeat:azure-lb): Started rhelmsscl1 rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance): Started rhelmsscl1 Resource Group: g-NW3_AERS fs_NW3_AERS (ocf::heartbeat:Filesystem): Started rhelmsscl2 vip_NW3_AERS (ocf::heartbeat:IPaddr2): Started rhelmsscl2 nc_NW3_AERS (ocf::heartbeat:azure-lb): Started rhelmsscl2 rsc_sap_NW3_ERS22 (ocf::heartbeat:SAPInstance): Started rhelmsscl2
Simulare l'arresto anomalo del nodo.
Stato delle risorse prima dell'avvio del test:
Online: [ rhelmsscl1 rhelmsscl2 ] Full list of resources: rsc_st_azure (stonith:fence_azure_arm): Started rhelmsscl1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started rhelmsscl1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started rhelmsscl1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started rhelmsscl1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started rhelmsscl1 Resource Group: g-NW1_AERS fs_NW1_AERS (ocf::heartbeat:Filesystem): Started rhelmsscl2 vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started rhelmsscl2 nc_NW1_AERS (ocf::heartbeat:azure-lb): Started rhelmsscl2 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started rhelmsscl2 Resource Group: g-NW2_ASCS fs_NW2_ASCS (ocf::heartbeat:Filesystem): Started rhelmsscl1 vip_NW2_ASCS (ocf::heartbeat:IPaddr2): Started rhelmsscl1 nc_NW2_ASCS (ocf::heartbeat:azure-lb): Started rhelmsscl1 rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance): Started rhelmsscl1 Resource Group: g-NW2_AERS fs_NW2_AERS (ocf::heartbeat:Filesystem): Started rhelmsscl2 vip_NW2_AERS (ocf::heartbeat:IPaddr2): Started rhelmsscl2 nc_NW2_AERS (ocf::heartbeat:azure-lb): Started rhelmsscl2 rsc_sap_NW2_ERS12 (ocf::heartbeat:SAPInstance): Started rhelmsscl2 Resource Group: g-NW3_ASCS fs_NW3_ASCS (ocf::heartbeat:Filesystem): Started rhelmsscl1 vip_NW3_ASCS (ocf::heartbeat:IPaddr2): Started rhelmsscl1 nc_NW3_ASCS (ocf::heartbeat:azure-lb): Started rhelmsscl1 rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance): Started rhelmsscl1 Resource Group: g-NW3_AERS fs_NW3_AERS (ocf::heartbeat:Filesystem): Started rhelmsscl2 vip_NW3_AERS (ocf::heartbeat:IPaddr2): Started rhelmsscl2 nc_NW3_AERS (ocf::heartbeat:azure-lb): Started rhelmsscl2 rsc_sap_NW3_ERS22 (ocf::heartbeat:SAPInstance): Started rhelmsscl2
Eseguire il comando seguente come radice in un nodo in cui è in esecuzione almeno un'istanza ASCS. In questo esempio viene eseguito il comando in
rhelmsscl1
, dove sono in esecuzione le istanze ASCS perNW1
,NW2
eNW3
.echo c > /proc/sysrq-trigger
Lo stato dopo il test e dopo il riavvio del nodo che si è arrestato in modo anomalo, dovrebbe essere simile ai risultati seguenti:
Full list of resources: rsc_st_azure (stonith:fence_azure_arm): Started rhelmsscl2 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started rhelmsscl2 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started rhelmsscl2 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started rhelmsscl2 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started rhelmsscl2 Resource Group: g-NW1_AERS fs_NW1_AERS (ocf::heartbeat:Filesystem): Started rhelmsscl1 vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started rhelmsscl1 nc_NW1_AERS (ocf::heartbeat:azure-lb): Started rhelmsscl1 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started rhelmsscl1 Resource Group: g-NW2_ASCS fs_NW2_ASCS (ocf::heartbeat:Filesystem): Started rhelmsscl2 vip_NW2_ASCS (ocf::heartbeat:IPaddr2): Started rhelmsscl2 nc_NW2_ASCS (ocf::heartbeat:azure-lb): Started rhelmsscl2 rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance): Started rhelmsscl2 Resource Group: g-NW2_AERS fs_NW2_AERS (ocf::heartbeat:Filesystem): Started rhelmsscl1 vip_NW2_AERS (ocf::heartbeat:IPaddr2): Started rhelmsscl1 nc_NW2_AERS (ocf::heartbeat:azure-lb): Started rhelmsscl1 rsc_sap_NW2_ERS12 (ocf::heartbeat:SAPInstance): Started rhelmsscl1 Resource Group: g-NW3_ASCS fs_NW3_ASCS (ocf::heartbeat:Filesystem): Started rhelmsscl2 vip_NW3_ASCS (ocf::heartbeat:IPaddr2): Started rhelmsscl2 nc_NW3_ASCS (ocf::heartbeat:azure-lb): Started rhelmsscl2 rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance): Started rhelmsscl2 Resource Group: g-NW3_AERS fs_NW3_AERS (ocf::heartbeat:Filesystem): Started rhelmsscl1 vip_NW3_AERS (ocf::heartbeat:IPaddr2): Started rhelmsscl1 nc_NW3_AERS (ocf::heartbeat:azure-lb): Started rhelmsscl1 rsc_sap_NW3_ERS22 (ocf::heartbeat:SAPInstance): Started rhelmsscl1
Se sono presenti messaggi che indicano risorse in errore, pulire lo stato delle risorse che hanno dato errore. Ad esempio:
pcs resource cleanup rsc_sap_NW1_ERS02
Passaggi successivi
- Pianificazione e implementazione di macchine virtuali di Azure per SAP
- Distribuzione di Macchine virtuali di Azure per SAP
- Distribuzione DBMS di macchine virtuali di Azure per SAP
Per informazioni su come ottenere la disponibilità elevata e un piano di ripristino di emergenza di SAP HANA nelle macchine virtuali di Azure vedere Disponibilità elevata di SAP HANA nelle macchine virtuali di Azure (VM).