Disponibilità elevata per SAP NetWeaver in macchine virtuali di Azure in 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 le 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 msnw1ascshost virtuale . Numero di istanza ERS 02 e nome msnw1ershost virtuale .
  • NW2: numero di istanza ASCS 10 e nome msnw2ascshost virtuale . Numero di istanza ERS 12 e nome msnw2ershost virtuale .
  • NW3: numero di istanza ASCS 20 e nome msnw3ascshost virtuale . Numero di istanza ERS 22 e nome msnw3ershost virtuale .

L'articolo non tratta il livello del database e la distribuzione delle condivisioni SAP NFS.

Gli esempi in questo articolo usano il volume sapMSID 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 NW1SAP , NW2e 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:

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

Diagram shows S A P NetWeaver High Availability overview with Pacemaker cluster and SAP NFS shares.

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à. Non è supportata una combinazione di SAP Enqueue Replication Server 1 e Enqueue Replication Server 2 nello stesso cluster. 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 implementare. Comporta anche un maggiore impegno amministrativo, 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 nomi host virtuali 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

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 posizionate nel pool back-end del servizio di bilanciamento del carico Standard di Azure (nessun indirizzo IP pubblico), non esiste connettività Internet in uscita, a meno che non venga eseguita una configurazione aggiuntiva per consentire il routing ai punti finali 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. L'abilitazione dei timestamp TCP causa l'esito negativo dei probe di integrità. 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 nei 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 in 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

Dopo aver deciso l'architettura per le condivisioni SAP, distribuire il primo sistema SAP nel cluster, seguendo la documentazione corrispondente.

Questi articoli illustrano la procedura 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 NW2 SAP 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. Esistono passaggi necessari solo durante la prima distribuzione del sistema.

Questo articolo presuppone quanto segue:

  • Il cluster Pacemaker è già configurato ed in esecuzione.
  • Almeno un sistema SAP (istanza ASCS/ERS) è già distribuito ed è in esecuzione nel cluster.
  • La funzionalità di failover del cluster è stata testata.
  • Vengono distribuite le condivisioni NFS per tutti i sistemi SAP.

Preparare l'installazione di SAP NetWeaver

  1. Aggiungere la configurazione per il sistema appena distribuito ( NW2 ovvero e NW3) al servizio Azure Load Balancer esistente, seguendo le istruzioni distribuire Azure Load Balancer manualmente tramite portale di Azure. Modificare gli indirizzi IP, le porte del probe di integrità e le regole di bilanciamento del carico per la configurazione.

  2. [A] Configurare la risoluzione dei nomi per altri sistemi SAP. È possibile usare il server DNS o modificare /etc/hosts in tutti i nodi. In questo esempio viene illustrato 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
    
  3. [A] Creare le directory condivise per i NW2 sistemi SAP e NW3 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
    
  4. [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 si tratta di NW2 e NW3.

    Aggiornare il file /etc/fstab con i file system per gli altri sistemi SAP da distribuire nel cluster.

Installare ASCS/ERS

  1. Creare le risorse del cluster probe di integrità e IP virtuale per le istanze ASCS degli altri sistemi SAP da distribuire nel cluster. Questo esempio usa NW2 e NW3 ASCS, usando 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.

  2. [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.52e il numero di istanza usato per il probe del servizio di bilanciamento del carico, ad esempio 10. Per il sistema NW3, il nome host virtuale è msnw3ascs, 10.3.1.54e il numero di istanza usato per il probe del servizio di bilanciamento del carico, ad esempio 20. Annotare il nodo del cluster installato ASCS per ogni SID SAP.

    È possibile usare il sapinst parametro SAPINST_REMOTE_ACCESS_USER per consentire a un utente non radice di connettersi a sapinst. È possibile usare il parametro SAPINST_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 of the ASCS<Instance#> e riprovare.

  3. [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 è per NW2 e NW3 ERS, 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, opposte 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 in rhelmsscl2. È possibile eseguire la migrazione del gruppo rhelmsscl2 NW2 ERS eseguendo il comando seguente per una delle risorse del cluster nel gruppo:

    pcs resource move fs_NW2_AERS rhelmsscl2
    
  4. [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.53e il numero di istanza usato per il probe del servizio di bilanciamento del carico, ad esempio 12. Per il sistema NW3, il nome msnw3ershost virtuale , 10.3.1.55e il numero di istanza usato per il probe del servizio di bilanciamento del carico, ad esempio 22.

    È possibile usare il sapinst parametro SAPINST_REMOTE_ACCESS_USER per consentire a un utente non radice di connettersi a sapinst. È possibile usare il parametro SAPINST_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 non riesce.

    Se l'installazione non riesce a creare una sottocartella in /usr/sap/<NW2>/ERS<Instance#>, provare a impostare il proprietario su <sid>adm e il gruppo su sapsys della cartella ERS<Instance#> 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 NW2 SAP e NW3. 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
    
  5. [1] Adattare i profili di istanza ASCS/SCS e ERS per i sistemi SAP appena installati. L'esempio riportato di seguito è relativo a NW2. È necessario adattare i profili ASCS/SCS e 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 keepalive sistema operativo 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
      
  6. [A] Aggiornare il file /usr/sap/sapservices .

    Per impedire l'avvio delle istanze dallo script di avvio sapinit , tutte le istanze gestite da Pacemaker devono essere impostate come commento dal file /usr/sap/sapservices . L'esempio illustrato di seguito è relativo ai sistemi NW2 SAP e NW3.

    # 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 aver installato o passato 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.

  7. [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 NW2 SAP e NW3 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 for enqueue server 2 support (Nota SAP 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 NW2 SAP e NW3 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 essere necessari per adattarsi 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. L'esempio seguente illustra lo stato delle risorse del cluster, dopo che i sistemi NW2 SAP e NW3 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
    
  8. [A] Aggiungere regole del firewall per ASCS e ERS in entrambi i nodi. L'esempio seguente illustra le regole del firewall sia per i sistemi NW2NW3SAP che per .

    # 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 in base a:

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:

Leggere sempre le guide alle procedure consigliate di Red Hat ed eseguire tutti gli altri test che potrebbero essere stati aggiunti. I test presentati si trovano in un cluster a due nodi multi-SID con tre sistemi SAP installati.

  1. Eseguire manualmente la migrazione dell'istanza di 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
    
  2. 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, in cui sono in esecuzione le istanze ASCS per NW1, NW2e NW3 .

    echo c > /proc/sysrq-trigger
    

    Lo stato dopo il test e dopo l'arresto anomalo del nodo è stato avviato di nuovo, 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 per le risorse non riuscite, pulire lo stato delle risorse non riuscite. Ad esempio:

    pcs resource cleanup rsc_sap_NW1_ERS02
    

Passaggi successivi

Per informazioni su come stabilire la disponibilità elevata e pianificare il ripristino di emergenza di SAP HANA nelle macchine virtuali di Azure, vedere Disponibilità elevata di SAP HANA in Azure Macchine virtuali (VM).