IBM Cloud Docs
Configuración de alta disponibilidad para SAP S/4HANA (ASCS y ERS) en un clúster Red Hat Enterprise Linux High Availability Add-On

Configuración de alta disponibilidad para SAP S/4HANA (ASCS y ERS) en un clúster Red Hat Enterprise Linux High Availability Add-On

La siguiente información describe la configuración de ABAP SAP Central Services (ASCS) y Enqueue Replication Server (ERS) en un cluster Red Hat Enterprise Linux (RHEL) High Availability Add-On. El clúster utiliza instancias de servidor virtual en IBM® Power® Virtual Server como nodos de clúster.

Este ejemplo de configuración se aplica a la segunda generación del servidor de cola independiente, también llamado ENSA2.

A partir de la versión 1809 de SAP S/4HANA, ENSA2 se instala por defecto y se puede configurar en un clúster de dos nodos o de varios nodos. Este ejemplo utiliza la ENSA2 configuración para un clúster de complementos RHEL HA de dos nodos. Si el servicio ASCS falla en un clúster de dos nodos, se reinicia en el nodo donde se está ejecutando la instancia ERS. Las entradas de bloqueo para la aplicación de gestión de registros de seguridad ( SAP ) se restauran a partir de la copia de la tabla de bloqueo en la instancia de ERS. Cuando un administrador activa el nodo del clúster que ha fallado, la instancia ERS se traslada al otro nodo (anticolocación) para proteger su copia de la tabla de bloqueo.

Se recomienda que instale la instancia de base de datos SAP y otras instancias de servidor de aplicaciones SAP en instancias de servidor virtuales fuera del clúster de dos nodos para ASCS y ERS.

Antes de empezar

Revise los requisitos generales, la documentación del producto, los artículos de soporte y las notas de SAP que aparecen en Implementación de alta disponibilidad para aplicaciones de SAP en IBM Power Virtual Server Referencias.

Requisitos previos

  • Esta información describe una configuración que utiliza volúmenes de almacenamiento compartibles accesibles en ambos nodos del clúster. Se crean determinados sistemas de archivos en volúmenes de almacenamiento compartibles para que puedan montarse en ambos nodos del clúster. Esta configuración se aplica a ambos directorios de instancias.

    • /usr/sap/<SID>/ASCS<INSTNO> de la instancia de ASCS.
    • /usr/sap/<SID>/ERS<INSTNO> de la instancia ERS.

    Asegúrese de que los volúmenes de almacenamiento que se crearon para estos sistemas de archivos están conectados a ambas instancias de servidor virtual. SAP Durante la instalación de una instancia de RHEL y la configuración del clúster de RHEL HA Add-On, cada directorio de instancia debe montarse en su nodo correspondiente. HA-LVM garantiza que cada uno de los dos directorios de instancia se monte en un solo nodo a la vez.

    Son posibles diferentes configuraciones de almacenamiento para los directorios de instancias, como los montajes de tipo " NFS ". Los pasos de configuración del almacenamiento para el almacenamiento de archivos o la creación de recursos del sistema de archivos de clúster no se describen en este documento.

  • Los nombres de host virtuales para las instancias ASCS y ERS deben cumplir los requisitos documentados en Nombres de host de servidores de plataforma ABAP de SAP. Asegúrese de que las direcciones IP virtuales de las instancias de SAP estén asignadas a un adaptador de red y de que puedan comunicarse en la red.

  • SAP las instancias del servidor de aplicaciones requieren un sistema de archivos compartido común sapmnt /sapmnt/<SID> con acceso de lectura y escritura, y otros sistemas de archivos compartidos como saptrans /usr/sap/trans. Estos sistemas de archivos suelen ser proporcionados por un servidor de archivos compartidos ( NFS ) externo. El servidor NFS debe tener alta disponibilidad y no debe instalarse en servidores virtuales que formen parte del ENSA2 clúster.

    Configuración de un servidor Active-Passive- NFS en un clúster de alta disponibilidad(Red Hat, HA) describe la implementación de un servidor Active-Passive- NFS en un clúster de complemento de alta disponibilidad (RHEL HA Add-On) con Red Hat Enterprise Linux 8 mediante el uso de instancias de servidor virtual en Power Virtual Server. El clúster RHEL HA Add-On para el servidor activo-pasivo NFS debe implementarse en un único espacio de trabajo Power Virtual Server.

Preparación de nodos para instalar instancias ASCS y ERS

La siguiente información describe cómo preparar los nodos para instalar las instancias de ASCS y ERS de SAP.

Preparación de variables de entorno

Para simplificar la configuración, prepare las siguientes variables de entorno para el usuario root en ambos nodos del clúster. Estas variables de entorno se utilizan con los comandos posteriores del sistema operativo en esta información.

En ambos nodos, establezca las siguientes variables de entorno.

# 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

Se recomienda utilizar nombres significativos para los grupos de volúmenes y volúmenes lógicos que designan su contenido. Por ejemplo, incluya el SID y los ascs o ers en el nombre. No utilice guiones en los nombres de grupo de volumen o volumen lógico.

  • s01ascsvg y s01ascslv
  • s01ersvg y s01erslv

Asignación de direcciones IP virtuales

Revise la información en Reservar direcciones IP virtuales.

Compruebe si la dirección IP virtual de la instancia SAP está presente. De lo contrario, deberá identificar el adaptador de red correcto para asignar la dirección IP.

En ambos nodos, compruebe la lista de direcciones IP activas actualmente.

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

Ejemplo de salida del comando anterior.

# 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

El nombre del dispositivo del adaptador de red aparece en la primera columna. La segunda columna enumera las direcciones IP activas y el número de bits que están reservados para la máscara de red, que están separados por una barra.

Si la dirección IP virtual para la instancia SAP no está presente, asegúrese de que no esté configurada erróneamente en otra instancia de servidor virtual.

En NODE1, ejecute el siguiente comando.

ping -c 3 ${ASCS_VH}

Salida de ejemplo:

# 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

Si el resultado de ping muestra Destination Host Unreachable, la dirección IP está disponible y puede asignar el alias IP a la instancia del servidor virtual. Utilice el nombre de dispositivo correcto env del adaptador de red que coincida con la subred de la dirección IP.

Ejemplo de comando en NODE1:

ip addr add ${ASCS_IP} dev env4

Ejemplo de comando en NODE2:

ip addr add ${ERS_IP} dev env4

Según la configuración específica de su red, el nombre del dispositivo para el adaptador de red podría ser diferente.

La dirección IP es necesaria para la instalación de SAP y se configura manualmente. Más tarde, las direcciones IP virtuales son controladas por el complemento HA Cluster de Red Hat.

Preparación de grupos de volúmenes, volúmenes lógicos y sistemas de archivos compartidos

El almacenamiento compartido es un recurso importante en un ENSA2 grupo. ASCS y ERS deben poder ejecutarse en ambos nodos, y su entorno de ejecución se almacena en los volúmenes de almacenamiento compartido. Todos los nodos del clúster necesitan acceder a los volúmenes de almacenamiento compartido, pero solo un nodo tiene acceso exclusivo de lectura y escritura a un volumen.

Preparación de la configuración de alta disponibilidad de Logical Volume Manager

Edite el archivo /etc/lvm/lvm.conf para incluir el ID del sistema en el grupo de volumen.

En ambos nodos, edite el archivo lvm.conf.

vi /etc/lvm/lvm.conf

Busque el parámetro system_id_source y cambie su valor a uname.

Configuración de muestra para el parámetro " system_id_source " en etc/lvm/lvm.conf.

system_id_source = "uname"

Identificación de nombres mundiales de volúmenes de almacenamiento compartidos

Determinar el nombre mundial (WWN) para cada volumen de almacenamiento que forme parte de uno de los grupos de volúmenes compartidos.

  1. Inicie sesión en IBM Cloud® para ver los volúmenes de almacenamiento de Power Virtual Server.

  2. Seleccione su espacio de trabajo.

  3. Filtre por el prefijo de volumen en la lista de volúmenes de almacenamiento e identifique todos los nombres mundiales de los volúmenes que están en el ámbito de las instancias ASCS y ERS. El nombre World Wide es un número hexadecimal de 32 dígitos.

    Asegúrese de que el atributo Compartible esté Activado para esos volúmenes.

En la vista de instancias de servidor virtual, vaya a ambas instancias de servidor virtual del clúster. Verifique que todos los volúmenes que están dentro del alcance de ASCS y ERS estén adjuntos a ambas instancias de servidor virtual.

Cuando adjunte un nuevo volumen de almacenamiento a una instancia de servidor virtual, asegúrese de volver a explorar el bus SCSI para detectar el nuevo volumen. Después, actualice la configuración de múltiples rutas del servidor virtual.

En los nodos con nuevos archivos adjuntos de volumen de almacenamiento, ejecute el siguiente comando.

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

Inicie sesión en ambos nodos del clúster y añada el WWN a las variables de entorno del usuario root.

Utilice el comando pvs --all para determinar los valores WWN adecuados.

En NODE1, exporta la variable de entorno ASCS_PVID.

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

En NODE2, exporta la variable de entorno ERS_PVID.

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

Asegúrese de configurar la variable de entorno utilizando el número hexadecimal con letras minúsculas.

Creación de volúmenes físicos

En NODE1, ejecute el siguiente comando.

pvcreate /dev/mapper/${ASCS_PVID}

Salida de ejemplo:

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

En NODE2, ejecute el siguiente comando.

pvcreate /dev/mapper/${ERS_PVID}

Salida de ejemplo:

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

Creación de grupos de volumen

Cree el grupo de volumen para el ASCS.

En NODE1, ejecute el siguiente comando.

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

Verifique que el ID del sistema esté configurado.

vgs -o+systemid

Salida de ejemplo:

# 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

Cree el grupo de volumen para el ERS.

En NODE2, ejecute el siguiente comando.

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

Verifique que el ID del sistema esté configurado.

Salida de ejemplo:

# 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

Creación de volúmenes lógicos y sistemas de archivos

Cree el volumen lógico para el ASCS y formatéelo como un sistema de archivos XFS.

En NODE1, ejecute los siguientes comandos.

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

Cree el volumen lógico para el ERS y formatéelo como un sistema de archivos XFS.

En NODE2, ejecute los siguientes comandos.

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

Asegurarse de que un grupo de volumen no esté activado en varios nodos de clúster

Los grupos de volumen que son gestionados por el clúster no deben activarse automáticamente al inicio.

Para RHEL 8.5 y posteriores, desactive la activación automática al crear el grupo de volúmenes especificando el indicador --setautoactivation n en el comando vgcreate.

En ambos nodos, edite el archivo /etc/lvm/lvm.conf y modifique la entrada auto_activation_volume_list para limitar la activación automática a grupos de volumen específicos.

vi /etc/lvm/lvm.conf

Busque el parámetro " auto_activation_volume_list " y añada a esta lista todos los grupos de volumen excepto el que definió para el clúster " NFS ".

Vea un ejemplo de cómo configurar la entrada auto_activation_volume_list en /etc/lvm/lvm.conf:

auto_activation_volume_list = [ "rhel_root" ]

Reconstruir la imagen de arranque initramfs para asegurarse de que la imagen de arranque no activa un grupo de volúmenes controlado por el clúster.

En ambos nodos, ejecute el siguiente comando.

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

Reinicia ambos nodos.

Montaje de los sistemas de archivos para la instalación de SAP

Activar los grupos de volúmenes y montar los sistemas de archivos de instancia de e SAP.

En NODE1 (ASCS ), ejecute los siguientes comandos.

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}

En el servicio de registro de eventos (* NODE2, ERS* ), ejecute los siguientes comandos.

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}

Montar los sistemas de archivos de e NFS s necesarios

En ambos nodos, asegúrese de que los sistemas de archivos NFS /sapmnt y /usr/sap/trans estén montados.

mount | grep nfs

Creación de puntos de montaje ASCS y ERS en el otro nodo

Cree los puntos de montaje para los sistemas de archivos de instancia y ajuste su propiedad.

En NODE1, ejecute los siguientes comandos.

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

En NODE2, ejecute los siguientes comandos.

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

Instalación de las instancias ASCS y ERS

Utilice el Administrador de paquetes de software ( SAP Software Provisioning Manager, SWPM) para instalar ambas instancias.

  • Instale instancias de SAP en los nodos del clúster.

    • Instale una instancia de ASCS en NODE1 utilizando el nombre de host virtual ${ASCS_VH} que está asociado con la dirección IP virtual para ASCS:
    <swpm>/sapinst SAPINST_USE_HOSTNAME=${ASCS_VH}
    
    • Instale una instancia ERS en NODE2 utilizando el nombre de host virtual ${ERS_VH} que está asociado con la dirección IP virtual para ERS:
    <swpm>/sapinst SAPINST_USE_HOSTNAME=${ERS_VH}
    
  • Instale todas las demás instancias de la aplicación SAP fuera del clúster.

Instalación y configuración del clúster RHEL HA Add-On

Instale y configure el clúster complementario RHEL HA de acuerdo con Implementación de un clúster complementario de alta disponibilidad Red Hat Enterprise Linux.

Configure y pruebe el vallado como se describe en Creación del dispositivo de vallado.

Preparación de las instancias ASCS y ERS para la integración en clúster

Siga los siguientes pasos para preparar las instancias de SAP para la integración en clúster.

Desactivación del inicio automático de los agentes de instancia SAP para ASCS y ERS

Debe desactivar el inicio automático de los agentes de instancia sapstartsrv tanto para instancias ASCS como ERS después de un reinicio.

Verificación del tipo de integración del agente de instancia SAP

Las versiones recientes del agente de instancia SAP sapstartsrv proporcionan soporte nativo systemd en Linux. Para más información, consulte las notas de SAP que figuran en SAP Notas.

En ambos nodos, compruebe el contenido del archivo /usr/sap/sapservices.

cat /usr/sap/sapservices

En el formato systemd, las líneas comienzan con entradas systemctl.

Ejemplo:

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

Si las entradas para ASCS y ERS están en formato systemd, continúe con los pasos en Deshabilitar los servicios systemd de la instancia de ASCS y ERS SAP.

En el formato classic, las líneas comienzan con entradas LD_LIBRARY_PATH.

Ejemplo:

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

Si las entradas para ASCS y ERS están en formato classic, entonces modifique el archivo /usr/sap/sapservices para prevenir el inicio automático del agente de instancia sapstartsrv para ambas instancias ASCS y ERS después de un reinicio.

En ambos nodos, elimine o comente las entradas sapstartsrv para ASCS y ERS en el archivo de servicios SAP.

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

Ejemplo:

#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

Proceda a Instalar claves de licencia permanentes SAP.

Desactivación de los servicios systemd de las instancias ASCS y ERS

En ambos nodos, desactive el agente de instancia para el ASCS.

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

En ambos nodos, desactive el agente de instancia para el ERS.

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

Desactivación del reinicio systemd de una instancia ASCS o ERS bloqueada

Systemd tiene sus propios mecanismos para reiniciar un servicio bloqueado. En una configuración de alta disponibilidad, sólo el clúster de HA es responsable de gestionar las instancias ASCS y ERS de SAP. Cree systemd drop-in files en ambos nodos del clúster para evitar que systemd reinicie una instancia de SAP que se haya bloqueado.

En ambos nodos, cree los directorios para los archivos drop-in.

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

En ambos nodos, cree los archivos drop-in para ASCS y 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 debe estar en la sección [Service], y los archivos drop-in deben estar disponibles en todos los nodos del cluster.

En ambos nodos, vuelva a cargar los archivos de la unidad systemd.

systemctl daemon-reload

Instalación de claves de licencia permanentes SAP

Cuando la instancia SAP ASCS se instala en una instancia Power Virtual Server, el mecanismo de licencia SAP se basa en el UUID de la partición. Para más información, consulte SAP note 2879336 - Hardware key based on unique ID.

En ambos nodos, ejecute el siguiente comando como usuario <sid>adm para identificar el HARDWARE KEY del nodo.

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

Salida de ejemplo:

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

saplikey: HARDWARE KEY = H1428224519

Observe la dirección HARDWARE KEY de cada nodo.

Necesita ambas llaves hardware para solicitar dos llaves de licencia diferentes SAP. Consulte las siguientes notas de SAP para obtener más información sobre la solicitud de claves de licencia de SAP:

Instalación de agentes de recursos SAP

Instale los paquetes de software necesarios. resource-agents-sap incluye el agente de recursos de clúster SAPInstance para gestionar las instancias de SAP.

A menos que sap_cluster_connector esté configurado para la instancia SAP, el clúster RHEL HA Add-On considera cualquier cambio de estado de la instancia como una incidencia. Si se utilizan otras herramientas de SAP como sapcontrol para gestionar la instancia, entonces sap_cluster_connector concede permiso para controlar las instancias de SAP que se están ejecutando dentro del clúster. Si las instancias de SAP son gestionadas únicamente por herramientas de cluster, la implementación de sap_cluster_connector no es necesario.

Instale los paquetes para el agente de recursos y la biblioteca SAP Cluster Connector. Para obtener más información, consulte Cómo habilitar la interfaz SAP HA para instancias del servidor de aplicaciones SAP ABAP administradas por el complemento RHEL HA

En ambos nodos, ejecute los siguientes comandos.

Si es necesario, utilice subscription-manager para activar el repositorio SAP NetWeaver. La documentación de RHEL para SAP Subscriptions and Repositories describe cómo habilitar los repositorios necesarios.

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

Instale los paquetes necesarios.

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

Configuración de SAP Cluster Connector

Añade el usuario ${sid}adm al grupo haclient.

En ambos nodos, ejecute el siguiente comando.

usermod -a -G haclient ${sid}adm

Adaptación de los perfiles de instancia SAP

Modifique los perfiles de inicio de todas las instancias de SAP gestionadas por herramientas de SAP fuera del clúster. Tanto las instancias ASCS como ERS pueden ser controladas por el cluster RHEL HA Add-On y sus agentes de recursos. Ajuste los perfiles de instancia de SAP para evitar el reinicio automático de los procesos de instancia.

En NODE1, navegue hasta el directorio de perfiles SAP.

cd /sapmnt/${SID}/profile

Cambie todas las apariciones de Restart_Program a Start_Program en el perfil de instancia tanto de ASCS como de 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}

Añada las dos líneas siguientes al final del perfil de instancia SAP para configurar sap_cluster_connector para las instancias ASCS y ERS.

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

Configuración de recursos de clúster ASCS y ERS

Hasta este punto, se asume lo siguiente:

  • Se está ejecutando un clúster RHEL HA Add-On en ambas instancias de servidor virtual y se ha probado el aislamiento de los nodos.
  • El sistema de seguridad ( SAP ) está en funcionamiento.
    • SAP ASCS está instalado y activo en el nodo 1 del clúster.
    • SAP ERS está instalado y activo en el nodo 2 del clúster.
  • Se han completado todos los pasos de Preparar instancias ASCS y ERS para la integración del clúster.

Configuración de recursos de clúster de SAPMNT

Cree un recurso de clonación de clúster de sistema de archivos para montar el recurso compartido SAPMNT desde un servidor de NFS externo a todos los nodos del clúster.

Asegúrese de que la variable de entorno ${NFS_VH} esté configurada con el nombre de host virtual del servidor NFS y que ${NFS_OPTIONS} esté configurada con las opciones de montaje que desee.

En NODE1, ejecute el siguiente comando.

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

Configuración del grupo de recursos ASCS

Cree un recurso para la dirección IP virtual del ASCS.

En NODE1, ejecute el siguiente comando.

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

En este ejemplo de creación de recursos para un sistema de archivos HA-LVM en un volumen de almacenamiento compartido, se crean recursos para la activación de LVM y para el sistema de archivos de instancia del 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

En el ejemplo alternativo de que el sistema de archivos de instancia del ASCS lo proporciona un servidor de alta disponibilidad ( NFS ), solo se requiere el recurso del sistema de archivos. Asegúrese de haber definido la variable de entorno ${NFS_VH} de acuerdo con su servidor NFS y de haber creado un directorio ${SID}/ASCS en el directorio raíz NFS durante la instalación SAP de la instancia 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

Crear un recurso para gestionar la instancia de 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

La opción " meta resource-stickiness=5000 " se utiliza para equilibrar la restricción de conmutación por error con ERS, de modo que el recurso permanezca en el nodo donde se inició y no migre de forma incontrolada en el clúster.

Añade un recurso de adherencia al grupo para asegurarte de que el ASCS permanece en el nodo.

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

Configuración del grupo de recursos ERS

Cree un recurso para la dirección IP virtual del ERS.

En NODE1, ejecute el siguiente comando.

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

En el ejemplo de creación de recursos para un sistema de archivos HA-LVM en un volumen de almacenamiento compartido, se crean recursos para la activación de LVM y para el sistema de archivos de instancia del 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

En el ejemplo alternativo de que el sistema de archivos de instancia del ERS sea proporcionado por un servidor de alta disponibilidad ( NFS ), solo se requiere el recurso del sistema de archivos. Asegúrese de haber definido la variable de entorno ${NFS_VH} de acuerdo con su servidor NFS y de haber creado un directorio ${SID}/ERS en el directorio raíz NFS durante la instalación SAP de la instancia 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

Crear un recurso para gestionar la instancia de 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

Configuración de restricciones de recursos de clúster

Una restricción de colocación impide que los grupos de recursos ${sid}_ascs${ASCS_INSTNO}_group y ${sid}_ers${ERS_INSTNO}_group estén activos en el mismo nodo siempre que sea posible. La puntuación de adherencia de -5000 garantiza que se ejecuten en el mismo nodo si solo hay un nodo disponible.

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

Una restricción de pedido controla que el grupo de recursos ${sid}_ascs${ASCS_INSTNO}_group comience antes de ${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

Las dos restricciones de orden siguientes garantizan que el sistema de archivos SAPMNT se monte antes de que se inicien los grupos de recursos ${sid}_ascs${ASCS_INSTNO}_group y ${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 configuración del clúster ha finalizado.

Prueba de un clúster de SAP ENSA2

Es fundamental probar a fondo la configuración del clúster para asegurarse de que funciona correctamente. La siguiente información proporciona algunos ejemplos de escenarios de prueba de conmutación por error, pero no es una lista completa de escenarios de prueba.

Por ejemplo, la descripción de cada caso de prueba incluye la siguiente información.

  • Componente bajo prueba
  • Descripción de la prueba
  • Requisitos previos y estado inicial antes de la prueba de conmutación por error
  • Procedimiento de prueba
  • Comportamiento y resultados esperados
  • Procedimiento de recuperación

Prueba 1: comprobar un fallo de la instancia de ASCS

Prueba 1 - Descripción

Simular un bloqueo de la instancia de ASCS de SAP que se está ejecutando en NODE1.

Prueba 1 - Requisitos previos

  • Un clúster funcional de dos nodos RHEL HA Add-On para SAP ENSA2.
  • Ambos nodos del clúster están activos.
  • Cluster se inicia en NODE1 y NODE2.
    • El grupo de recursos ${sid}_ascs${ASCS_INSTNO}_group está activo en NODE1.
    • Recursos ${sid}_vip_ascs$ {ASCS_INSTNO}, ${sid}_fs_ascs${ASCS_INSTNO}_lvm, ${sid}_fs_ascs$ {ASCS_INSTNO} y ${sid}_ascs$ {ASCS_INSTNO} son Started en NODE1.
    • El grupo de recursos ${sid}_ers${ERS_INSTNO}_group está activo en NODE2.
    • Recursos ${sid}_vip_ers$ {ERS_INSTNO}, ${sid}_fs_ers${ERS_INSTNO}_lvm, ${sid}_fs_ers$ {ERS_INSTNO} y ${sid}_ers$ {ERS_INSTNO} son Started en NODE2.
  • Compruebe los procesos de instancia de SAP:
    • La instancia de ASCS se está ejecutando en NODE1.
    • La instancia ERS se está ejecutando en NODE2.
pcs status

Salida de ejemplo:

# 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

Prueba 1 - Procedimiento de prueba

Para bloquear la instancia ASCS de SAP, envíe una señal SIGKILL al servidor enque como usuario ${sid}adm.

En NODE1, identifique el PID del servidor enque.

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

Enviar una señal SIGKILL al proceso identificado.

Salida de ejemplo:

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

Prueba 1: comportamiento esperado

  • SAP La instancia de ASCS en NODE1 se bloquea.
  • El clúster detecta la instancia de ASCS que se ha bloqueado.
  • El clúster detiene los recursos dependientes en NODE1 (dirección IP virtual, sistema de archivos /usr/sap/${SID}/ASCS${ASCS_INSTNO} y los recursos LVM) y los adquiere en NODE2.
  • El grupo inicia el ASCS en NODE2.
  • El clúster detiene la instancia de ERS en NODE2.
  • El clúster detiene los recursos dependientes en NODE1 (dirección IP virtual, sistema de archivos /usr/sap/${SID}/ERS${ERS_INSTNO} y los recursos LVM) y los adquiere en NODE1.
  • El grupo inicia el ERS en NODE1.

Después de unos segundos, compruebe el estado con el siguiente comando.

pcs status

Salida de ejemplo:

# 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

Prueba 2: comprobar un fallo del nodo que ejecuta la instancia ASCS

Utilice la siguiente información para comprobar un fallo del nodo que ejecuta la instancia ASCS.

Prueba 2 - Descripción

Simular un bloqueo del nodo donde se ejecuta la instancia de ASCS.

Prueba 2: Requisitos previos

  • Un clúster funcional de dos nodos RHEL HA Add-On para SAP ENSA2.
  • Ambos nodos del clúster están activos.
  • Cluster se inicia en NODE1 y NODE2.
    • El grupo de recursos ${sid}_ascs${ASCS_INSTNO}_group está activo en NODE2.
    • Recursos ${sid}_vip_ascs$ {ASCS_INSTNO}, ${sid}_fs_ascs${ASCS_INSTNO}_lvm, ${sid}_fs_ascs$ {ASCS_INSTNO} y ${sid}_ascs$ {ASCS_INSTNO} son Started en NODE2.
    • El grupo de recursos ${sid}_ers${ERS_INSTNO}_group está activo en NODE1.
    • Recursos ${sid}_vip_ers$ {ERS_INSTNO}, ${sid}_fs_ers${ERS_INSTNO}_lvm, ${sid}_fs_ers$ {ERS_INSTNO} y ${sid}_ers$ {ERS_INSTNO} son Started en NODE1.
  • Compruebe los procesos de instancia de SAP:
    • La instancia de ASCS se está ejecutando en NODE2.
    • La instancia ERS se está ejecutando en NODE1.

Prueba 2 - Procedimiento de prueba

Bloquee NODE2 enviando una solicitud de bloqueo del sistema.

En NODE2, ejecute el siguiente comando.

sync; echo c > /proc/sysrq-trigger

Prueba 2: comportamiento esperado

  • NODE2 reinicios.
  • El clúster detecta el nodo fallido y establece su estado como desconectado (UNCLEAN).
  • El clúster adquiere los recursos ASCS (dirección IP virtual, /usr/sap/${SID}/ASCS${ASCS_INSTNO} del sistema de archivos y los elementos LVM) en NODE1.
  • El grupo inicia el ASCS en NODE1.
  • El clúster detiene la instancia ERS en NODE1.
  • El clúster detiene los recursos dependientes en NODE1 (dirección IP virtual, sistema de archivos /usr/sap/${SID}/ERS${ERS_INSTNO} y los recursos LVM) y los libera.

Después de un rato, comprueba el estado con el siguiente comando.

El segundo nodo está desconectado y ambos grupos de recursos se están ejecutando en el primer nodo.

pcs status

Salida de ejemplo:

# 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

Prueba 2 - Procedimiento de recuperación

Espera a que se reinicie NODE2 y, a continuación, reinicia el marco del clúster.

En NODE1, ejecute el siguiente comando.

pcs cluster start
  • El clúster se inicia en NODE2 y adquiere los recursos ERS (dirección IP virtual, sistema de archivos /usr/sap/${SID}/ERS${ERS_INSTNO} y los recursos LVM) en NODE2.
  • El clúster inicia la instancia ERS en NODE2.

Espere un momento y compruebe el estado con el siguiente comando. El grupo de recursos ERS se trasladó al segundo nodo.

pcs status

Salida de ejemplo:

# 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

Prueba 3: comprobar un fallo de la instancia ERS

Utilice la siguiente información para comprobar el fallo de una instancia ERS.

Prueba 3 - Descripción

Simular un bloqueo de la instancia ERS.

Prueba 3: Requisitos previos

  • Un clúster funcional de dos nodos RHEL HA Add-On para SAP ENSA2.
  • Ambos nodos del clúster están activos.
  • El grupo comienza en NODE1 y NODE2.
    • El grupo de recursos ${sid}_ascs${ASCS_INSTNO}_group está activo en NODE1.
    • Recursos ${sid}_vip_ascs$ {ASCS_INSTNO}, ${sid}_fs_ascs${ASCS_INSTNO}_lvm, ${sid}_fs_ascs$ {ASCS_INSTNO} y ${sid}_ascs$ {ASCS_INSTNO} son Started en NODE1.
    • El grupo de recursos ${sid}_ers${ERS_INSTNO}_group está activo en NODE2.
    • Recursos ${sid}_vip_ers$ {ERS_INSTNO}, ${sid}_fs_ers${ERS_INSTNO}_lvm, ${sid}_fs_ers$ {ERS_INSTNO} y ${sid}_ers$ {ERS_INSTNO} son Started en NODE2.
  • Compruebe los procesos de instancia de SAP:
    • La instancia de ASCS se está ejecutando en NODE1.
    • La instancia ERS se está ejecutando en NODE2.

Prueba 3 - Procedimiento de prueba

Bloquear la instancia ERS de SAP enviando una señal SIGKILL.

En NODE2, identifique el PID del servidor de replicación en cola.

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

Enviar una señal SIGKILL al proceso identificado.

Salida de ejemplo:

# 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

Prueba 3: comportamiento esperado

  • SAP Enqueue Replication Server en NODE2 se bloquea inmediatamente.
  • El clúster detecta el ERS detenido y marca el recurso como fallido.
  • El clúster reinicia el ERS en NODE2.

Compruebe el estado con el siguiente comando.

pcs status

El recurso ERS ( ${sid}_ers${ERS_INSTNO} ) se reinició en el segundo nodo. Si ejecuta el comando pcs status demasiado pronto, es posible que vea el recurso ERS brevemente en el estado FAILED.

Salida de ejemplo:

# 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

Prueba 3: Procedimiento de recuperación

En NODE2, ejecute los siguientes comandos.

pcs resource refresh
pcs status --full

Prueba 4: Prueba de un movimiento manual de la instancia ASCS

Utilice la siguiente información para probar un movimiento manual de una instancia ASCS.

Prueba 4 - Descripción

Utilice los comandos de control de SAP s para mover la instancia de ASCS al otro nodo con fines de mantenimiento.

Prueba 4: Requisitos previos

  • Un clúster funcional de dos nodos RHEL HA Add-On para SAP ENSA2.
  • sap_cluster_connector : instalado y configurado.
  • Ambos nodos del clúster están activos.
  • Cluster se inicia en NODE1 y NODE2.
    • El grupo de recursos ${sid}_ascs${ASCS_INSTNO}_group está activo en NODE1.
    • Recursos ${sid}_vip_ascs$ {ASCS_INSTNO}, ${sid}_fs_ascs${ASCS_INSTNO}_lvm, ${sid}_fs_ascs$ {ASCS_INSTNO} y ${sid}_ascs$ {ASCS_INSTNO} son Started en NODE1.
    • El grupo de recursos ${sid}_ers${ERS_INSTNO}_group está activo en NODE2.
    • Recursos ${sid}_vip_ers$ {ERS_INSTNO}, ${sid}_fs_ers${ERS_INSTNO}_lvm, ${sid}_fs_ers$ {ERS_INSTNO} y ${sid}_ers$ {ERS_INSTNO} son Started en NODE2.
  • Compruebe los procesos de instancia de SAP:
    • La instancia de ASCS se está ejecutando en NODE1.
    • La instancia ERS se está ejecutando en NODE2.

Prueba 4 - Procedimiento de prueba

Inicie sesión en NODE1 y ejecute sapcontrol para mover la instancia ASCS al otro nodo.

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

Prueba 4: comportamiento esperado

  • sapcontrol interactúa con el clúster a través de la sap-cluster-connector.
  • El clúster crea restricciones de ubicación para mover el recurso.

Compruebe el estado con el siguiente comando. Tenga en cuenta que el grupo de recursos ASCS se ha movido al segundo nodo. Si ejecuta el comando pcs status demasiado pronto, es posible que vea algunos recursos stopping y starting.

pcs status

Salida de ejemplo:

# 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

Prueba 4 - Procedimiento de recuperación

Espere hasta que la instancia de ASCS esté activa en NODE2. Después de cinco minutos, el clúster elimina automáticamente las restricciones de ubicación creadas.

Las siguientes instrucciones muestran cómo eliminar las restricciones manualmente.

En NODE2, ejecute el siguiente comando.

pcs constraint

Salida de ejemplo:

# 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

Se eliminan las restricciones de ubicación:

pcs constraint

Salida de ejemplo:

# 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: