IBM Cloud Docs
Configurazione dell'alta disponibilità per SAP S/4HANA (ASCS e ERS) in un cluster Red Hat Enterprise Linux High Availability Add-On

Configurazione dell'alta disponibilità per SAP S/4HANA (ASCS e ERS) in un cluster Red Hat Enterprise Linux High Availability Add-On

Le seguenti informazioni descrivono la configurazione di ABAP SAP Central Services (ASCS) e di Enqueue Replication Server (ERS) in un cluster Red Hat Enterprise Linux (RHEL) High Availability Add-On. Il cluster utilizza istanze di server virtuali in IBM® Power® Virtual Server come nodi del cluster.

Questa configurazione di esempio si applica alla seconda generazione del server di accodamento autonomo, chiamato anche ENSA2.

A partire dalla versione 1809 di SAP S/4HANA, ENSA2 è installato di default e può essere configurato in un cluster a due o più nodi. Questo esempio utilizza la ENSA2 configurazione per un cluster RHEL HA Add-On a due nodi. Se il servizio ASCS si interrompe in un cluster a due nodi, si riavvia sul nodo in cui è in esecuzione l'istanza ERS. Le voci di blocco per l'applicazione " SAP " vengono quindi ripristinate dalla copia della tabella di blocco nell 'istanza ERS. Quando un amministratore attiva il nodo del cluster guasto, l'istanza ERS si sposta sull'altro nodo (anti-collocazione) per proteggere la sua copia della tabella di blocco.

Si consiglia di installare l'istanza del database SAP e altre istanze del server applicazioni SAP su istanze di server virtuali al di fuori del cluster a due nodi per ASCS ed ERS.

Prima di iniziare

Esaminare i requisiti generali, la documentazione del prodotto, gli articoli di supporto e le note SAP elencate in Implementing high availability for SAP applications on IBM Power Virtual Server References.

Prerequisiti

  • Queste informazioni descrivono una configurazione che utilizza volumi di archiviazione condivisibili accessibili su entrambi i nodi del cluster. Alcuni file system vengono creati su volumi di archiviazione condivisibili in modo che possano essere montati su entrambi i nodi del cluster. Questa configurazione si applica a entrambe le directory di istanze.

    • /usr/sap/<SID>/ASCS<INSTNO> dell'istanza ASCS.
    • /usr/sap/<SID>/ERS<INSTNO> dell'istanza ERS.

    Assicurati che i volumi di archiviazione creati per questi file system siano collegati a entrambe le istanze del server virtuale. SAP Durante l'installazione dell'istanza di RHEL HA e la configurazione del cluster Add-On, ogni directory dell'istanza deve essere montata sul nodo appropriato. HA-LVM assicura che ciascuna delle due directory di istanze sia montata su un solo nodo alla volta.

    Sono possibili diverse configurazioni di archiviazione per le directory di istanza, come i mount di tipo " NFS ". Le fasi di configurazione dell'archiviazione per l'archiviazione dei file o la creazione di risorse del file system cluster non sono descritte in questo documento.

  • I nomi host virtuali per le istanze ASCS ed ERS devono soddisfare i requisiti documentati in Hostnames of SAP ABAP Platform servers. Assicurarsi che gli indirizzi IP virtuali per le istanze di SAP siano assegnati a una scheda di rete e che possano comunicare nella rete.

  • SAP le istanze del server applicativo richiedono un file system condiviso comune, sapmnt /sapmnt/<SID> con accesso in lettura e scrittura, e altri file system condivisi come saptrans /usr/sap/trans. Questi file system sono generalmente forniti da un server di file system esterno ( NFS ). Il server NFS deve essere ad alta disponibilità e non deve essere installato su server virtuali che fanno parte del ENSA2 cluster.

    Configurazione di un server Active-Passive- NFS in un cluster High Availability(Red Hat) descrive l'implementazione di un server Active-Passive- NFS in un cluster RHEL HA Add-On con Red Hat Enterprise Linux 8 utilizzando istanze di server virtuali in Power Virtual Server. Il cluster RHEL HA Add-On per il server di NFS e attivo-passivo deve essere distribuito in un unico spazio di lavoro di Power Virtual Server.

Preparazione dei nodi per l'installazione di istanze ASCS ed ERS

Le seguenti informazioni descrivono come preparare i nodi per l'installazione delle istanze ASCS ed ERS dell' SAP.

Preparazione delle variabili di ambiente

Per semplificare la configurazione, preparare le seguenti variabili di ambiente per l' root e utente su entrambi i nodi del cluster. Queste variabili ambientali vengono utilizzate con i comandi del sistema operativo successivi in queste informazioni.

Su entrambi i nodi, impostare le seguenti variabili di ambiente.

# General settings
export SID=<SID>                   # SAP System ID (uppercase)
export sid=<sid>                   # SAP System ID (lowercase)

# ASCS instance
export ASCS_INSTNO=<INSTNO>        # ASCS instance number
export ASCS_VH=<virtual hostname>  # ASCS virtual hostname
export ASCS_IP=<IP address>        # ASCS virtual IP address
export ASCS_VG=<vg name>           # ASCS volume group name
export ASCS_LV=<lv name>           # ASCS logical volume name

# ERS instance
export ERS_INSTNO=<INSTNO>         # ERS instance number
export ERS_VH=<virtual hostname>   # ERS virtual hostname
export ERS_IP=<IP address>         # ERS virtual IP address
export ERS_VG=<vg name>            # ERS volume group name
export ERS_LV=<lv name>            # ERS logical volume name

# NFS settings
export NFS_SERVER="NFS server"           # Hostname or IP address of the highly available NFS server
export NFS_SHARE="NFS server directory"  # Exported file system directory on the NFS server
export NFS_OPTIONS="rw,sec=sys"          # Sample NFS client mount options

Si raccomanda di utilizzare nomi significativi per i gruppi di volumi e volumi logici che ne designano il contenuto. Ad esempio, includere SID e ascs o ers nel nome. Non utilizzare trattini nei nomi dei gruppi di volumi o dei volumi logici.

  • s01ascsvg e s01ascslv
  • s01ersvg e s01erslv

Assegnazione di indirizzi IP virtuali

Rivedere le informazioni in Riservare indirizzi IP virtuali.

Controllare se è presente l'indirizzo IP virtuale per l'istanza SAP. Altrimenti, è necessario identificare la scheda di rete corretta per assegnare l'indirizzo IP.

Su entrambi i nodi, controllare l'elenco degli indirizzi IP attualmente attivi.

ip -o -f inet address show | '/scope global/ {print $2, $4}'

Esempio di output del comando precedente.

# ip -o -f inet address show | awk '/scope global/ {print $2, $4}'
env2 10.51.0.66/24
env3 10.52.0.41/24
env4 10.111.1.28/24

Il nome del dispositivo della scheda di rete appare nella prima colonna. La seconda colonna elenca gli indirizzi IP attivi e il numero di bit riservati alla maschera di rete, separati da una barra.

Se l'indirizzo IP virtuale per l'istanza di SAP non è presente, assicurarsi che non sia impostato erroneamente su un'altra istanza di server virtuale.

Su NODE1, eseguire il seguente comando.

ping -c 3 ${ASCS_VH}

Output di esempio:

# ping -c 2 cl-sap-scs
PING cl-sap-scs (10.111.1.248) 56(84) bytes of data.
From cl-sap-1.tst.ibm.com (10.111.1.28) icmp_seq=1 Destination Host Unreachable
From cl-sap-1.tst.ibm.com (10.111.1.28) icmp_seq=2 Destination Host Unreachable

--- cl-sap-ers ping statistics ---
2 packets transmitted, 0 received, +2 errors, 100% packet loss, time 2112ms
pipe 3

Se l'output dell' ping e mostra " Destination Host Unreachable", l'indirizzo IP è disponibile ed è possibile assegnare l'alias IP all'istanza del server virtuale. Utilizzare il nome del dispositivo corretto env dell'adattatore di rete che corrisponde alla sottorete dell'indirizzo IP.

Comando di esempio su NODE1:

ip addr add ${ASCS_IP} dev env4

Comando di esempio su NODE2:

ip addr add ${ERS_IP} dev env4

A seconda della configurazione specifica della rete, il nome del dispositivo per l'adattatore di rete potrebbe essere diverso.

L'indirizzo IP è necessario per l'installazione dell' SAP, e viene impostato manualmente. Successivamente, gli indirizzi IP virtuali vengono controllati dall'add-on HA Cluster dell' Red Hat.

Preparazione di gruppi di volumi, volumi logici e file system condivisi

Lo storage condiviso è una risorsa importante in un ENSA2 cluster. ASCS ed ERS devono poter essere eseguiti su entrambi i nodi e il loro ambiente di runtime è memorizzato nei volumi di archiviazione condivisi. Tutti i nodi del cluster devono accedere ai volumi di archiviazione condivisi, ma solo un nodo ha accesso esclusivo in lettura e scrittura a un volume.

Preparazione delle impostazioni di Logical Volume Manager per l'alta disponibilità

Modificare il file /etc/lvm/lvm.conf per includere l'ID di sistema nel gruppo di volumi.

Su entrambi i nodi, modificare il file lvm.conf.

vi /etc/lvm/lvm.conf

Cerca il parametro " system_id_source " e cambia il suo valore in " uname".

Impostazione di esempio per il parametro " system_id_source " in etc/lvm/lvm.conf.

system_id_source = "uname"

Identificazione dei nomi World Wide dei volumi di archiviazione condivisi

Determinare il nome WWN (World Wide Name) per ogni volume di archiviazione che fa parte di uno dei gruppi di volumi condivisi.

  1. Accedi a IBM Cloud® per visualizzare i volumi di archiviazione su Power Virtual Server.

  2. Selezionare l'area di lavoro.

  3. Filtra il prefisso del volume nell 'elenco dei volumi di archiviazione e identifica tutti i nomi World Wide dei volumi che rientrano nell'ambito delle istanze ASCS ed ERS. Il nome mondiale è un numero esadecimale a 32 cifre.

    Assicurati che l'attributo Condivisibile sia attivo per quei volumi.

Nella vista Istanze del server virtuale, vai a entrambe le istanze del server virtuale del cluster. Verificare che tutti i volumi che rientrano nell'ambito di ASCS ed ERS siano collegati a entrambe le istanze del server virtuale.

Quando si collega un nuovo volume di archiviazione a un'istanza di server virtuale, assicurarsi di ripetere la scansione del bus SCSI per rilevare il nuovo volume. Successivamente, aggiornare la configurazione multipath dell'istanza del server virtuale.

Sui nodi con nuovi allegati di volume di archiviazione, eseguire il seguente comando.

rescan-scsi-bus.sh && sleep 10 && multipathd reconfigure

Accedere a entrambi i nodi del cluster e aggiungere il WWN alle variabili di ambiente dell'utente root.

Utilizzare il comando " pvs --all " per determinare i valori WWN appropriati.

Su NODE1, esportare la variabile d'ambiente ASCS_PVID.

export ASCS_PVID=3<WWN>  # WWN of shared storage volume for ASCS

Su NODE2, esportare la variabile d'ambiente ERS_PVID.

export ERS_PVID=3<WWN>   # WWN of shared storage volume for ERS

Assicurati di impostare la variabile di ambiente utilizzando il numero esadecimale con lettere minuscole.

Creazione di volumi fisici

Su NODE1, eseguire il seguente comando.

pvcreate /dev/mapper/${ASCS_PVID}

Output di esempio:

# pvcreate /dev/mapper/${ASCS_PVID}
  Physical volume "/dev/mapper/360050768108103357000000000002ddc" successfully created.

Su NODE2, eseguire il seguente comando.

pvcreate /dev/mapper/${ERS_PVID}

Output di esempio:

# pvcreate /dev/mapper/${ERS_PVID}
  Physical volume "/dev/mapper/360050768108103357000000000002e31" successfully created.

Creazione di gruppi di volumi

Creare il gruppo di volumi per l'ASCS.

Su NODE1, eseguire il seguente comando.

vgcreate ${ASCS_VG} /dev/mapper/${ASCS_PVID}

Verificare che l'ID sistema sia impostato.

vgs -o+systemid

Output di esempio:

# vgs -o+systemid
  VG          #PV #LV #SN Attr   VSize   VFree   System ID
  s01ascsvg     1   0   0 wz--n- <50.00g <50.00g cl-sap-1

Creare il gruppo di volumi per l'ERS.

Su NODE2, eseguire il seguente comando.

vgcreate ${ERS_VG} /dev/mapper/${ERS_PVID}

Verificare che l'ID sistema sia impostato.

Output di esempio:

# vgs -o+systemid
  VG          #PV #LV #SN Attr   VSize   VFree   System ID
  s01ersvg     1   0   0 wz--n- <50.00g <50.00g cl-sap-2

Creazione di volumi logici e file system

Creare il volume logico per l'ASCS e formattarlo come file system XFS.

Su NODE1, eseguire i seguenti comandi.

lvcreate -l 100%FREE -n ${ASCS_LV} ${ASCS_VG}
mkfs.xfs /dev/${ASCS_VG}/${ASCS_LV}

Creare il volume logico per l'ERS e formattarlo come file system XFS.

Su NODE2, eseguire i seguenti comandi.

lvcreate -l 100%FREE -n ${ERS_LV} ${ERS_VG}
mkfs.xfs /dev/${ERS_VG}/${ERS_LV}

Assicurarsi che un gruppo di volumi non sia attivato su più nodi cluster

I gruppi di volume gestiti dal cluster non devono attivarsi automaticamente all'avvio.

Per RHEL 8.5 e versioni successive, disabilitare l'attivazione automatica quando si crea il gruppo di volumi specificando il flag --setautoactivation n sul comando vgcreate.

Su entrambi i nodi, modificare il file " /etc/lvm/lvm.conf " e modificare la voce " auto_activation_volume_list " per limitare l'attivazione automatica a gruppi di volumi specifici.

vi /etc/lvm/lvm.conf

Individua il parametro " auto_activation_volume_list " e aggiungi a questo elenco tutti i gruppi di volumi tranne quello che hai definito per il cluster " NFS ".

Ecco un esempio di come impostare la voce " auto_activation_volume_list " in /etc/lvm/lvm.conf:

auto_activation_volume_list = [ "rhel_root" ]

Ricostruisci l'immagine di avvio initramfs per assicurarti che l'immagine di avvio non attivi un gruppo di volumi controllato dal cluster.

Su entrambi i nodi, eseguire il seguente comando.

dracut -H -f /boot/initramfs-$(uname -r).img $(uname -r)

Riavvia entrambi i nodi.

Montaggio dei file system per l'installazione dell' SAP

Attivare i gruppi di volumi e montare i file system di istanza dell' SAP.

Su ASCS ( NODE1 ), eseguire i seguenti comandi.

vgchange -a y ${ASCS_VG}
mkdir -p /usr/sap/${SID}/ASCS${ASCS_INSTNO}
mount /dev/${ASCS_VG}/${ASCS_LV} /usr/sap/${SID}/ASCS${ASCS_INSTNO}

Su un NODE2, eseguire i seguenti comandi.

vgchange -a y ${ERS_VG}
mkdir -p /usr/sap/${SID}/ERS${ERS_INSTNO}
mount /dev/${ERS_VG}/${ERS_LV} /usr/sap/${SID}/ERS${ERS_INSTNO}

Montaggio dei file system richiesti ( NFS )

Su entrambi i nodi, assicurarsi che i file system di NFS /sapmnt e /usr/sap/trans siano montati.

mount | grep nfs

Creazione di punti di montaggio ASCS ed ERS sull'altro nodo

Creare i punti di montaggio per i file system delle istanze e regolarne la proprietà.

Su NODE1, eseguire i seguenti comandi.

mkdir /usr/sap/${SID}/ERS${ERS_INSTNO}
chown ${sid}adm:sapsys /usr/sap/${SID}/ERS${ERS_INSTNO}

Su NODE2, eseguire i seguenti comandi.

mkdir /usr/sap/${SID}/ASCS${ASCS_INSTNO}
chown ${sid}adm:sapsys /usr/sap/${SID}/ASCS${ASCS_INSTNO}

Installazione delle istanze ASCS ed ERS

Utilizzare il software Volvo Parts Manager ( SAP Software Provisioning Manager, SWPM) per installare entrambe le istanze.

  • Installare istanze di " SAP " sui nodi del cluster.

    • Installare un'istanza ASCS su NODE1 utilizzando il nome host virtuale ${ASCS_VH} associato all'indirizzo IP virtuale per ASCS:
    <swpm>/sapinst SAPINST_USE_HOSTNAME=${ASCS_VH}
    
    • Installare un'istanza ERS su NODE2 utilizzando il nome host virtuale ${ERS_VH} associato all'indirizzo IP virtuale per ERS:
    <swpm>/sapinst SAPINST_USE_HOSTNAME=${ERS_VH}
    
  • Installare tutte le altre istanze dell'applicazione " SAP " al di fuori del cluster.

Installazione e configurazione del cluster RHEL HA Add-On

Installare e configurare il cluster RHEL HA Add-On seguendo la procedura di implementazione di un cluster Red Hat Enterprise Linux High Availability Add-On.

Configurare e testare la recinzione come descritto in Creazione del dispositivo di recinzione.

Preparazione delle istanze ASCS ed ERS per l'integrazione del cluster

Per preparare le istanze di SAP per l'integrazione del cluster, procedere come segue.

Disabilitazione dell'avvio automatico degli agenti di istanza SAP per ASCS e ERS

È necessario disabilitare l'avvio automatico degli agenti dell'istanza sapstartsrv per entrambe le istanze ASCS e ERS dopo un riavvio.

Verifica del tipo di integrazione dell'agente dell'istanza SAP

Le versioni recenti dell'agente di istanza SAP sapstartsrv forniscono il supporto nativo di systemd su Linux. Per ulteriori informazioni, consultare le note di SAP elencate in SAP Notes.

Su entrambi i nodi, verificare il contenuto del file /usr/sap/sapservices.

cat /usr/sap/sapservices

Nel formato systemd, le righe iniziano con le voci systemctl.

Esempio:

systemctl --no-ask-password start SAPS01_01 # sapstartsrv pf=/usr/sap/S01/SYS/profile/S01_ASCS01_cl-sap-scs

Se le voci per ASCS e ERS sono in formato systemd, continuare con i passaggi in Disabilitazione dei servizi systemd dell'istanza di ASCS e ERS SAP.

Nel formato classic, le righe iniziano con le voci LD_LIBRARY_PATH.

Esempio:

LD_LIBRARY_PATH=/usr/sap/S01/ASCS01/exe:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH;/usr/sap/S01/ASCS01/exe/sapstartsrv pf=/usr/sap/S01/SYS/profile/S01_ASCS01_cl-sap-scs -D -u s01adm

Se le voci per ASCS ed ERS sono in formato classic, modificare il file /usr/sap/sapservices per impedire l'avvio automatico dell'agente di istanza sapstartsrv per entrambe le istanze ASCS ed ERS dopo un riavvio.

Su entrambi i nodi, rimuovere o commentare le voci sapstartsrv per ASCS e ERS nel file dei servizi SAP.

sed -i -e 's/^LD_LIBRARY_PATH=/#LD_LIBRARY_PATH=/' /usr/sap/sapservices

Esempio:

#LD_LIBRARY_PATH=/usr/sap/S01/ASCS01/exe:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH;/usr/sap/S01/ASCS01/exe/sapstartsrv pf=/usr/sap/S01/SYS/profile/S01_ASCS01_cl-sap-scs -D -u s01adm

Procedere con l'installazione delle chiavi di licenza permanenti di SAP.

Disabilitazione dei servizi systemd delle istanze ASCS e ERS

Su entrambi i nodi, disattivare l'agente di istanza per l'ASCS.

systemctl disable --now SAP${SID}_${ASCS_INSTNO}.service

Su entrambi i nodi, disattivare l'agente di istanza per l'ERS.

systemctl disable --now SAP${SID}_${ERS_INSTNO}.service

Disabilitazione del riavvio di systemd di un'istanza ASCS o ERS in crash

Systemd ha i suoi meccanismi per riavviare un servizio in crash. In una configurazione ad alta disponibilità, solo il cluster HA è responsabile della gestione delle istanze SAP ASCS ed ERS. Creare systemd drop-in files su entrambi i nodi del cluster per evitare che systemd riavvii un'istanza di SAP in crash.

Su entrambi i nodi, creare le directory per i file di drop-in.

mkdir /etc/systemd/system/SAP${SID}_${ASCS_INSTNO}.service.d
mkdir /etc/systemd/system/SAP${SID}_${ERS_INSTNO}.service.d

Su entrambi i nodi, creare i file drop-in per ASCS e ERS.

cat >> /etc/systemd/system/SAP${SID}_${ASCS_INSTNO}.service.d/HA.conf << EOT
[Service]
Restart=no
EOT
cat >> /etc/systemd/system/SAP${SID}_${ERS_INSTNO}.service.d/HA.conf << EOT
[Service]
Restart=no
EOT

Restart=no deve essere nella sezione [Service] e i file di drop-in devono essere disponibili su tutti i nodi del cluster.

Su entrambi i nodi, ricaricare i file dell'unità systemd.

systemctl daemon-reload

Installazione delle chiavi di licenza permanenti di SAP

Quando l'istanza di SAP ASCS è installata su un'istanza di Power Virtual Server, il meccanismo di licenza di SAP si basa sull'UUID della partizione. Per ulteriori informazioni, consultare la nota SAP 2879336 - Chiave hardware basata su un ID univoco.

Su entrambi i nodi, eseguire il seguente comando come utente <sid>adm per identificare l'indirizzo HARDWARE KEY del nodo.

sudo -i -u ${sid}adm -- sh -c 'saplikey -get'

Output di esempio:

$ sudo -i -u ${sid}adm -- sh -c 'saplikey -get'

saplikey: HARDWARE KEY = H1428224519

Si noti il sito HARDWARE KEY di ciascun nodo.

Sono necessarie entrambe le chiavi hardware per richiedere due diverse chiavi di licenza SAP. Per ulteriori informazioni sulla richiesta di chiavi di licenza SAP, consultare le seguenti note SAP:

Installazione degli agenti di risorse SAP

Installare i pacchetti software richiesti. Il sito resource-agents-sap include l' agente di risorse cluster SAPInstance per la gestione delle istanze SAP.

A meno che sap_cluster_connector non sia configurato per l'istanza SAP, il cluster RHEL HA Add-On considera qualsiasi cambiamento di stato dell'istanza come un problema. Se per gestire l'istanza si utilizzano altri strumenti di SAP, come sapcontrol, allora sap_cluster_connector concede il permesso di controllare le istanze di SAP in esecuzione all'interno del cluster. Se le istanze di SAP sono gestite solo dagli strumenti del cluster, l'implementazione di sap_cluster_connector non è necessario.

Installare i pacchetti per l'agente delle risorse e la libreria SAP Cluster Connector. Per maggiori informazioni, vedere Come abilitare l'interfaccia SAP HA per le istanze di SAP ABAP application server gestite da RHEL HA Add-On

Su entrambi i nodi, eseguire i seguenti comandi.

Se necessario, usare subscription-manager per abilitare il repository SAP NetWeaver. La documentazione di RHEL per SAP Subscriptions and Repositories descrive come abilitare i repository richiesti.

subscription-manager repos --enable="rhel-8-for-ppc64le-sap-netweaver-e4s-rpms"

Installa i pacchetti richiesti.

dnf install -y resource-agents-sap  sap-cluster-connector

Configurazione di SAP Cluster Connector

Aggiungere l'utente ${sid}adm al gruppo haclient.

Su entrambi i nodi, eseguire il seguente comando.

usermod -a -G haclient ${sid}adm

Adattare i profili di istanza di SAP

Modificare i profili di avvio di tutte le istanze di SAP gestite da strumenti di SAP esterni al cluster. Entrambe le istanze ASCS e ERS possono essere controllate dal cluster RHEL HA Add-On e dai suoi agenti di risorse. Regolare i profili di istanza SAP per evitare il riavvio automatico dei processi di istanza.

Su NODE1, navigare nella directory del profilo SAP.

cd /sapmnt/${SID}/profile

Cambiare tutte le occorrenze di Restart_Program in Start_Program nel profilo di istanza di ASCS e ERS.

sed -i -e 's/Restart_Program_\([0-9][0-9]\)/Start_Program_\1/' ${SID}_ASCS${ASCS_INSTNO}_${ASCS_VH}
sed -i -e 's/Restart_Program_\([0-9][0-9]\)/Start_Program_\1/' ${SID}_ERS${ERS_INSTNO}_${ERS_VH}

Aggiungere le due righe seguenti alla fine del profilo dell'istanza SAP per configurare sap_cluster_connector per le istanze ASCS e ERS.

service/halib = $(DIR_EXECUTABLE)/saphascriptco.so
service/halib_cluster_connector = /usr/bin/sap_cluster_connector

Configurazione delle risorse dei cluster ASCS ed ERS

Fino a questo punto, si presuppone quanto segue:

  • Un cluster aggiuntivo RHEL HA è in esecuzione su entrambe le istanze del server virtuale ed è stato testato il fencing dei nodi.
  • Il sistema di controllo elettronico della trasmissione ( SAP ) è in funzione.
    • SAP ASCS è installato e attivo sul nodo 1 del cluster.
    • SAP ERS è installato e attivo sul nodo 2 del cluster.
  • Tutte le fasi di Preparazione delle istanze ASCS ed ERS per l'integrazione del cluster sono state completate.

Configurazione delle risorse del cluster SAPMNT

Creare una risorsa di cluster del filesystem clonata per montare la condivisione SAPMNT da un server di file di sistema ( NFS ) esterno a tutti i nodi del cluster.

Assicurati che la variabile d'ambiente ${NFS_VH} sia impostata sul nome host virtuale del server NFS e che ${NFS_OPTIONS} sia impostato sulle opzioni di montaggio desiderate.

Su NODE1, eseguire il seguente comando.

pcs resource create fs_sapmnt Filesystem \
    device="${NFS_VH}:/${SID}/sapmnt" \
    directory="/sapmnt/${SID}" \
    fstype='nfs' \
    options="${NFS_OPTIONS}" \
    clone interleave=true

Configurazione del gruppo di risorse ASCS

Creare una risorsa per l'indirizzo IP virtuale dell'ASCS.

Su NODE1, eseguire il seguente comando.

pcs resource create ${sid}_vip_ascs${ASCS_INSTNO} IPaddr2 \
    ip=${ASCS_IP} \
    --group ${sid}_ascs${ASCS_INSTNO}_group

In questo esempio di creazione di risorse per un file system HA-LVM su un volume di archiviazione condiviso, si creano risorse per l'attivazione LVM e per il file system di istanza dell'ASCS.

pcs resource create ${sid}_fs_ascs${ASCS_INSTNO}_lvm LVM-activate \
    vgname="${ASCS_VG}" \
    vg_access_mode=system_id \
    --group ${sid}_ascs${ASCS_INSTNO}_group
pcs resource create ${sid}_fs_ascs${ASCS_INSTNO} Filesystem \
    device="/dev/mapper/${ASCS_VG}-${ASCS_LV}" \
    directory=/usr/sap/${SID}/ASCS${ASCS_INSTNO} \
    fstype=xfs \
    --group ${sid}_ascs${ASCS_INSTNO}_group

Nell'esempio alternativo in cui il file system di istanza dell'ASCS è fornito da un server HA- NFS, è richiesta solo la risorsa del file system. Assicurati di aver definito la variabile d'ambiente ${NFS_VH} in base al tuo server NFS e di aver creato una directory ${SID}/ASCS sotto la directory principale NFS durante l'installazione SAP dell'istanza ASCS.

pcs resource create ${sid}_fs_ascs${ASCS_INSTNO} Filesystem \
    device="${NFS_VH}:${SID}/ASCS" \
    directory=/usr/sap/${SID}/ASCS${ASCS_INSTNO} \
    fstype=nfs \
    options="${NFS_OPTIONS}" \
    force_unmount=safe \
    op start interval=0 timeout=60 \
    op stop interval=0 timeout=120 \
    --group ${sid}_ascs${ASCS_INSTNO}_group

Creare una risorsa per la gestione dell' istanza ASCS.

pcs resource create ${sid}_ascs${ASCS_INSTNO} SAPInstance \
    InstanceName="${SID}_ASCS${ASCS_INSTNO}_${ASCS_VH}" \
    START_PROFILE=/sapmnt/${SID}/profile/${SID}_ASCS${ASCS_INSTNO}_${ASCS_VH} \
    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 ${sid}_ascs${ASCS_INSTNO}_group

L'opzione " meta resource-stickiness=5000 " viene utilizzata per bilanciare il vincolo di failover con ERS in modo che la risorsa rimanga sul nodo in cui è stata avviata e non migri in modo incontrollato nel cluster.

Aggiungere una risorsa di tipo "stickiness" al gruppo per assicurarsi che l'ASCS rimanga sul nodo.

pcs resource meta ${sid}_ascs${ASCS_INSTNO}_group \
    resource-stickiness=3000

Configurazione del gruppo di risorse ERS

Creare una risorsa per l'indirizzo IP virtuale dell'ERS.

Su NODE1, eseguire il seguente comando.

pcs resource create ${sid}_vip_ers${ERS_INSTNO} IPaddr2 \
    ip=${ERS_IP} \
    --group ${sid}_ers${ERS_INSTNO}_group

Nell'esempio della creazione di risorse per un file system HA-LVM su un volume di archiviazione condiviso, si creano risorse per l'attivazione di LVM e per il file system di istanza dell'ERS.

pcs resource create ${sid}_fs_ers${ERS_INSTNO}_lvm LVM-activate \
    vgname="${ERS_VG}" \
    vg_access_mode=system_id \
    --group ${sid}_ers${ERS_INSTNO}_group
pcs resource create ${sid}_fs_ers${ERS_INSTNO} Filesystem \
    device="/dev/mapper/${ERS_VG}-${ERS_LV}" \
    directory=/usr/sap/${SID}/ERS${ERS_INSTNO} \
    fstype=xfs \
    --group ${sid}_ers${ERS_INSTNO}_group

Nell'esempio alternativo in cui il file system di istanza dell'ERS è fornito da un server HA ( NFS ), è richiesta solo la risorsa del file system. Assicurati di aver definito la variabile d'ambiente ${NFS_VH} in base al tuo server NFS e di aver creato una directory ${SID}/ERS sotto la directory principale NFS durante l'installazione SAP dell'istanza ERS.

pcs resource create ${sid}_fs_ers${ERS_INSTNO} Filesystem \
    device="${NFS_VH}:${SID}/ERS" \
    directory=/usr/sap/${SID}/ERS${ERS_INSTNO} \
    fstype=nfs \
    options="${NFS_OPTIONS}" \
    force_unmount=safe \
    op start interval=0 timeout=60 \
    op stop interval=0 timeout=120 \
    --group ${sid}_ers${ERS_INSTNO}_group

Creare una risorsa per la gestione dell'istanza ERS.

pcs resource create ${sid}_ers${ERS_INSTNO} SAPInstance \
    InstanceName="${SID}_ERS${ERS_INSTNO}_${ERS_VH}" \
    START_PROFILE=/sapmnt/${SID}/profile/${SID}_ERS${ERS_INSTNO}_${ERS_VH} \
    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 ${sid}_ers${ERS_INSTNO}_group

Configurazione dei vincoli delle risorse del cluster

Un vincolo di colocation impedisce ai gruppi di risorse ${sid}_ascs${ASCS_INSTNO}_group e ${sid}_ers${ERS_INSTNO}_group di essere attivi sullo stesso nodo, ove possibile. Il punteggio di appiccicosità di -5000 assicura che girino sullo stesso nodo se è disponibile un solo nodo.

pcs constraint colocation add \
    ${sid}_ers${ERS_INSTNO}_group with ${sid}_ascs${ASCS_INSTNO}_group -- -5000

Un vincolo di ordine controlla che l' ${sid}_ascs${ASCS_INSTNO}_group e del gruppo di risorse inizi prima dell' ${sid}_ers${ERS_INSTNO}_group.

pcs constraint order start \
    ${sid}_ascs${ASCS_INSTNO}_group then stop ${sid}_ers${ERS_INSTNO}_group \
    symmetrical=false \
    kind=Optional

I due vincoli di ordine seguenti assicurano che il file system SAPMNT venga montato prima dell'avvio dei gruppi di risorse ${sid}_ascs${ASCS_INSTNO}_group e ${sid}_ers${ERS_INSTNO}_group.

pcs constraint order fs_sapmnt-clone then ${sid}_ascs${ASCS_INSTNO}_group
pcs constraint order fs_sapmnt-clone then ${sid}_ers${ERS_INSTNO}_group

La configurazione del cluster è completa.

Test di un cluster SAP ENSA2

È fondamentale testare accuratamente la configurazione del cluster per assicurarsi che funzioni correttamente. Le informazioni seguenti forniscono alcuni esempi di scenari di test di failover, ma non costituiscono un elenco completo di scenari di test.

Ad esempio, la descrizione di ciascun caso di prova include le seguenti informazioni.

  • Componente in prova
  • Descrizione del test
  • Prerequisiti e stato iniziale prima del test di failover
  • Procedura di prova
  • Comportamento e risultati attesi
  • Procedura di recupero

Test 1 - Testare un errore dell'istanza ASCS

Prova 1 - Descrizione

Simulare un crash dell'istanza ASCS dell' SAP, in esecuzione su NODE1.

Test 1 - Prerequisiti

  • Un cluster add-on RHEL HA funzionale a due nodi per SAP ENSA2.
  • Entrambi i nodi del cluster sono attivi.
  • Il cluster è avviato su NODE1 e NODE2.
    • Il gruppo di risorse ${sid}_ascs${ASCS_INSTNO}_group è attivo su NODE1.
    • Risorse ${sid}_vip_ascs$ {ASCS_INSTNO}, ${sid}_fs_ascs${ASCS_INSTNO}_lvm, ${sid}_fs_ascs$ {ASCS_INSTNO} e ${sid}_ascs$ {ASCS_INSTNO} sono Started su NODE1.
    • Il gruppo di risorse ${sid}_ers${ERS_INSTNO}_group è attivo su NODE2.
    • Risorse ${sid}_vip_ers$ {ERS_INSTNO}, ${sid}_fs_ers${ERS_INSTNO}_lvm, ${sid}_fs_ers$ {ERS_INSTNO} e ${sid}_ers$ {ERS_INSTNO} sono Started su NODE2.
  • Controllare i processi dell'istanza SAP:
    • L'istanza ASCS è in esecuzione su NODE1.
    • L'istanza ERS è in esecuzione su NODE2.
pcs status

Output di esempio:

# pcs status
Cluster name: SAP_ASCS
Cluster Summary:
  * Stack: corosync
  * Current DC: cl-sap-1 (version 2.0.5-9.el8_4.5-ba59be7122) - partition with quorum
  * Last updated: Tue Feb 14 07:59:16 2023
  * Last change:  Tue Feb 14 05:02:22 2023 by hacluster via crmd on cl-sap-1
  * 2 nodes configured
  * 11 resource instances configured

Node List:
  * Online: [ cl-sap-1 cl-sap-2 ]

Full List of Resources:
  * res_fence_ibm_powervs	(stonith:fence_ibm_powervs):	 Started cl-sap-2
  * Resource Group: s01_ascs01_group:
    * s01_vip_ascs01	(ocf::heartbeat:IPaddr2):	 Started cl-sap-1
    * s01_fs_ascs01_lvm	(ocf::heartbeat:LVM-activate):	 Started cl-sap-1
    * s01_fs_ascs01	(ocf::heartbeat:Filesystem):	 Started cl-sap-1
    * s01_ascs01	(ocf::heartbeat:SAPInstance):	 Started cl-sap-1
  * Resource Group: s01_ers02_group:
    * s01_vip_ers02	(ocf::heartbeat:IPaddr2):	 Started cl-sap-2
    * s01_fs_ers02_lvm	(ocf::heartbeat:LVM-activate):	 Started cl-sap-2
    * s01_fs_ers02	(ocf::heartbeat:Filesystem):	 Started cl-sap-2
    * s01_ers02	(ocf::heartbeat:SAPInstance):	 Started cl-sap-2
  * Clone Set: fs_sapmnt-clone [fs_sapmnt]:
    * Started: [ cl-sap-1 cl-sap-2 ]

Daemon Status:
  corosync: active/disabled
  pacemaker: active/disabled
  pcsd: active/enabled

Prova 1 - Procedura di prova

Per mandare in crash l'istanza ASCS dell' SAP, invia un segnale SIGKILL al server enque come utente ${sid}adm.

Su NODE1, identificare il PID del server enque.

pgrep -af "(en|enq).sap"

Invia un segnale SIGKILL al processo identificato.

Output di esempio:

# pgrep -af "(en|enq).sap"
30186 en.sapS01_ASCS01 pf=/usr/sap/S01/SYS/profile/S01_ASCS01_cl-sap-scs
# kill -9 30186

Test 1 - Comportamento previsto

  • SAP Istanza ASCS su NODE1 si blocca.
  • Il cluster rileva l'istanza ASCS in crash.
  • Il cluster arresta le risorse dipendenti su NODE1 (indirizzo IP virtuale, file system /usr/sap/${SID}/ASCS${ASCS_INSTNO} e risorse LVM) e le acquisisce su NODE2.
  • Il cluster avvia l'ASCS su NODE2.
  • Il cluster arresta l' istanza ERS su NODE2.
  • Il cluster arresta le risorse dipendenti su NODE1 (indirizzo IP virtuale, file system /usr/sap/${SID}/ERS${ERS_INSTNO} e risorse LVM) e le acquisisce su NODE1.
  • Il cluster avvia l'ERS su NODE1.

Dopo alcuni secondi, controllare lo stato con il seguente comando.

pcs status

Output di esempio:

# pcs status
Cluster name: SAP_ASCS
Cluster Summary:
  * Stack: corosync
  * Current DC: cl-sap-1 (version 2.0.5-9.el8_4.5-ba59be7122) - partition with quorum
  * Last updated: Tue Feb 14 08:10:18 2023
  * Last change:  Tue Feb 14 05:02:22 2023 by hacluster via crmd on cl-sap-1
  * 2 nodes configured
  * 11 resource instances configured

Node List:
  * Online: [ cl-sap-1 cl-sap-2 ]

Full List of Resources:
  * res_fence_ibm_powervs	(stonith:fence_ibm_powervs):	 Started cl-sap-2
  * Resource Group: s01_ascs01_group:
    * s01_vip_ascs01	(ocf::heartbeat:IPaddr2):	 Started cl-sap-2
    * s01_fs_ascs01_lvm	(ocf::heartbeat:LVM-activate):	 Started cl-sap-2
    * s01_fs_ascs01	(ocf::heartbeat:Filesystem):	 Started cl-sap-2
    * s01_ascs01	(ocf::heartbeat:SAPInstance):	 Started cl-sap-2
  * Resource Group: s01_ers02_group:
    * s01_vip_ers02	(ocf::heartbeat:IPaddr2):	 Started cl-sap-1
    * s01_fs_ers02_lvm	(ocf::heartbeat:LVM-activate):	 Started cl-sap-1
    * s01_fs_ers02	(ocf::heartbeat:Filesystem):	 Started cl-sap-1
    * s01_ers02	(ocf::heartbeat:SAPInstance):	 Started cl-sap-1
  * Clone Set: fs_sapmnt-clone [fs_sapmnt]:
    * Started: [ cl-sap-1 cl-sap-2 ]

Daemon Status:
  corosync: active/disabled
  pacemaker: active/disabled
  pcsd: active/enabled

Test 2 - Testare un guasto del nodo che esegue l'istanza ASCS

Utilizzare le seguenti informazioni per verificare un errore del nodo che esegue l'istanza ASCS.

Test 2 - Descrizione

Simulare un crash del nodo in cui è in esecuzione l'istanza ASCS.

Test 2 - Prerequisiti

  • Un cluster add-on RHEL HA funzionale a due nodi per SAP ENSA2.
  • Entrambi i nodi del cluster sono attivi.
  • Il cluster è avviato su NODE1 e NODE2.
    • Il gruppo di risorse ${sid}_ascs${ASCS_INSTNO}_group è attivo su NODE2.
    • Risorse ${sid}_vip_ascs$ {ASCS_INSTNO}, ${sid}_fs_ascs${ASCS_INSTNO}_lvm, ${sid}_fs_ascs$ {ASCS_INSTNO} e ${sid}_ascs$ {ASCS_INSTNO} sono Started su NODE2.
    • Il gruppo di risorse ${sid}_ers${ERS_INSTNO}_group è attivo su NODE1.
    • Risorse ${sid}_vip_ers$ {ERS_INSTNO}, ${sid}_fs_ers${ERS_INSTNO}_lvm, ${sid}_fs_ers$ {ERS_INSTNO} e ${sid}_ers$ {ERS_INSTNO} sono Started su NODE1.
  • Controllare i processi dell'istanza SAP:
    • L'istanza ASCS è in esecuzione su NODE2.
    • L'istanza ERS è in esecuzione su NODE1.

Prova 2 - Procedura di prova

NODE2 a di crash inviando una richiesta di sistema di crash.

Su NODE2, eseguire il seguente comando.

sync; echo c > /proc/sysrq-trigger

Test 2 - Comportamento previsto

  • NODE2 riavviamenti.
  • Il cluster rileva il nodo guasto e imposta il suo stato su offline (UNCLEAN).
  • Il cluster acquisisce le risorse ASCS (indirizzo IP virtuale, file system /usr/sap/${SID}/ASCS${ASCS_INSTNO} e gli elementi LVM) su NODE1.
  • Il cluster avvia l'ASCS su NODE1.
  • Il cluster arresta l' istanza ERS su NODE1.
  • Il cluster arresta le risorse dipendenti su NODE1 (indirizzo IP virtuale, file system /usr/sap/${SID}/ERS${ERS_INSTNO} e risorse LVM) e le rilascia.

Dopo un po', controlla lo stato con il seguente comando.

Il secondo nodo è offline ed entrambi i gruppi di risorse sono in esecuzione sul primo nodo.

pcs status

Output di esempio:

# pcs status
Cluster name: SAP_ASCS
Cluster Summary:
  * Stack: corosync
  * Current DC: cl-sap-1 (version 2.0.5-9.el8_4.5-ba59be7122) - partition with quorum
  * Last updated: Tue Feb 14 08:34:16 2023
  * Last change:  Tue Feb 14 08:34:04 2023 by hacluster via crmd on cl-sap-1
  * 2 nodes configured
  * 11 resource instances configured

Node List:
  * Online: [ cl-sap-1 ]
  * OFFLINE: [ cl-sap-2 ]

Full List of Resources:
  * res_fence_ibm_powervs	(stonith:fence_ibm_powervs):	 Started cl-sap-1
  * Resource Group: s01_ascs01_group:
    * s01_vip_ascs01	(ocf::heartbeat:IPaddr2):	 Started cl-sap-1
    * s01_fs_ascs01_lvm	(ocf::heartbeat:LVM-activate):	 Started cl-sap-1
    * s01_fs_ascs01	(ocf::heartbeat:Filesystem):	 Started cl-sap-1
    * s01_ascs01	(ocf::heartbeat:SAPInstance):	 Started cl-sap-1
  * Resource Group: s01_ers02_group:
    * s01_vip_ers02	(ocf::heartbeat:IPaddr2):	 Started cl-sap-1
    * s01_fs_ers02_lvm	(ocf::heartbeat:LVM-activate):	 Started cl-sap-1
    * s01_fs_ers02	(ocf::heartbeat:Filesystem):	 Started cl-sap-1
    * s01_ers02	(ocf::heartbeat:SAPInstance):	 Started cl-sap-1
  * Clone Set: fs_sapmnt-clone [fs_sapmnt]:
    * Started: [ cl-sap-1 ]
    * Stopped: [ cl-sap-2 ]

Daemon Status:
  corosync: active/disabled
  pacemaker: active/disabled
  pcsd: active/enabled

Test 2 - Procedura di recupero

Attendere il riavvio dell' NODE2, quindi riavviare il framework del cluster.

Su NODE1, eseguire il seguente comando.

pcs cluster start
  • Il cluster si avvia su NODE2 e acquisisce le risorse ERS (indirizzo IP virtuale, file system /usr/sap/${SID}/ERS${ERS_INSTNO} e risorse LVM) su NODE2.
  • Il cluster avvia l'istanza ERS su NODE2.

Attendi un momento e controlla lo stato con il seguente comando. Il gruppo risorse ERS si è spostato al secondo nodo.

pcs status

Output di esempio:

# pcs status
Cluster name: SAP_ASCS
Cluster Summary:
  * Stack: corosync
  * Current DC: cl-sap-1 (version 2.0.5-9.el8_4.5-ba59be7122) - partition with quorum
  * Last updated: Tue Feb 14 08:41:23 2023
  * Last change:  Tue Feb 14 08:34:04 2023 by hacluster via crmd on cl-sap-1
  * 2 nodes configured
  * 11 resource instances configured

Node List:
  * Online: [ cl-sap-1 cl-sap-2 ]

Full List of Resources:
  * res_fence_ibm_powervs	(stonith:fence_ibm_powervs):	 Started cl-sap-1
  * Resource Group: s01_ascs01_group:
    * s01_vip_ascs01	(ocf::heartbeat:IPaddr2):	 Started cl-sap-1
    * s01_fs_ascs01_lvm	(ocf::heartbeat:LVM-activate):	 Started cl-sap-1
    * s01_fs_ascs01	(ocf::heartbeat:Filesystem):	 Started cl-sap-1
    * s01_ascs01	(ocf::heartbeat:SAPInstance):	 Started cl-sap-1
  * Resource Group: s01_ers02_group:
    * s01_vip_ers02	(ocf::heartbeat:IPaddr2):	 Started cl-sap-2
    * s01_fs_ers02_lvm	(ocf::heartbeat:LVM-activate):	 Started cl-sap-2
    * s01_fs_ers02	(ocf::heartbeat:Filesystem):	 Started cl-sap-2
    * s01_ers02	(ocf::heartbeat:SAPInstance):	 Started cl-sap-2
  * Clone Set: fs_sapmnt-clone [fs_sapmnt]:
    * Started: [ cl-sap-1 cl-sap-2 ]

Daemon Status:
  corosync: active/disabled
  pacemaker: active/disabled
  pcsd: active/enabled

Test 3 - Testare un guasto dell'istanza ERS

Utilizzare le seguenti informazioni per testare il guasto di un'istanza ERS.

Prova 3 - Descrizione

Simulare un crash dell 'istanza ERS.

Prova 3 - Prerequisiti

  • Un cluster add-on RHEL HA funzionale a due nodi per SAP ENSA2.
  • Entrambi i nodi del cluster sono attivi.
  • Il gruppo inizia su NODE1 e NODE2.
    • Il gruppo di risorse ${sid}_ascs${ASCS_INSTNO}_group è attivo su NODE1.
    • Risorse ${sid}_vip_ascs$ {ASCS_INSTNO}, ${sid}_fs_ascs${ASCS_INSTNO}_lvm, ${sid}_fs_ascs$ {ASCS_INSTNO} e ${sid}_ascs$ {ASCS_INSTNO} sono Started su NODE1.
    • Il gruppo di risorse ${sid}_ers${ERS_INSTNO}_group è attivo su NODE2.
    • Risorse ${sid}_vip_ers$ {ERS_INSTNO}, ${sid}_fs_ers${ERS_INSTNO}_lvm, ${sid}_fs_ers$ {ERS_INSTNO} e ${sid}_ers$ {ERS_INSTNO} sono Started su NODE2.
  • Controllare i processi dell'istanza SAP:
    • L'istanza ASCS è in esecuzione su NODE1.
    • L'istanza ERS è in esecuzione su NODE2.

Prova 3 - Procedura di prova

Arrestare l'istanza ERS dell' SAP, inviando un segnale SIGKILL.

Su NODE2, identificare il PID del server di replica enque.

pgrep -af "(er|enqr).sap"

Invia un segnale SIGKILL al processo identificato.

Output di esempio:

# pgrep -af "(er|enqr).sap"
2527198 er.sapS01_ERS02 pf=/usr/sap/S01/ERS02/profile/S01_ERS02_cl-sap-ers NR=01
# kill -9 2527198

Prova 3 - Comportamento previsto

  • SAP Il server di replica in coda su NODE2 si blocca immediatamente.
  • Il cluster rileva l'ERS arrestato e contrassegna la risorsa come guasta.
  • Il cluster riavvia l'ERS su NODE2.

Controllare lo stato con il seguente comando.

pcs status

La risorsa ERS ( ${sid}_ers${ERS_INSTNO} ) è stata riavviata sul secondo nodo. Se si esegue il comando pcs status troppo presto, si potrebbe vedere la risorsa ERS brevemente nello stato " FAILED".

Output di esempio:

# pcs status
Cluster name: SAP_ASCS
Cluster Summary:
  * Stack: corosync
  * Current DC: cl-sap-1 (version 2.0.5-9.el8_4.5-ba59be7122) - partition with quorum
  * Last updated: Tue Feb 14 08:50:53 2023
  * Last change:  Tue Feb 14 08:50:50 2023 by hacluster via crmd on cl-sap-2
  * 2 nodes configured
  * 11 resource instances configured

Node List:
  * Online: [ cl-sap-1 cl-sap-2 ]

Full List of Resources:
  * res_fence_ibm_powervs	(stonith:fence_ibm_powervs):	 Started cl-sap-1
  * Resource Group: s01_ascs01_group:
    * s01_vip_ascs01	(ocf::heartbeat:IPaddr2):	 Started cl-sap-1
    * s01_fs_ascs01_lvm	(ocf::heartbeat:LVM-activate):	 Started cl-sap-1
    * s01_fs_ascs01	(ocf::heartbeat:Filesystem):	 Started cl-sap-1
    * s01_ascs01	(ocf::heartbeat:SAPInstance):	 Started cl-sap-1
  * Resource Group: s01_ers02_group:
    * s01_vip_ers02	(ocf::heartbeat:IPaddr2):	 Started cl-sap-2
    * s01_fs_ers02_lvm	(ocf::heartbeat:LVM-activate):	 Started cl-sap-2
    * s01_fs_ers02	(ocf::heartbeat:Filesystem):	 Started cl-sap-2
    * s01_ers02	(ocf::heartbeat:SAPInstance):	 Started cl-sap-2
  * Clone Set: fs_sapmnt-clone [fs_sapmnt]:
    * Started: [ cl-sap-1 cl-sap-2 ]

Daemon Status:
  corosync: active/disabled
  pacemaker: active/disabled
  pcsd: active/enabled

Prova 3 - Procedura di recupero

Su NODE2, eseguire i seguenti comandi.

pcs resource refresh
pcs status --full

Test 4 - Test di uno spostamento manuale dell'istanza ASCS

Utilizzare le seguenti informazioni per testare uno spostamento manuale di un'istanza ASCS.

Prova 4 - Descrizione

Utilizzare i comandi di controllo dell SAP e per spostare l'istanza ASCS sull'altro nodo per scopi di manutenzione.

Test 4 - Prerequisiti

  • Un cluster add-on RHEL HA funzionale a due nodi per SAP ENSA2.
  • sap_cluster_connector : installazione e configurazione.
  • Entrambi i nodi del cluster sono attivi.
  • Il cluster è avviato su NODE1 e NODE2.
    • Il gruppo di risorse ${sid}_ascs${ASCS_INSTNO}_group è attivo su NODE1.
    • Risorse ${sid}_vip_ascs$ {ASCS_INSTNO}, ${sid}_fs_ascs${ASCS_INSTNO}_lvm, ${sid}_fs_ascs$ {ASCS_INSTNO} e ${sid}_ascs$ {ASCS_INSTNO} sono Started su NODE1.
    • Il gruppo di risorse ${sid}_ers${ERS_INSTNO}_group è attivo su NODE2.
    • Risorse ${sid}_vip_ers$ {ERS_INSTNO}, ${sid}_fs_ers${ERS_INSTNO}_lvm, ${sid}_fs_ers$ {ERS_INSTNO} e ${sid}_ers$ {ERS_INSTNO} sono Started su NODE2.
  • Controllare i processi dell'istanza SAP:
    • L'istanza ASCS è in esecuzione su NODE1.
    • L'istanza ERS è in esecuzione su NODE2.

Prova 4 - Procedura di prova

Accedere a NODE1 ed eseguire sapcontrol per spostare l' istanza ASCS sull'altro nodo.

sudo -i -u ${sid}adm -- sh -c "sapcontrol -nr ${ASCS_INSTNO} -function HAFailoverToNode"

Test 4 - Comportamento previsto

  • sapcontrol interagisce con il quadro strumenti attraverso l' sap-cluster-connector.
  • Il cluster crea vincoli di posizione per spostare la risorsa.

Controllare lo stato con il seguente comando. Tieni presente che il gruppo di risorse ASCS si è spostato sul secondo nodo. Se si esegue il comando pcs status troppo presto, si potrebbero visualizzare alcune risorse stopping e starting.

pcs status

Output di esempio:

# pcs status
Cluster name: SAP_ASCS
Cluster Summary:
  * Stack: corosync
  * Current DC: cl-sap-1 (version 2.0.5-9.el8_4.5-ba59be7122) - partition with quorum
  * Last updated: Tue Feb 14 09:03:19 2023
  * Last change:  Tue Feb 14 09:01:40 2023 by s01adm via crm_resource on cl-sap-1
  * 2 nodes configured
  * 11 resource instances configured

Node List:
  * Online: [ cl-sap-1 cl-sap-2 ]

Full List of Resources:
  * res_fence_ibm_powervs	(stonith:fence_ibm_powervs):	 Started cl-sap-1
  * Resource Group: s01_ascs01_group:
    * s01_vip_ascs01	(ocf::heartbeat:IPaddr2):	 Started cl-sap-2
    * s01_fs_ascs01_lvm	(ocf::heartbeat:LVM-activate):	 Started cl-sap-2
    * s01_fs_ascs01	(ocf::heartbeat:Filesystem):	 Started cl-sap-2
    * s01_ascs01	(ocf::heartbeat:SAPInstance):	 Started cl-sap-2
  * Resource Group: s01_ers02_group:
    * s01_vip_ers02	(ocf::heartbeat:IPaddr2):	 Started cl-sap-1
    * s01_fs_ers02_lvm	(ocf::heartbeat:LVM-activate):	 Started cl-sap-1
    * s01_fs_ers02	(ocf::heartbeat:Filesystem):	 Started cl-sap-1
    * s01_ers02	(ocf::heartbeat:SAPInstance):	 Started cl-sap-1
  * Clone Set: fs_sapmnt-clone [fs_sapmnt]:
    * Started: [ cl-sap-1 cl-sap-2 ]

Daemon Status:
  corosync: active/disabled
  pacemaker: active/disabled
  pcsd: active/enabled

Prova 4 - Procedura di recupero

Attendere che l'istanza ASCS sia attiva su NODE2. Dopo cinque minuti, il cluster rimuove automaticamente i vincoli di posizione creati.

Le seguenti istruzioni mostrano come rimuovere manualmente i vincoli.

Su NODE2, eseguire il seguente comando.

pcs constraint

Output di esempio:

# pcs constraint
Location Constraints:
  Resource: s01_ascs01_group
    Constraint: cli-ban-s01_ascs01_group-on-cl-sap-1
      Rule: boolean-op=and score=-INFINITY
        Expression: #uname eq string cl-sap-1
        Expression: date lt 2023-02-08 09:33:50 -05:00
Ordering Constraints:
  start s01_ascs01_group then stop s01_ers02_group (kind:Optional) (non-symmetrical)
  start fs_sapmnt-clone then start s01_ascs01_group (kind:Mandatory)
  start fs_sapmnt-clone then start s01_ers02_group (kind:Mandatory)
Colocation Constraints:
  s01_ers02_group with s01_ascs01_group (score:-5000)
Ticket Constraints:
pcs resource clear ${sid}_ascs${ASCS_INSTNO}_group

I vincoli di posizione vengono rimossi:

pcs constraint

Output di esempio:

# pcs constraint
Location Constraints:
Ordering Constraints:
  start s01_ascs01_group then stop s01_ers02_group (kind:Optional) (non-symmetrical)
  start fs_sapmnt-clone then start s01_ascs01_group (kind:Mandatory)
  start fs_sapmnt-clone then start s01_ers02_group (kind:Mandatory)
Colocation Constraints:
  s01_ers02_group with s01_ascs01_group (score:-5000)
Ticket Constraints: