Alta disponibilidad para SAP NetWeaver en máquinas virtuales de Azure en Red Hat Enterprise Linux para aplicaciones SAP con varios SID

En este artículo se describe cómo implementar varios sistemas de alta disponibilidad de SAP NetWeaver (varios SID) en un clúster de dos nodos en máquinas virtuales de Azure con Red Hat Enterprise Linux para aplicaciones SAP.

En las configuraciones de ejemplo, se implementan tres sistemas SAP NetWeaver 7.50 en un único clúster de alta disponibilidad de dos nodos. Los SID de los sistemas SAP son los siguientes:

  • NW1: número de instancia 00 de ASCS y nombre del host virtual msnw1ascs. Número de instancia 02 de ERS y nombre del host virtual msnw1ers.
  • NW2: número de instancia 10 de ASCS y nombre de host virtual msnw2ascs. Número de instancia 12 de ERS y nombre del host virtual msnw2ers.
  • NW3: número de instancia 20 de ASCS y nombre del host virtual msnw3ascs. Número de instancia 22 de ERS y nombre del host virtual msnw3ers.

El artículo no trata la capa de base de datos ni la implementación de los recursos compartidos NFS de SAP.

En los ejemplos de este artículo, se usa el volumen sapMSID de Azure NetApp Files para los recursos compartidos de NFS, suponiendo que el volumen ya esté implementado. En los ejemplos se supone que el volumen de Azure NetApp Files se implementa con el protocolo NFSv3. En ellos se usan las siguientes rutas de acceso de archivo para los recursos del clúster en las instancias de ASCS y ERS de los sistemas SAP NW1, NW2 y NW3:

  • volumen sapMSID (nfs://10.42.0.4/sapmntNW1)
  • volumen sapMSID (nfs://10.42.0.4/usrsapNW1ascs)
  • volumen sapMSID (nfs://10.42.0.4/usrsapNW1sys)
  • volumen sapMSID (nfs://10.42.0.4/usrsapNW1ers)
  • volumen sapMSID (nfs://10.42.0.4/sapmntNW2)
  • volumen sapMSID (nfs://10.42.0.4/usrsapNW2ascs)
  • volumen sapMSID (nfs://10.42.0.4/usrsapNW2sys)
  • volumen sapMSID (nfs://10.42.0.4/usrsapNW2ers)
  • volumen sapMSID (nfs://10.42.0.4/sapmntNW3)
  • volumen sapMSID (nfs://10.42.0.4/usrsapNW3ascs)
  • volumen sapMSID (nfs://10.42.0.4/usrsapNW3sys)
  • volumen sapMSID (nfs://10.42.0.4/usrsapNW3ers)

Antes de comenzar, consulte las siguientes notas y documentos de SAP:

Información general

Se debe ajustar el tamaño de las máquinas virtuales que participan en el clúster para poder ejecutar todos los recursos en caso de que se produzca una conmutación por error. Cada SID de SAP puede conmutar por error de forma independiente en el clúster de alta disponibilidad de varios SID.

Para lograr alta disponibilidad, SAP NetWeaver requiere recursos compartidos disponibles. En este artículo se muestran ejemplos con los recursos compartidos de SAP implementados en volúmenes NFS de Azure NetApp Files. También es posible hospedar los recursos compartidos en un clúster de GlusterFS de alta disponibilidad, que pueden usar varios sistemas SAP.

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

Importante

La compatibilidad con la agrupación en clústeres de varios SID de SAP ASCS/ERS con Red Hat Linux como sistema operativo invitado en las VM de Azure se limita a cinco SID de SAP en un mismo clúster. Cada nuevo SID aumenta la complejidad. No se admite una combinación de SAP Enqueue Replication Server 1 y SAP Enqueue Replication Server 2 en el mismo clúster. La agrupación en clústeres de varios SID describe la instalación de varias instancias de SAP ASCS/ERS con SID diferentes en un clúster de Pacemaker. Actualmente, la agrupación en clústeres de varios SID solo se admite para ASCS/ERS.

Sugerencia

La agrupación en clústeres de varios SID de SAP ASCS/ERS es una solución de gran complejidad. Su implementación resulta más compleja. También implica un mayor esfuerzo administrativo al ejecutar actividades de mantenimiento (como la aplicación de revisiones del sistema operativo). Antes de comenzar la implementación real, dedique tiempo a planear cuidadosamente la implementación y todos los componentes implicados como máquinas virtuales, montajes NFS, VIP, configuraciones de equilibrador de carga, etc.

SAP NetWeaver ASCS, SAP NetWeaver SCS y SAP NetWeaver ERS usan direcciones IP virtuales y el nombre de host virtual. En Azure, se requiere un equilibrador de carga para usar una dirección IP virtual. Se recomienda usar Standard Load Balancer.

  • Direcciones IP de front-end para ASCS: 10.3.1.50 (NW1), 10.3.1.52 (NW2) y 10.3.1.54 (NW3)
  • Direcciones IP de front-end para ERS: 10.3.1.51 (NW1), 10.3.1.53 (NW2) y 10.3.1.55 (NW3)
  • Puerto de sondeo 62000 para NW1 ASCS, 62010 para NW2 ASCS y 62020 para NW3 ASCS
  • Puerto de sondeo 62102 para NW1 ASCS, 62112 para NW2 ASCS y 62122 para NW3 ASCS

Importante

La dirección IP flotante no se admite en una configuración de IP secundaria de NIC para los escenarios de equilibrio de carga. Para ver detalles, consulte Limitaciones de Azure Load Balancer. Si necesita una dirección IP adicional para la VM, implemente una segunda NIC.

Nota

Cuando las máquinas virtuales sin direcciones IP públicas se colocan en el grupo de back-end de Standard Load Balancer interno (sin dirección IP pública), no hay conectividad saliente de Internet, a menos que se realice una configuración adicional para permitir el enrutamiento a puntos de conexión públicos. Para obtener más información sobre cómo obtener conectividad saliente, vea Conectividad de punto de conexión público para máquinas virtuales con Azure Standard Load Balancer en escenarios de alta disponibilidad de SAP.

Importante

No habilite las marcas de tiempo TCP en VM de Azure que se encuentren detrás de Azure Load Balancer. Si habilita las marcas de tiempo TCP provocará un error en los sondeos de estado. Establezca el parámetro net.ipv4.tcp_timestamps en 0. Para más información, consulte Sondeos de estado de Load Balancer.

Recursos compartidos de SAP

SAP NetWeaver requiere un almacenamiento compartido para el transporte, el directorio de perfil, etc. En el caso de sistemas SAP de alta disponibilidad, es importante tener recursos compartidos de alta disponibilidad. Debe decidir sobre la arquitectura de sus recursos compartidos de SAP. Una opción consiste en implementar los recursos compartidos en Volúmenes NFS de Azure NetApp Files. Con Azure NetApp Files, obtendrá alta disponibilidad integrada para los recursos compartidos NFS de SAP.

Otra opción consiste en compilar GlusterFS en VM de Azure en Red Hat Enterprise Linux para SAP NetWeaver, que se puede compartir entre varios sistemas SAP.

Implementación del primer sistema SAP en el clúster

Después de decidir la arquitectura de los recursos compartidos de SAP, implemente el primer sistema SAP del clúster, siguiendo la documentación correspondiente.

Estos artículos le guían por los pasos para preparar la infraestructura necesaria, compilar el clúster y preparar el sistema operativo para ejecutar la aplicación de SAP.

Sugerencia

Pruebe siempre la funcionalidad de conmutación por error del clúster después de que se ha implementado el primer sistema, antes de agregar los SID de SAP adicionales al clúster. De este modo sabrá que la funcionalidad del clúster funciona, antes de agregar la complejidad de los sistemas SAP adicionales al clúster.

Implementación de sistemas SAP adicionales en el clúster

En este ejemplo se supone que el sistema NW1 ya se ha implementado en el clúster. En este ejemplo se muestra cómo implementar los sistemas SAP NW2 y NW3 en el clúster.

Los siguientes elementos llevan delante:

  • [A] Aplicable a todos los nodos.
  • [1] Solo se aplica al nodo 1.
  • [2] Solo se aplica al nodo 2.

Requisitos previos

Importante

Antes de seguir las instrucciones para implementar sistemas SAP adicionales en el clúster, implemente el primer sistema SAP en el clúster. Hay pasos que solo son necesarios durante la primera implementación del sistema.

En este artículo se da por hecho que:

  • El clúster de Pacemaker ya está configurado y en ejecución.
  • Al menos un sistema SAP (instancia de ASCS/ERS) ya está implementado y está en ejecución en el clúster.
  • Se ha probado la funcionalidad de conmutación por error de clúster.
  • Se implementan los recursos compartidos NFS para todos los sistemas SAP.

Preparación de la instalación de SAP NetWeaver

  1. Agregue la configuración del sistema recién implementado (es decir, NW2, NW3) a la instancia existente de Azure Load Balancer, siguiendo las instrucciones que se indican en Implementación de Azure Load Balancer manualmente a través de Azure Portal. Ajuste las direcciones IP, los puertos de sondeo de estado y las reglas de equilibrio de carga de la configuración.

  2. [A] Configure la resolución de nombres para los sistemas SAP adicionales. Puede usar un servidor DNS o modificar /etc/hosts en todos los nodos. En este ejemplo se muestra cómo utilizar el archivo /etc/hosts. Adapte las direcciones IP y los nombres de host a su entorno.

    sudo vi /etc/hosts
    # IP address of the load balancer frontend configuration for NW2 ASCS
    10.3.1.52 msnw2ascs
    # IP address of the load balancer frontend configuration for NW3 ASCS
    10.3.1.54 msnw3ascs
    # IP address of the load balancer frontend configuration for NW2 ERS
    10.3.1.53 msnw2ers
    # IP address of the load balancer frontend configuration for NW3 ERS
    10.3.1.55 msnw3ers
    
  3. [A] Cree los directorios compartidos para los sistemas SAP adicionales NW2 y NW3 que se van a implementar en el clúster.

    sudo mkdir -p /sapmnt/NW2
    sudo mkdir -p /usr/sap/NW2/SYS
    sudo mkdir -p /usr/sap/NW2/ASCS10
    sudo mkdir -p /usr/sap/NW2/ERS12
    sudo mkdir -p /sapmnt/NW3
    sudo mkdir -p /usr/sap/NW3/SYS
    sudo mkdir -p /usr/sap/NW3/ASCS20
    sudo mkdir -p /usr/sap/NW3/ERS22
    
    
    sudo chattr +i /sapmnt/NW2
    sudo chattr +i /usr/sap/NW2/SYS
    sudo chattr +i /usr/sap/NW2/ASCS10
    sudo chattr +i /usr/sap/NW2/ERS12
    sudo chattr +i /sapmnt/NW3
    sudo chattr +i /usr/sap/NW3/SYS
    sudo chattr +i /usr/sap/NW3/ASCS20
    sudo chattr +i /usr/sap/NW3/ERS22
    
  4. [A] Agregue las entradas de montaje para los sistemas de archivos /sapmnt/SID y /usr/sap/SID/SYS para los sistemas SAP adicionales que va a implementar en el clúster. En este ejemplo, es NW2 y NW3.

    Actualice el objeto /etc/fstab del archivo con los sistemas de archivos de los sistemas SAP adicionales que va a implementar en el clúster.

Instalación de ASCS/ERS

  1. Cree los recursos de clúster de IP virtual y sondeo de estado para las instancias de ASCS de los sistemas SAP adicionales que va a implementar en el clúster. En este ejemplo se usan las instancias de ASCS NW2 y NW3, mediante NFS en volúmenes de Azure NetApp Files con el protocolo NFSv3.

    sudo pcs resource create fs_NW2_ASCS Filesystem device='10.42.0.4:/sapMSIDR/usrsapNW2ascs' \
    directory='/usr/sap/NW2/ASCS10' fstype='nfs' force_unmount=safe \
    op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=40 \
     --group g-NW2_ASCS
    
    sudo pcs resource create vip_NW2_ASCS IPaddr2 \
    ip=10.3.1.52 \
     --group g-NW2_ASCS
    
    sudo pcs resource create nc_NW2_ASCS azure-lb port=62010 \
     --group g-NW2_ASCS
    
    sudo pcs resource create fs_NW3_ASCS Filesystem device='10.42.0.4:/sapMSIDR/usrsapNW3ascs' \
    directory='/usr/sap/NW3/ASCS20' fstype='nfs' force_unmount=safe \
    op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=40 \
    --group g-NW3_ASCS
    
    sudo pcs resource create vip_NW3_ASCS IPaddr2 \
    ip=10.3.1.54 \
    --group g-NW3_ASCS
    
    sudo pcs resource create nc_NW3_ASCS azure-lb port=62020 \
    --group g-NW3_ASCS
    

    Asegúrese de que el estado del clúster sea el correcto y que se iniciaron todos los recursos. No es importante en qué nodo se ejecutan los recursos.

  2. [1] Instale ASCS de SAP NetWeaver.

    Instale SAP NetWeaver ASCS como raíz con un nombre de host virtual que se asigna a la dirección IP de la configuración de front-end del equilibrador de carga para ASCS. Por ejemplo, para el sistema NW2, el nombre de host virtual es msnw2ascs, 10.3.1.52 y el número de instancia que usó para el sondeo del equilibrador de carga, por ejemplo 10. Para el sistema NW3, el nombre de host virtual es msnw3ascs, 10.3.1.54 y el número de instancia que usó para el sondeo del equilibrador de carga, por ejemplo 20. Anote en qué nodo de clúster instala ASCS para cada SID de SAP.

    Puede usar el parámetro SAPINST_REMOTE_ACCESS_USER de sapinst para permitir que un usuario no raíz se conecte a sapinst. Puede usar el parámetro SAPINST_USE_HOSTNAME para instalar SAP con el nombre de host virtual.

    # Allow access to SWPM. This rule is not permanent. If you reboot the machine, you have to run the command again
    sudo firewall-cmd --zone=public --add-port=4237/tcp
    sudo swpm/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
    

    Si durante la instalación no se puede crear una subcarpeta en /usr/sap/<SID>/ASCS<Instance#>, pruebe a establecer el propietario en <sid>adm y el grupo en sapsys de la carpeta ASCS<Instance#> e inténtelo de nuevo.

  3. [1] Cree recursos del clúster de IP virtual y sondeo de estado para la instancia de ERS del sistema SAP adicional que va a implementar en el clúster. Este ejemplo es para las instancias de ERS NW2 y NW3, que usan NFS en volúmenes de Azure NetApp Files con el protocolo NFSv3.

    sudo pcs resource create fs_NW2_AERS Filesystem device='10.42.0.4:/sapMSIDR/usrsapNW2ers' \
    directory='/usr/sap/NW2/ERS12' fstype='nfs' force_unmount=safe \
    op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=40 \
     --group g-NW2_AERS
    
    sudo pcs resource create vip_NW2_AERS IPaddr2 \
    ip=10.3.1.53 \
     --group g-NW2_AERS
    
    sudo pcs resource create nc_NW2_AERS azure-lb port=62112 \
     --group g-NW2_AERS
    
    sudo pcs resource create fs_NW3_AERS Filesystem device='10.42.0.4:/sapMSIDR/usrsapNW3ers' \
    directory='/usr/sap/NW3/ERS22' fstype='nfs' force_unmount=safe \
    op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=40 \
     --group g-NW3_AERS
    
    sudo pcs resource create vip_NW3_AERS IPaddr2 \
    ip=10.3.1.55 \
     --group g-NW3_AERS
    
    sudo pcs resource create nc_NW3_AERS azure-lb port=62122 \
     --group g-NW3_AERS
    

    Asegúrese de que el estado del clúster sea el correcto y que se iniciaron todos los recursos.

    A continuación, asegúrese de que los recursos del grupo ERS recién creado se ejecutan en el nodo de clúster, en lugar del nodo de clúster en el que se instaló la instancia de ASCS para el mismo sistema SAP. Por ejemplo, si NW2 ASCS se instaló en rhelmsscl1, asegúrese de que el grupo ERS de NW2 se encuentra en ejecución en rhelmsscl2. Para migrar el grupo ERS de NW2 a rhelmsscl2, ejecute el siguiente comando para uno de los recursos de clúster del grupo:

    pcs resource move fs_NW2_AERS rhelmsscl2
    
  4. [2] Instale ERS de SAP NetWeaver.

    Instale SAP NetWeaver ERS como raíz en el otro nodo con un nombre de host virtual que se asigna a la dirección IP de la configuración de front-end del equilibrador de carga para ERS. Por ejemplo, para el sistema NW2, el nombre de host virtual es msnw2ers, 10.3.1.53 y el número de instancia que usó para el sondeo del equilibrador de carga, por ejemplo 12. En el caso del sistema NW3, el nombre de host virtual es msnw3ers, 10.3.1.55 y el número de instancia que usó para el sondeo del equilibrador de carga, por ejemplo 22.

    Puede usar el parámetro SAPINST_REMOTE_ACCESS_USER de sapinst para permitir que un usuario no raíz se conecte a sapinst. Puede usar el parámetro SAPINST_USE_HOSTNAME para instalar SAP con el nombre de host virtual.

    # Allow access to SWPM. This rule is not permanent. If you reboot the machine, you have to run the command again
    sudo firewall-cmd --zone=public --add-port=4237/tcp
    sudo swpm/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
    

    Nota

    Use SWPM SP 20 PL 05 o superior. Las versiones inferiores no establecen correctamente los permisos y se producirá un error de instalación.

    Si durante la instalación no se puede crear una subcarpeta en /usr/sap/<NW2>/ERS<Instance#>, pruebe a establecer el propietario en <sid>adm y el grupo en sapsys de la carpeta ERS<Instance#> e inténtelo de nuevo.

    Si fuera necesario migrar el grupo ERS del sistema SAP recién implementado a otro nodo de clúster, no olvide quitar la restricción de ubicación para el grupo de ERS. Para quitar la restricción, ejecute el siguiente comando. Este ejemplo se proporciona para los sistemas SAP NW2 y NW3. Asegúrese de quitar las restricciones temporales del mismo grupo que uso en el comando para mover el grupo de clúster de ERS.

    pcs resource clear fs_NW2_AERS
    pcs resource clear fs_NW3_AERS
    
  5. [1] Adapte los perfiles de instancia de ASCS/SCS y ERS para los sistemas SAP recién instalados. El ejemplo que se muestra a continuación corresponde a NW2. Tendrá que adaptar los perfiles de ASCS/SCS y ERS para todas las instancias de SAP que se agreguen al clúster.

    • Perfil ASCS/SCS

      sudo vi /sapmnt/NW2/profile/NW2_ASCS10_msnw2ascs
      
      # Change the restart command to a start command
      #Restart_Program_01 = local $(_EN) pf=$(_PF)
      Start_Program_01 = local $(_EN) pf=$(_PF)
      
      # Add the keep alive parameter, if using ENSA1
      enque/encni/set_so_keepalive = true
      

      En el caso de ENSA1 y ENSA2, asegúrese de que los parámetros del sistema operativo keepalive se establecen tal y como se describe en la nota de SAP 1410736.

    • Perfil ERS

      sudo vi /sapmnt/NW2/profile/NW2_ERS12_msnw2ers
      
      # Change the restart command to a start command
      #Restart_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID)
      Start_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID)
      
      # remove Autostart from ERS profile
      # Autostart = 1
      
  6. [A] Actualice el archivo /usr/sap/sapservices.

    Para evitar que el script de arranque sapinit inicie las instancias, todas las que sean administradas por Pacemaker se deben marcar como comentario en el archivo /usr/sap/sapservices. El ejemplo que se muestra a continuación corresponde a los sistemas SAP NW2 y NW3.

    # Depending on whether the SAP Startup framework is integrated with systemd, you may observe below entries on the node for ASCS instances. You should comment out the line(s). 
    # LD_LIBRARY_PATH=/usr/sap/NW2/ASCS10/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW2/ASCS10/exe/sapstartsrv pf=/usr/sap/NW2/SYS/profile/NW2_ASCS10_msnw2ascs -D -u nw2adm
    # LD_LIBRARY_PATH=/usr/sap/NW3/ASCS20/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW3/ASCS20/exe/sapstartsrv pf=/usr/sap/NW3/SYS/profile/NW3_ASCS20_msnw3ascs -D -u nw3adm
    # systemctl --no-ask-password start SAPNW2_10 # sapstartsrv pf=/usr/sap/NW2/SYS/profile/NW2_ASCS10_msnw2ascs
    # systemctl --no-ask-password start SAPNW3_20 # sapstartsrv pf=/usr/sap/NW3/SYS/profile/NW3_ASCS20_msnw3ascs
    
    # Depending on whether the SAP Startup framework is integrated with systemd, you may observe below entries on the node for ERS instances. You should comment out the line(s). 
    #LD_LIBRARY_PATH=/usr/sap/NW2/ERS12/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW2/ERS12/exe/sapstartsrv pf=/usr/sap/NW2/ERS12/profile/NW2_ERS12_msnw2ers -D -u nw2adm
    #LD_LIBRARY_PATH=/usr/sap/NW3/ERS22/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW3/ERS22/exe/sapstartsrv pf=/usr/sap/NW3/ERS22/profile/NW3_ERS22_msnw3ers -D -u nw3adm
    # systemctl --no-ask-password start SAPNW2_12 # sapstartsrv pf=/usr/sap/NW2/ERS12/profile/NW2_ERS12_msnw2ers
    # systemctl --no-ask-password start SAPNW3_22 # sapstartsrv pf=/usr/sap/NW3/ERS22/profile/NW3_ERS22_msnw3ers
    

    Importante

    Con el marco de inicio de SAP basado en sistema, las instancias de SAP ahora se pueden administrar mediante systemd. La versión mínima necesaria de Red Hat Enterprise Linux (RHEL) es RHEL 8 para SAP. Como se describe en la nota de SAP 3115048, una nueva instalación de un kernel de SAP con compatibilidad integrada con el marco de inicio de SAP basado en el sistema siempre dará lugar a una instancia de SAP controlada por el sistema. Después de actualizar un kernel de SAP de una instalación de SAP existente a un kernel que tiene compatibilidad con el marco de inicio de SAP basado en el sistema, algunos pasos manuales deben realizarse como se documenta en la nota de SAP 3115048 para convertir el entorno de inicio de SAP existente en uno controlado por el sistema.

    Al usar servicios de alta disponibilidad de Red Hat para SAP (configuración de clúster) para administrar instancias de servidor de aplicaciones de SAP como ASCS de SAP y SAP ERS, se necesitarán modificaciones adicionales para garantizar la compatibilidad entre el agente de recursos de SAPInstance y el nuevo marco de inicio de SAP basado en sistema. Por lo tanto, una vez instaladas o cambiadas las instancias del servidor de aplicaciones de SAP a un kernel de SAP habilitado para el sistema según la nota de SAP 3115048, los pasos mencionados en red Hat KBA 6884531 deben completarse correctamente en todos los nodos del clúster.

  7. [1] Cree los recursos de clúster de SAP para el sistema SAP recién instalado.

    En función de si ejecuta un sistema ENSA1 o ENSA2, seleccione la pestaña correspondiente para definir los recursos de los sistemas NW2 SAP y NW3 como se indica a continuación. SAP introdujo compatibilidad con ENSA2, incluida la replicación, en SAP NetWeaver 7.52. A partir de la plataforma ABAP 1809, ENSA2 se instala de forma predeterminada. Para obtener compatibilidad con ENSA2, consulte sap Note 2630416 for enqueue server 2 support (Nota de SAP 2630416 para la compatibilidad con el servidor de puesta en cola 2).

    Si usa la arquitectura del servidor 2 de puesta en cola (ENSA2), instale resource-agent resource-agents-sap-4.1.1-12.el7.x86_64 o posterior y defina los recursos para los sistemas NW2 SAP y NW3 de la siguiente manera:

    sudo pcs property set maintenance-mode=true
    
    sudo pcs resource create rsc_sap_NW2_ASCS10 SAPInstance \
    InstanceName=NW2_ASCS10_msnw2ascs START_PROFILE="/sapmnt/NW2/profile/NW2_ASCS10_msnw2ascs" \
    AUTOMATIC_RECOVER=false \
    meta resource-stickiness=5000 migration-threshold=1 failure-timeout=60 \
    op monitor interval=20 on-fail=restart timeout=60 \
    op start interval=0 timeout=600 op stop interval=0 timeout=600 \
    --group g-NW2_ASCS
    
    sudo pcs resource meta g-NW2_ASCS resource-stickiness=3000
    
    sudo pcs resource create rsc_sap_NW2_ERS12 SAPInstance \
    InstanceName=NW2_ERS12_msnw2ers START_PROFILE="/sapmnt/NW2/profile/NW2_ERS12_msnw2ers" \
    AUTOMATIC_RECOVER=false IS_ERS=true \
    op monitor interval=20 on-fail=restart timeout=60 op start interval=0 timeout=600 op stop interval=0 timeout=600 \
    --group g-NW2_AERS
    
    sudo pcs constraint colocation add g-NW2_AERS with g-NW2_ASCS -5000
    sudo pcs constraint location rsc_sap_NW2_ASCS10 rule score=2000 runs_ers_NW2 eq 1
    sudo pcs constraint order start g-NW2_ASCS then stop g-NW2_AERS kind=Optional symmetrical=false
    
    sudo pcs resource create rsc_sap_NW3_ASCS20 SAPInstance \
    InstanceName=NW3_ASCS20_msnw3ascs START_PROFILE="/sapmnt/NW3/profile/NW3_ASCS20_msnw3ascs" \
    AUTOMATIC_RECOVER=false \
    meta resource-stickiness=5000 migration-threshold=1 failure-timeout=60 \
    op monitor interval=20 on-fail=restart timeout=60 \
    op start interval=0 timeout=600 op stop interval=0 timeout=600 \
    --group g-NW3_ASCS
    
    sudo pcs resource meta g-NW3_ASCS resource-stickiness=3000
    
    sudo pcs resource create rsc_sap_NW3_ERS22 SAPInstance \
    InstanceName=NW3_ERS22_msnw3ers START_PROFILE="/sapmnt/NW3/profile/NW2_ERS22_msnw3ers" \
    AUTOMATIC_RECOVER=false IS_ERS=true \
    op monitor interval=20 on-fail=restart timeout=60 op start interval=0 timeout=600 op stop interval=0 timeout=600 \
    --group g-NW3_AERS
    
    sudo pcs constraint colocation add g-NW3_AERS with g-NW3_ASCS -5000
    sudo pcs constraint location rsc_sap_NW3_ASCS20 rule score=2000 runs_ers_NW3 eq 1
    sudo pcs constraint order start g-NW3_ASCS then stop g-NW3_AERS kind=Optional symmetrical=false
    
    sudo pcs property set maintenance-mode=false
    

    Si está actualizando desde una versión anterior y va a cambiar al servidor 2 de puesta en cola, consulte la nota de SAP 2641019.

    Nota

    Los tiempos de espera de la configuración anterior son solo ejemplos y puede ser necesario adaptarlos a la configuración específica de SAP.

    Asegúrese de que el estado del clúster sea el correcto y que se iniciaron todos los recursos. No es importante en qué nodo se ejecutan los recursos. En el ejemplo siguiente se muestra el estado de los recursos de clúster después de haber agregado los sistemas SAP NW2 y NW3 al clúster.

    sudo pcs status
    
    # Online: [ rhelmsscl1 rhelmsscl2 ]
    
    # Full list of resources:
    
    # rsc_st_azure   (stonith:fence_azure_arm):      Started rhelmsscl1
    # Resource Group: g-NW1_ASCS
    #   fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started rhelmsscl1
    #   vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl1
    #   nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started rhelmsscl1
    #   rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started rhelmsscl1
    # Resource Group: g-NW1_AERS
    #   fs_NW1_AERS        (ocf::heartbeat:Filesystem):    Started rhelmsscl2
    #   vip_NW1_AERS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl2
    #   nc_NW1_AERS        (ocf::heartbeat:azure-lb):      Started rhelmsscl2
    #   rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started rhelmsscl2
    # Resource Group: g-NW2_ASCS
    #   fs_NW2_ASCS        (ocf::heartbeat:Filesystem):    Started rhelmsscl1
    #   vip_NW2_ASCS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl1
    #   nc_NW2_ASCS        (ocf::heartbeat:azure-lb):      Started rhelmsscl1
    #   rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance):   Started rhelmsscl1
    # Resource Group: g-NW2_AERS
    #   fs_NW2_AERS        (ocf::heartbeat:Filesystem):    Started rhelmsscl1
    #   vip_NW2_AERS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl1
    #   nc_NW2_AERS        (ocf::heartbeat:azure-lb):      Started rhelmsscl1
    #   rsc_sap_NW2_ERS12  (ocf::heartbeat:SAPInstance):   Started rhelmsscl1
    # Resource Group: g-NW3_ASCS
    #   fs_NW3_ASCS        (ocf::heartbeat:Filesystem):    Started rhelmsscl1
    #   vip_NW3_ASCS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl1
    #   nc_NW3_ASCS        (ocf::heartbeat:azure-lb):      Started rhelmsscl1
    #   rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance):   Started rhelmsscl1
    # Resource Group: g-NW3_AERS
    #   fs_NW3_AERS        (ocf::heartbeat:Filesystem):    Started rhelmsscl1
    #   vip_NW3_AERS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl1
    #   nc_NW3_AERS        (ocf::heartbeat:azure-lb):      Started rhelmsscl1
    #  rsc_sap_NW3_ERS22  (ocf::heartbeat:SAPInstance):   Started rhelmsscl1
    
  8. [A] Agregue reglas de firewall para ASCS y ERS en ambos nodos. En el ejemplo siguiente se muestran las reglas de firewall para los sistemas SAP NW2 y NW3.

    # NW1 - ASCS
    sudo firewall-cmd --zone=public --add-port={62010,3210,3610,3910,8110,51013,51014,51016}/tcp --permanent
    sudo firewall-cmd --zone=public --add-port={62010,3210,3610,3910,8110,51013,51014,51016}/tcp
    # NW2 - ERS
    sudo firewall-cmd --zone=public --add-port={62112,3212,3312,51213,51214,51216}/tcp --permanent
    sudo firewall-cmd --zone=public --add-port={62112,3212,3312,51213,51214,51216}/tcp
    # NW3 - ASCS
    sudo firewall-cmd --zone=public --add-port={62020,3220,3620,3920,8120,52013,52014,52016}/tcp --permanent
    sudo firewall-cmd --zone=public --add-port={62020,3220,3620,3920,8120,52013,52014,52016}/tcp
    # NW3 - ERS
    sudo firewall-cmd --zone=public --add-port={62122,3222,3322,52213,52214,52216}/tcp --permanent
    sudo firewall-cmd --zone=public --add-port={62122,3222,3322,52213,52214,52216}/tcp
    

Continuación de la instalación de SAP

Complete la instalación de SAP mediante las siguientes tareas:

Prueba de la configuración del clúster de varios SID

Las siguientes pruebas constituyen un subconjunto de los casos de prueba de las guías de procedimientos recomendados de Red Hat. Por motivos prácticos, se incluyen en este artículo. Para obtener una lista completa de las pruebas del clúster, consulte la siguiente documentación:

Además, lea siempre las guías de procedimientos recomendados de Red Hat y realice todas las pruebas adicionales que puedan haberse agregado. Las pruebas que se presentan se encuentran en un clúster de dos nodos y varios SID con tres sistemas SAP instalados.

  1. Migración manual de la instancia de ASCS. En el ejemplo se muestra cómo migrar la instancia de ASCS para SAP System NW3.

    Estado del recurso antes de iniciar la prueba:

    Online: [ rhelmsscl1 rhelmsscl2 ]
    
    Full list of resources:
    
    rsc_st_azure   (stonith:fence_azure_arm):      Started rhelmsscl1
    Resource Group: g-NW1_ASCS
        fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started rhelmsscl1
        vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl1
        nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started rhelmsscl1
        rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started rhelmsscl1
    Resource Group: g-NW1_AERS
        fs_NW1_AERS        (ocf::heartbeat:Filesystem):    Started rhelmsscl2
        vip_NW1_AERS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl2
        nc_NW1_AERS        (ocf::heartbeat:azure-lb):      Started rhelmsscl2
        rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started rhelmsscl2
    Resource Group: g-NW2_ASCS
        fs_NW2_ASCS        (ocf::heartbeat:Filesystem):    Started rhelmsscl2
        vip_NW2_ASCS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl2
        nc_NW2_ASCS        (ocf::heartbeat:azure-lb):      Started rhelmsscl2
        rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance):   Started rhelmsscl2
    Resource Group: g-NW2_AERS
        fs_NW2_AERS        (ocf::heartbeat:Filesystem):    Started rhelmsscl1
        vip_NW2_AERS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl1
        nc_NW2_AERS        (ocf::heartbeat:azure-lb):      Started rhelmsscl1
        rsc_sap_NW2_ERS12  (ocf::heartbeat:SAPInstance):   Started rhelmsscl1
    Resource Group: g-NW3_ASCS
        fs_NW3_ASCS        (ocf::heartbeat:Filesystem):    Started rhelmsscl2
        vip_NW3_ASCS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl2
        nc_NW3_ASCS        (ocf::heartbeat:azure-lb):      Started rhelmsscl2
        rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance):   Started rhelmsscl2
    Resource Group: g-NW3_AERS
        fs_NW3_AERS        (ocf::heartbeat:Filesystem):    Started rhelmsscl1
        vip_NW3_AERS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl1
        nc_NW3_AERS        (ocf::heartbeat:azure-lb):      Started rhelmsscl1
        rsc_sap_NW3_ERS22  (ocf::heartbeat:SAPInstance):   Started rhelmsscl1
    

    Ejecute los siguientes comandos como raíz para migrar la instancia de NW3 ASCS.

    pcs resource move rsc_sap_NW3_ASCS200
    # Clear temporary migration constraints
    pcs resource clear rsc_sap_NW3_ASCS20
    
    # Remove failed actions for the ERS that occurred as part of the migration
    pcs resource cleanup rsc_sap_NW3_ERS22
    

    Estado del recurso después de la prueba:

    Online: [ rhelmsscl1 rhelmsscl2 ]
    
    Full list of resources:
    
    rsc_st_azure   (stonith:fence_azure_arm):      Started rhelmsscl1
    Resource Group: g-NW1_ASCS
        fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started rhelmsscl1
        vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl1
        nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started rhelmsscl1
        rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started rhelmsscl1
    Resource Group: g-NW1_AERS
        fs_NW1_AERS        (ocf::heartbeat:Filesystem):    Started rhelmsscl2
        vip_NW1_AERS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl2
        nc_NW1_AERS        (ocf::heartbeat:azure-lb):      Started rhelmsscl2
        rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started rhelmsscl2
    Resource Group: g-NW2_ASCS
        fs_NW2_ASCS        (ocf::heartbeat:Filesystem):    Started rhelmsscl2
        vip_NW2_ASCS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl2
        nc_NW2_ASCS        (ocf::heartbeat:azure-lb):      Started rhelmsscl2
        rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance):   Started rhelmsscl2
    Resource Group: g-NW2_AERS
        fs_NW2_AERS        (ocf::heartbeat:Filesystem):    Started rhelmsscl1
        vip_NW2_AERS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl1
        nc_NW2_AERS        (ocf::heartbeat:azure-lb):      Started rhelmsscl1
        rsc_sap_NW2_ERS12  (ocf::heartbeat:SAPInstance):   Started rhelmsscl1
    Resource Group: g-NW3_ASCS
        fs_NW3_ASCS        (ocf::heartbeat:Filesystem):    Started rhelmsscl1
        vip_NW3_ASCS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl1
        nc_NW3_ASCS        (ocf::heartbeat:azure-lb):      Started rhelmsscl1
        rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance):   Started rhelmsscl1
    Resource Group: g-NW3_AERS
        fs_NW3_AERS        (ocf::heartbeat:Filesystem):    Started rhelmsscl2
        vip_NW3_AERS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl2
        nc_NW3_AERS        (ocf::heartbeat:azure-lb):      Started rhelmsscl2
        rsc_sap_NW3_ERS22  (ocf::heartbeat:SAPInstance):   Started rhelmsscl2
    
  2. Simulación de bloqueo del nodo.

    Estado del recurso antes de iniciar la prueba:

    Online: [ rhelmsscl1 rhelmsscl2 ]
    
    Full list of resources:
    
    rsc_st_azure   (stonith:fence_azure_arm):      Started rhelmsscl1
    Resource Group: g-NW1_ASCS
        fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started rhelmsscl1
        vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl1
        nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started rhelmsscl1
        rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started rhelmsscl1
    Resource Group: g-NW1_AERS
        fs_NW1_AERS        (ocf::heartbeat:Filesystem):    Started rhelmsscl2
        vip_NW1_AERS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl2
        nc_NW1_AERS        (ocf::heartbeat:azure-lb):      Started rhelmsscl2
        rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started rhelmsscl2
    Resource Group: g-NW2_ASCS
        fs_NW2_ASCS        (ocf::heartbeat:Filesystem):    Started rhelmsscl1
        vip_NW2_ASCS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl1
        nc_NW2_ASCS        (ocf::heartbeat:azure-lb):      Started rhelmsscl1
        rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance):   Started rhelmsscl1
    Resource Group: g-NW2_AERS
        fs_NW2_AERS        (ocf::heartbeat:Filesystem):    Started rhelmsscl2
        vip_NW2_AERS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl2
        nc_NW2_AERS        (ocf::heartbeat:azure-lb):      Started rhelmsscl2
        rsc_sap_NW2_ERS12  (ocf::heartbeat:SAPInstance):   Started rhelmsscl2
    Resource Group: g-NW3_ASCS
        fs_NW3_ASCS        (ocf::heartbeat:Filesystem):    Started rhelmsscl1
        vip_NW3_ASCS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl1
        nc_NW3_ASCS        (ocf::heartbeat:azure-lb):      Started rhelmsscl1
        rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance):   Started rhelmsscl1
    Resource Group: g-NW3_AERS
        fs_NW3_AERS        (ocf::heartbeat:Filesystem):    Started rhelmsscl2
        vip_NW3_AERS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl2
        nc_NW3_AERS        (ocf::heartbeat:azure-lb):      Started rhelmsscl2
        rsc_sap_NW3_ERS22  (ocf::heartbeat:SAPInstance):   Started rhelmsscl2
    

    Ejecute el siguiente comando como raíz en el nodo en el que haya al menos una instancia de ASCS en ejecución. En este ejemplo se ejecuta el comando en rhelmsscl1, donde se ejecutan las instancias de ASCS para NW1, NW2 y NW3.

    echo c > /proc/sysrq-trigger
    

    El estado tras la prueba y tras el nodo, que se bloqueó e inició de nuevo, debería parecerse a estos resultados:

    Full list of resources:
    
    rsc_st_azure    (stonith:fence_azure_arm):      Started rhelmsscl2
    Resource Group: g-NW1_ASCS
        fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started rhelmsscl2
        vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl2
        nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started rhelmsscl2
        rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started rhelmsscl2
    Resource Group: g-NW1_AERS
        fs_NW1_AERS        (ocf::heartbeat:Filesystem):    Started rhelmsscl1
        vip_NW1_AERS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl1
        nc_NW1_AERS        (ocf::heartbeat:azure-lb):      Started rhelmsscl1
        rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started rhelmsscl1
    Resource Group: g-NW2_ASCS
        fs_NW2_ASCS        (ocf::heartbeat:Filesystem):    Started rhelmsscl2
        vip_NW2_ASCS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl2
        nc_NW2_ASCS        (ocf::heartbeat:azure-lb):      Started rhelmsscl2
        rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance):   Started rhelmsscl2
    Resource Group: g-NW2_AERS
        fs_NW2_AERS        (ocf::heartbeat:Filesystem):    Started rhelmsscl1
        vip_NW2_AERS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl1
        nc_NW2_AERS        (ocf::heartbeat:azure-lb):      Started rhelmsscl1
        rsc_sap_NW2_ERS12  (ocf::heartbeat:SAPInstance):   Started rhelmsscl1
    Resource Group: g-NW3_ASCS
        fs_NW3_ASCS        (ocf::heartbeat:Filesystem):    Started rhelmsscl2
        vip_NW3_ASCS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl2
        nc_NW3_ASCS        (ocf::heartbeat:azure-lb):      Started rhelmsscl2
        rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance):   Started rhelmsscl2
    Resource Group: g-NW3_AERS
        fs_NW3_AERS        (ocf::heartbeat:Filesystem):    Started rhelmsscl1
        vip_NW3_AERS       (ocf::heartbeat:IPaddr2):       Started rhelmsscl1
        nc_NW3_AERS        (ocf::heartbeat:azure-lb):      Started rhelmsscl1
        rsc_sap_NW3_ERS22  (ocf::heartbeat:SAPInstance):   Started rhelmsscl1
    

    Si hay mensajes para recursos con errores, limpie el estado de dichos recursos. Por ejemplo:

    pcs resource cleanup rsc_sap_NW1_ERS02
    

Pasos siguientes

Para más información sobre cómo establecer la alta disponibilidad y planear la recuperación ante desastres de SAP HANA en VM de Azure, consulte Alta disponibilidad de SAP HANA en Azure Virtual Machines (VM).