Alta disponibilidad para SAP NetWeaver en máquinas virtuales en RHEL con NFS en Azure Files

En este artículo se describe cómo implementar y configurar máquinas virtuales (VM), instalar el marco de clúster e instalar un sistema SAP NetWeaver de alta disponibilidad (HA) mediante NFS en Azure Files. Las configuraciones de ejemplo usan máquinas virtuales que se ejecutan en Red Hat Enterprise Linux (RHEL).

Requisitos previos

Información general

Para implementar el nivel de aplicación de SAP NetWeaver, necesita directorios compartidos como /sapmnt/SID y /usr/sap/trans en el entorno. Además, al implementar un sistema SAP de alta disponibilidad, debe proteger y crear sistemas de archivos de alta disponibilidad como /sapmnt/SID y /usr/sap/SID/ASCS.

Ahora, puede colocar estos sistemas de archivos en la característica NFS de Azure Files. La característica NFS de Azure Files es una solución de almacenamiento de alta disponibilidad. Esta solución ofrece almacenamiento sincrónico con redundancia de zona (ZRS) y es adecuada para las instancias ASCS/ERS de SAP implementadas en diferentes zonas de disponibilidad. Seguirá necesitando un clúster de Pacemaker para proteger los componentes de único punto de error, como los servicios centrales de SAP NetWeaver (ASCS/SCS).

En las configuraciones de ejemplo y los comandos de instalación, se utilizan los siguientes números de instancia:

Nombre de instancia Número de instancia
Servicios centrales de SAP ABAP (ASCS) 00
ERS 01
Servicios centrales de SAP ABAP (ASCS) 02
Servidor de aplicaciones adicional (AAS) 03
Identificador del sistema SAP NW1

Diagram that shows SAP NetWeaver high availability with NFS on Azure Files.

En este diagrama se muestra una arquitectura de alta disponibilidad de SAP NetWeaver típica. Los sistemas de archivos "sapmnt" y "saptrans" se implementan en recursos compartidos NFS en Azure Files. Los servicios centrales de SAP están protegidos por un clúster de Pacemaker. Las máquinas virtuales en clúster están detrás de una instancia de Azure Load Balancer. Los recursos compartidos de NFS se montan utilizando puntos de conexión privados.

Preparación de la infraestructura

Azure Marketplace contiene imágenes calificadas para SAP con el complemento de alta disponibilidad, que puede usar para implementar nuevas máquinas virtuales mediante varias versiones de Red Hat.

Implementación manual de VM de Linux mediante Azure Portal

En este documento, se presupone que ya ha implementado una instancia de red virtual de Azure, una subred y un grupo de recursos.

Implemente máquinas virtuales para servidores de aplicaciones, ERS y ASCS de SAP. Elija una imagen de RHEL adecuada que sea compatible con el sistema SAP. Puede implementar una máquina virtual en cualquiera de las opciones de disponibilidad: conjunto de escalado de máquinas virtuales, zona de disponibilidad o conjunto de disponibilidad.

Configurar Azure Load Balancer

Durante la configuración de la máquina virtual, tiene una opción para crear o seleccionar salir del equilibrador de carga en la sección de redes. Siga los pasos siguientes para configurar un equilibrador de carga estándar para la configuración de alta disponibilidad de ASCS de SAP y ERS de SAP.

Siga la guía de creación del equilibrador de carga para configurar un equilibrador de carga estándar para un sistema SAP de alta disponibilidad mediante Azure Portal. Durante la configuración del equilibrador de carga, tenga en cuenta los siguientes puntos.

  1. Configuración de IP de front-end: cree dos direcciones IP de front-end, una para ASCS y otra para ERS. Seleccione la misma red virtual y subred que las máquinas virtuales ASCS/ERS.
  2. Grupo de back-end: cree un grupo de back-end y agregue máquinas virtuales ASCS y ERS.
  3. Reglas de entrada: cree dos reglas de equilibrio de carga, una para ASCS y otra para ERS. Siga los mismos pasos para ambas reglas de equilibrio de carga.
    • Dirección IP de front-end: selección de IP de front-end
    • Grupo de back-end: selección del grupo de back-end
    • Comprobación de "Puertos de alta disponibilidad"
    • Protocolo: TCP
    • Sondeo de estado: cree un sondeo de estado con los detalles siguientes (se aplica tanto para ASCS como para ERS)
      • Protocolo: TCP
      • Puerto: [por ejemplo: 620<Instance-no.> para ASCS, 621<Instance-no.> para ERS]
      • Intervalo: 5
      • Umbral de sondeo: 2
    • Tiempo de espera de inactividad (minutos): 30
    • Active "Habilitar IP flotante"

Nota:

No se respeta la propiedad de configuración del sondeo de estado numberOfProbes, también conocida como "umbral incorrecto" en el Portal. Por lo tanto, para controlar el número de sondeos consecutivos correctos o erróneos, establezca la propiedad "probeThreshold" en 2. Actualmente no es posible establecer esta propiedad mediante Azure Portal, por lo que puede usar la CLI de Azure o el comando de PowerShell.

Importante

La dirección IP flotante no se admite en una configuración de IP secundaria de NIC en escenarios de equilibrio de carga. Para obtener más información, consulte limitaciones de Load Balancer. Si necesita otra dirección IP 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 una instancia estándar interna (sin dirección IP pública) de Load Balancer, no hay conectividad saliente a Internet a menos que se realice más configuración para permitir el enrutamiento a puntos de conexión públicos. Para obtener más información sobre cómo conseguir la conectividad saliente, consulte 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 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.

Implementación de la cuenta de almacenamiento de Azure Files y los recursos compartidos de NFS

NFS de Azure Files se ejecuta con almacenamiento prémium de Azure Files. Antes de configurar NFS en Azure Files, consulte Creación de un recurso compartido de NFS.

Existen dos opciones de redundancia dentro de una región de Azure:

Compruebe si la región de Azure seleccionada ofrece NFS 4.1 en Azure Files con la redundancia adecuada. Consulte la disponibilidad de Azure Files en cada región de Azure en el nivel de almacenamiento de archivos Premium. Si el escenario tiene ZRS, asegúrese de que la región de Azure permite utilizar recursos compartidos de archivos prémium con ZRS.

Se recomienda acceder a la cuenta de Azure Storage mediante un punto de conexión privado de Azure. Asegúrese de implementar el punto de conexión de la cuenta de almacenamiento de Azure Files, y las máquinas virtuales donde se deben montar los recursos compartidos de NFS, en la misma red virtual de Azure o en redes virtuales de Azure emparejadas.

  1. Implemente una cuenta de almacenamiento de Azure Files denominada sapafsnfs. En este ejemplo, utilizaremos ZRS. Si no conoce bien este proceso, consulte Creación de una cuenta de almacenamiento en Azure Portal.

  2. En la pestaña Aspectos básicos, use esta configuración:

    1. En Nombre de cuenta de almacenamiento, escriba sapafsnfs.
    2. En Rendimiento, seleccione Premium.
    3. En Tipo de cuenta prémium, seleccione FileStorage.
    4. En Replicación, seleccione redundancia de zona (ZRS).
  3. Seleccione Siguiente.

  4. En la pestaña Opciones avanzadas, desactive Requerir transferencia segura para operaciones de API de REST. Si no desactiva esta opción, no podrá montar el recurso compartido de NFS en la máquina virtual. Se agotará el tiempo de espera de la operación de montaje.

  5. Seleccione Next (Siguiente).

  6. En la sección Redes, configure estas opciones:

    1. En Conectividad de red, en Método de conectividad, seleccione Punto de conexión privado.
    2. En Punto de conexión privado, seleccione Agregar un punto de conexión privado.
  7. En el panel Crear un punto de conexión privado, seleccione la suscripción, el grupo de recursos y la ubicación. En Nombre, escriba sapafsnfs_pe. En Subrecurso de almacenamiento, seleccione archivo. En Redes, en Red virtual, seleccione la red virtual y la subred que se van a usar. De nuevo, puede usar la red virtual donde están las máquinas virtuales de SAP o una red virtual emparejada. En Integración de DNS privado, acepte la opción predeterminada, , de Integrar con la zona DNS privada. No olvide seleccionar la zona DNS privada. Seleccione Aceptar.

  8. Seleccione la pestaña Redes y Siguiente.

  9. En la pestaña Protección de datos, deje todos los valores predeterminados.

  10. Seleccione Revisar y crear para validar la configuración.

  11. Espere a que se complete la validación. Corrija los problemas antes de continuar.

  12. En la pestaña Revisar y crear, seleccione Crear.

A continuación, implemente los recursos compartidos de NFS en la cuenta de almacenamiento que ha creado. En este ejemplo, hay dos recursos compartidos de NFS, sapnw1 y saptrans.

  1. Inicie sesión en Azure Portal.
  2. Seleccione o busque las cuentas de almacenamiento.
  3. En la página Cuentas de almacenamiento, seleccione sapafsnfs.
  4. En el menú de recursos de sapafsnfs, en Almacenamiento de datos, seleccione Recursos compartidos de archivos.
  5. En la página Recursos compartidos de archivos, seleccione Recurso compartido de archivos.
    1. En Nombre, escriba sapnw1, saptrans.
    2. Seleccione el tamaño adecuado para el recurso compartido. Por ejemplo, 128 GB. Tenga en cuenta el tamaño de los datos almacenados en los requisitos de uso compartido e IOPS y rendimiento. Para más información, consulte este artículo sobre los objetivos de los recursos compartidos de archivos de Azure.
    3. Seleccione NFS como protocolo.
    4. Seleccione No root Squash (Sin squash raíz). De lo contrario, al montar los recursos compartidos en las máquinas virtuales, no podrá ver el propietario ni el grupo de archivos.

Importante

El tamaño del recurso compartido anterior es solo un ejemplo. Asegúrese de elegir el tamaño adecuado para sus recursos compartidos. El tamaño no solo depende del tamaño de los datos almacenados en el recurso compartido, sino también de los requisitos de IOPS y del rendimiento. Para más información, consulte este artículo sobre los objetivos de los recursos compartidos de archivos de Azure.

Los sistemas de archivos SAP que no tienen que montarse mediante NFS también se pueden implementar en Azure Disk Storage. En este ejemplo, puede implementar /usr/sap/NW1/D02 y /usr/sap/NW1/D03 en Azure Disk Storage.

Consideraciones importantes sobre NFS en los recursos compartidos de Azure Files

Cuando planee la implementación con NFS en Azure Files, tenga en cuenta los siguientes puntos importantes:

  • El tamaño mínimo del recurso compartido es 100 GiB. Solo se paga por la capacidad de los recursos compartidos aprovisionados.
  • El tamaño de los recursos compartidos de NFS no solo depende de los requisitos de capacidad, sino también de los requisitos de IOPS y de los requisitos de rendimiento. Para más información, consulte este artículo sobre los objetivos de los recursos compartidos de archivos de Azure.
  • Pruebe la carga de trabajo para validar el tamaño y asegurarse de que se ajusta a los objetivos de rendimiento. Para más información sobre la resolución de los problemas de rendimiento con NFS en Azure Files, consulte Solución de problemas de rendimiento de recursos compartidos de archivos de Azure.
  • En el caso de los sistemas SAP J2EE, /usr/sap/<SID>/J<nr> no se puede colocar en la característica NFS de Azure Files.
  • Si el sistema SAP tiene una gran carga de trabajos por lotes, es posible que tenga millones de registros de trabajos. Si los registros de trabajos por lotes de SAP se almacenan en el sistema de archivos, preste especial atención al tamaño del recurso compartido sapmnt. A partir de SAP_BASIS 7.52, los registros de trabajos por lotes se almacenarán de forma predeterminada en la base de datos. Para obtener más información, consulte registro de trabajos en la base de datos.
  • Implemente un recurso compartido sapmnt diferente para cada sistema SAP.
  • No use el recurso compartido sapmnt para ninguna otra actividad, como las interfaces o saptrans.
  • No use el recurso compartido saptrans para ninguna otra actividad, como las interfaces o sapmnt.
  • Evite agrupar los recursos compartidos de demasiados sistemas SAP en una sola cuenta de almacenamiento. También hay objetivos de escalado del rendimiento de la cuenta de almacenamiento. Además, debe tener cuidado para no superar los límites de la cuenta de almacenamiento.
  • En general, no agrupe los recursos compartidos de más de cinco sistemas SAP en una sola cuenta de almacenamiento. Esta guía le ayudará a evitar que sobrepase los límites de la cuenta de almacenamiento y simplificará el análisis de rendimiento.
  • En general, evite mezclar recursos compartidos, como sapmnt, de sistemas SAP que sean de producción y no producción en la misma cuenta de almacenamiento.
  • Es conveniente que realice la implementación en RHEL 8.4 o una versión posterior para aprovechar las mejoras del cliente de NFS.
  • Utilice un punto de conexión privado. En el improbable caso de que se produzca un error en una zona, las sesiones de NFS se redirigirán automáticamente a una zona en buen estado. No será necesario que vuelva a montar los recursos compartidos de NFS en las máquinas virtuales.
  • Si va a implementar las máquinas virtuales en diferentes zonas de disponibilidad, use una cuenta de almacenamiento con ZRS en las regiones de Azure que admitan esta funcionalidad.
  • En la actualidad, Azure Files no admite la replicación automática entre regiones para escenarios de recuperación ante desastres.

Configuración de (A)SCS

A continuación, preparará e instalará las instancias de SAP ASCS y ERS.

Creación de un clúster de Pacemaker

Siga los pasos de Configurar Pacemaker en Red Hat Enterprise Linux en Azure para crear un clúster de Pacemaker básico para este servidor (A)SCS.

Preparación de la instalación de un SAP NetWeaver

Los siguientes elementos llevan delante:

  • [A] : Aplicable a todos los nodos
  • [1]: solo aplicable al nodo 1
  • [2]: solo aplicable al nodo 2
  1. [A] Configure la resolución de nombres de host.

    Puede usar un servidor DNS o modificar el archivo /etc/hosts en todos los nodos. En este ejemplo se muestra cómo utilizar el archivo /etc/hosts. Reemplace la dirección IP y el nombre de host en los siguientes comandos:

    sudo vi /etc/hosts
    

    Inserte las líneas siguientes en /etc/hosts. Cambie la dirección IP y el nombre de host para que coincidan con su entorno.

     # IP address of cluster node 1
     10.90.90.7    sap-cl1
     # IP address of cluster node 2
     10.90.90.8     sap-cl2
     # IP address of the load balancer frontend configuration for SAP Netweaver ASCS
     10.90.90.10   sapascs
     # IP address of the load balancer frontend configuration for SAP Netweaver ERS
     10.90.90.9    sapers
    
  2. [A] Instale el cliente de NFS y otros requisitos.

    sudo yum -y install nfs-utils resource-agents resource-agents-sap
    
  3. [1] Cree los directorios de SAP en el recurso compartido de NFS.
    Monte el recurso compartido de NFS sapnw1 temporalmente en una de las máquinas virtuales, y cree los directorios de SAP que se usarán como puntos de montaje anidados.

    # mount temporarily the volume
    sudo mkdir -p /saptmp
    sudo mount -t nfs sapnfs.file.core.windows.net:/sapnfsafs/sapnw1 /saptmp -o noresvport,vers=4,minorversion=1,sec=sys
    # create the SAP directories
    sudo cd /saptmp
    sudo mkdir -p sapmntNW1
    sudo mkdir -p usrsapNW1ascs
    sudo mkdir -p usrsapNW1ers
    sudo mkdir -p usrsapNW1sys
    # unmount the volume and delete the temporary directory
    cd ..
    sudo umount /saptmp
    sudo rmdir /saptmp
    
  4. [A]: cree los directorios compartidos.

    sudo mkdir -p /sapmnt/NW1
    sudo mkdir -p /usr/sap/trans
    sudo mkdir -p /usr/sap/NW1/SYS
    sudo mkdir -p /usr/sap/NW1/ASCS00
    sudo mkdir -p /usr/sap/NW1/ERS01
    
    sudo chattr +i /sapmnt/NW1
    sudo chattr +i /usr/sap/trans
    sudo chattr +i /usr/sap/NW1/SYS
    sudo chattr +i /usr/sap/NW1/ASCS00
    sudo chattr +i /usr/sap/NW1/ERS01
    
  5. [A] Compruebe la versión de resource-agents-sap.

    Asegúrese de que la versión del paquete resource-agents-sap instalado sea al menos 3.9.5-124.el7.

    sudo yum info resource-agents-sap
    
  6. [A] Agregar entradas de montaje.

    vi /etc/fstab
    # Add the following lines to fstab, save and exit
    sapnfs.file.core.windows.net:/sapnfsafs/saptrans /usr/sap/trans  nfs noresvport,vers=4,minorversion=1,sec=sys  0  0
    sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/sapmntNW1 /sapmnt/NW1  nfs noresvport,vers=4,minorversion=1,sec=sys  0  0
    sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1sys/ /usr/sap/NW1/SYS  nfs noresvport,vers=4,minorversion=1,sec=sys  0  0
    
    # Mount the file systems
    mount -a 
    
  7. [A]: configure el archivo SWAP.

    sudo vi /etc/waagent.conf
    
    # Set the property ResourceDisk.EnableSwap to y
    # Create and use swapfile on resource disk.
    ResourceDisk.EnableSwap=y
    
    # Set the size of the SWAP file with property ResourceDisk.SwapSizeMB
    # The free space of resource disk varies by virtual machine size. Make sure that you do not set a value that is too big. You can check the SWAP space with command swapon
    # Size of the swapfile.
    ResourceDisk.SwapSizeMB=2000
    

    Reinicie el agente para activar el cambio.

    sudo service waagent restart
    
  8. [A] Configure RHEL.

    Configure RHEL como se describe en la nota de SAP 2002167 para RHEL 7.x, la nota de SAP2772999 para RHEL 8.x, o la nota de SAP 3108316 para RHEL 9.x.

Instalación de SAP NetWeaver ASCS/ERS

  1. [1] Configure las propiedades predeterminadas del clúster.

    # If using RHEL 7.x
    pcs resource defaults resource-stickiness=1
    pcs resource defaults migration-threshold=3
    # If using RHEL 8.x or later
    pcs resource defaults update resource-stickiness=1
    pcs resource defaults update migration-threshold=3
    
  2. [1]: cree un recurso de IP virtual y un sondeo de estado para la instancia de ASCS.

    sudo pcs node standby sap-cl2
    
    sudo pcs resource create fs_NW1_ASCS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1ascs' \
      directory='/usr/sap/NW1/ASCS00' fstype='nfs' force_unmount=safe options='noresvport,vers=4,minorversion=1,sec=sys' \
      op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=40 \
      --group g-NW1_ASCS
    
    sudo pcs resource create vip_NW1_ASCS IPaddr2 \
      ip=10.90.90.10 \
      --group g-NW1_ASCS
    
    sudo pcs resource create nc_NW1_ASCS azure-lb port=62000 \
      --group g-NW1_ASCS
    

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

    sudo pcs status
    
    # Node sap-cl2: standby
    # Online: [ sap-cl1 ]
    #
    # Full list of resources:
    #
    # rsc_st_azure    (stonith:fence_azure_arm):      Started sap-cl1
    #  Resource Group: g-NW1_ASCS
    #      fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started sap-cl1 
    #      nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started sap-cl1
    #      vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started sap-cl1
    
  3. [1] Instale ASCS de SAP NetWeaver.

    Instale SAP NetWeaver ASCS como la raíz del primer nodo utilizando un nombre de host virtual que se corresponda con la dirección IP de la configuración de front-end del equilibrador de carga de ASCS; por ejemplo, sapascs y 10.90.90.10, y el número de instancia que usó para el sondeo del equilibrador de carga; por ejemplo, 00.

    Puede usar el sapinst parámetro SAPINST_REMOTE_ACCESS_USER para permitir que un usuario no raíz se conecte a sapinst.

    # 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 se produce un error en la instalación para crear una subcarpeta en/usr/sap/NW1/ASCS00, pruebe a establecer el propietario y el grupo de la carpeta ASCS00 e inténtelo de nuevo.

    sudo chown nw1adm /usr/sap/NW1/ASCS00
    sudo chgrp sapsys /usr/sap/NW1/ASCS00
    
  4. [1]: cree un recurso de IP virtual y un sondeo de estado para la instancia de ERS.

    sudo pcs node unstandby sap-cl2
    sudo pcs node standby sap-cl1
    
    sudo pcs resource create fs_NW1_AERS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1ers' \
      directory='/usr/sap/NW1/ERS01' fstype='nfs' force_unmount=safe options='noresvport,vers=4,minorversion=1,sec=sys' \
      op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=40 \
     --group g-NW1_AERS
    
    sudo pcs resource create vip_NW1_AERS IPaddr2 \
      ip=10.90.90.9 \
     --group g-NW1_AERS
    
    sudo pcs resource create nc_NW1_AERS azure-lb port=62101 \
     --group g-NW1_AERS
    

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

    sudo pcs status
    
    # Node sap-cl1: standby
    # Online: [ sap-cl2 ]
    #
    # Full list of resources:
    #
    # rsc_st_azure    (stonith:fence_azure_arm):      Started sap-cl2
    #  Resource Group: g-NW1_ASCS
    #      fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started sap-cl2
    #      nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started sap-cl2
    #      vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started sap-cl2
    #  Resource Group: g-NW1_AERS
    #      fs_NW1_AERS        (ocf::heartbeat:Filesystem):    Started sap-cl2
    #      nc_NW1_AERS        (ocf::heartbeat:azure-lb):      Started sap-cl2
    #      vip_NW1_AERS       (ocf::heartbeat:IPaddr2):       Started sap-cl2
    
  5. [2] Instale ERS de SAP NetWeaver.

    Instale SAP NetWeaver ERS como la raíz del segundo nodo utilizando un nombre de host virtual que se corresponda con la dirección IP de la configuración de front-end del equilibrador de carga de ERS, por ejemplo, sapers y 10.90.90.9, y el número de instancia que usó para el sondeo del equilibrador de carga; por ejemplo, 01.

    Puede usar el sapinst parámetro SAPINST_REMOTE_ACCESS_USER para permitir que un usuario no raíz se conecte a sapinst.

    # 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 se produce un error en la instalación al crear una subcarpeta en /usr/sap/NW1/ERS01, pruebe a establecer el propietario y el grupo de la carpeta ERS01 e inténtelo de nuevo.

    sudo chown qaadm /usr/sap/NW1/ERS01
    sudo chgrp sapsys /usr/sap/NW1/ERS01
    
  6. [1] Adapte los perfiles de instancias ASCS/SCS y ERS.

    • Perfil ASCS/SCS:

      sudo vi /sapmnt/NW1/profile/NW1_ASCS00_sapascs
      
      # 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/NW1/profile/NW1_ERS01_sapers
      
      # 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
      
  7. [A] Configure Mantener conexión.

    La comunicación entre el servidor de aplicaciones de SAP NetWeaver y ASCS/SCS se enruta a través de un equilibrador de carga de software. El equilibrador de carga desconecta las conexiones inactivas después de un tiempo de expiración que se puede configurar. Para evitar esta acción, establezca un parámetro en el perfil de ASCS/SCS de SAP NetWeaver, si usa ENSA1. Cambie la configuración keepalive del sistema Linux en todos los servidores SAP de ENSA1 y ENSA2. Para más información, consulte la nota de SAP 1410736.

    # Change the Linux system configuration
    sudo sysctl net.ipv4.tcp_keepalive_time=300
    
  8. [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.

    sudo vi /usr/sap/sapservices
    
    # Depending on whether the SAP Startup framework is integrated with systemd, you will observe one of the two entries on the ASCS node. You should comment out the line(s). 
    # LD_LIBRARY_PATH=/usr/sap/NW1/ASCS00/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW1/ASCS00/exe/sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_ASCS00_sapascs -D -u nw1adm
    # systemctl --no-ask-password start SAPNW1_00 # sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_ASCS00_sapascs
    
    # Depending on whether the SAP Startup framework is integrated with systemd, you will observe one of the two entries on the ERS node. You should comment out the line(s). 
    # LD_LIBRARY_PATH=/usr/sap/NW1/ERS01/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW1/ERS01/exe/sapstartsrv pf=/usr/sap/NW1/ERS01/profile/NW1_ERS01_sapers -D -u nw1adm
    # systemctl --no-ask-password start SAPNW1_00 # sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_ERS01_sapers
    

    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.

  9. [1]: cree los recursos del clúster de SAP.

    En función de si ejecuta un sistema ENSA1 o ENSA2, seleccione la pestaña correspondiente para definir los recursos. 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 la nota de SAP 2630416 para consultar la compatibilidad con el servidor 2 de puesta en cola.

    Si usa la arquitectura del servidor 2 de puesta en cola (ENSA2), instale el agente de recursos resource-agents-sap-4.1.1-12.el7.x86_64 o una versión más reciente y defina los recursos tal como aquí se indica:

    sudo pcs property set maintenance-mode=true
    
    sudo pcs resource create rsc_sap_NW1_ASCS00 SAPInstance \
     InstanceName=NW1_ASCS00_sapascs START_PROFILE="/sapmnt/NW1/profile/NW1_ASCS00_sapascs" \
     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-NW1_ASCS
    
    sudo pcs resource meta g-NW1_ASCS resource-stickiness=3000
    
    sudo pcs resource create rsc_sap_NW1_ERS01 SAPInstance \
     InstanceName=NW1_ERS01_sapers START_PROFILE="/sapmnt/NW1/profile/NW1_ERS01_sapers" \
     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-NW1_AERS
    
    sudo pcs constraint colocation add g-NW1_AERS with g-NW1_ASCS -5000
    sudo pcs constraint location rsc_sap_NW1_ASCS00 rule score=2000 runs_ers_NW1 eq 1
    sudo pcs constraint order start g-NW1_ASCS then stop g-NW1_AERS kind=Optional symmetrical=false
    
    sudo pcs node unstandby sap-cl1
    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 2641322.

    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. El nodo en el que se ejecutan los recursos no es importante.

    sudo pcs status
    
    # Online: [ sap-cl1 sap-cl2 ]
    #
    # Full list of resources:
    #
    # rsc_st_azure    (stonith:fence_azure_arm):      Started sap-cl2
    #  Resource Group: g-NW1_ASCS
    #      fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started sap-cl2
    #      nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started sap-cl2
    #      vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started sap-cl2
    #      rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started sap-cl2
    #  Resource Group: g-NW1_AERS
    #      fs_NW1_AERS        (ocf::heartbeat:Filesystem):    Started sap-cl1
    #      nc_NW1_AERS        (ocf::heartbeat:azure-lb):      Started sap-cl1
    #      vip_NW1_AERS       (ocf::heartbeat:IPaddr2):       Started sap-cl1
    #      rsc_sap_NW1_ERS01  (ocf::heartbeat:SAPInstance):   Started sap-cl1
    
  10. [1] Ejecute el siguiente paso para configurar priority-fencing-delay (aplicable solo a partir de pacemaker-2.0.4-6.el8 o posterior).

    Nota:

    Si tiene un clúster de dos nodos, tiene la opción de configurar la propiedad de clúster priority-fencing-delay. Esta propiedad introduce un retraso adicional en la limitación de un nodo que tiene una prioridad de recurso total mayor cuando se produce un escenario de cerebro dividido. Para más información, consulte ¿Puede Pacemaker cercar el nodo de clúster con los recursos en ejecución más pequeños?.

    La propiedad priority-fencing-delay es aplicable a la versión pacemaker-2.0.4-6.el8 o posterior. Si configura priority-fencing-delay en un clúster existente, asegúrese de borrar la configuración de pcmk_delay_max en el dispositivo de barrera.

    sudo pcs resource defaults update priority=1
    sudo pcs resource update rsc_sap_NW1_ASCS00 meta priority=10
    
    sudo pcs property set priority-fencing-delay=15s
    
  11. [A] Agregue reglas de firewall para ASCS y ERS en ambos nodos.

    # Probe Port of ASCS
    sudo firewall-cmd --zone=public --add-port={62000,3200,3600,3900,8100,50013,50014,50016}/tcp --permanent
    sudo firewall-cmd --zone=public --add-port={62000,3200,3600,3900,8100,50013,50014,50016}/tcp
    # Probe Port of ERS
    sudo firewall-cmd --zone=public --add-port={62101,3201,3301,50113,50114,50116}/tcp --permanent
    sudo firewall-cmd --zone=public --add-port={62101,3201,3301,50113,50114,50116}/tcp
    

Preparación del servidor de aplicaciones de SAP NetWeaver

Algunas bases de datos requieren que la instalación de la instancia de base de datos se ejecute en un servidor de aplicaciones. Prepare las máquinas virtuales del servidor de aplicaciones para poder usarlas en estos casos.

En los pasos siguientes se supone que instala el servidor de aplicaciones en un servidor distinto de los servidores ASCS/SCS y HANA. De lo contrario, no se necesitan algunos de los pasos (como configurar la resolución de nombres de host).

Los siguientes elementos llevan delante:

  • [A]: aplicable tanto a PAS como a AAS
  • [P]: solo aplicable a PAS
  • [S]: solo aplicable a AAS
  1. [A] Configure la resolución de nombres de host. Puede usar un servidor DNS o modificar el archivo /etc/hosts en todos los nodos. En este ejemplo se muestra cómo utilizar el archivo /etc/hosts. Reemplace la dirección IP y el nombre de host en los siguientes comandos:

    sudo vi /etc/hosts
    

    Inserte las líneas siguientes en /etc/hosts. Cambie la dirección IP y el nombre de host para que coincidan con su entorno.

    10.90.90.7    sap-cl1
    10.90.90.8    sap-cl2
    # IP address of the load balancer frontend configuration for SAP Netweaver ASCS
    10.90.90.10   sapascs
    # IP address of the load balancer frontend configuration for SAP Netweaver ERS
    10.90.90.9    sapers
    10.90.90.12   sapa01
    10.90.90.13   sapa02
    
  2. [A] Cree el directorio sapmnt.

    sudo mkdir -p /sapmnt/NW1
    sudo mkdir -p /usr/sap/trans
    
    sudo chattr +i /sapmnt/NW1
    sudo chattr +i /usr/sap/trans
    
  3. [A] Instale el cliente de NFS y otros requisitos.

    sudo yum -y install nfs-utils uuidd
    
  4. [A] Agregar entradas de montaje.

    vi /etc/fstab
    # Add the following lines to fstab, save and exit
    sapnfs.file.core.windows.net:/sapnfsafs/saptrans /usr/sap/trans  nfs noresvport,vers=4,minorversion=1,sec=sys  0  0
    sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/sapmntNW1 /sapmnt/NW1  nfs noresvport,vers=4,minorversion=1,sec=sys  0  0
    
    # Mount the file systems
    mount -a 
    
  5. [A]: configure el archivo SWAP.

    sudo vi /etc/waagent.conf
    
    # Set the property ResourceDisk.EnableSwap to y
    # Create and use swapfile on resource disk.
    ResourceDisk.EnableSwap=y
    
    # Set the size of the SWAP file with property ResourceDisk.SwapSizeMB
    # The free space of resource disk varies by virtual machine size. Make sure that you do not set a value that is too big. You can check the SWAP space with command swapon
    # Size of the swapfile.
    ResourceDisk.SwapSizeMB=2000
    

    Reinicie el agente para activar el cambio.

    sudo service waagent restart
    

Instale la base de datos.

En este ejemplo, SAP NetWeaver se instala en SAP HANA. En esta instalación puede usar todas las bases de datos admitidas. Para más información sobre cómo instalar SAP HANA en Azure, consulte Alta disponibilidad de SAP HANA en Red Hat Enterprise Linux. Para ver una lista de las bases de datos admitidas, consulte la nota de SAP 1928533.

Instale la instancia de base de datos de SAP NetWeaver como una raíz con un nombre de host virtual que se asigne a la dirección IP de la configuración de front-end del equilibrador de carga para la base de datos.

Puede usar el sapinst parámetro SAPINST_REMOTE_ACCESS_USER para permitir que un usuario no raíz se conecte a sapinst.

# 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

Instalación del servidor de aplicaciones de SAP NetWeaver

Siga estos pasos para instalar un servidor de aplicaciones de SAP.

  1. [A]: prepare el servidor de aplicaciones.

    Siga los pasos descritos en la sección Preparación del servidor de aplicaciones de SAP NetWeaver anterior para preparar el servidor de aplicaciones.

  2. [A] Instale el servidor de aplicaciones de SAP NetWeaver.

    Instale un servidor de aplicaciones de SAP NetWeaver principal o adicional.

    Puede usar el sapinst parámetro SAPINST_REMOTE_ACCESS_USER para permitir que un usuario no raíz se conecte a sapinst.

    sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
    
  3. [A] Actualice el almacenamiento seguro de SAP HANA.

    Actualice el almacenamiento seguro de SAP HANA que apunte al nombre virtual de la configuración de la replicación del sistema SAP HANA.

    Ejecute el siguiente comando para mostrar las entradas como <sapsid>adm.

    hdbuserstore List
    

    Todas las entradas deben aparecer y tener un aspecto similar al siguiente:

    DATA FILE       : /home/nw1adm/.hdb/sapa01/SSFS_HDB.DAT
    KEY FILE        : /home/nw1adm/.hdb/sapa01/SSFS_HDB.KEY
    
    KEY DEFAULT
      ENV : 10.90.90.5:30313
      USER: SAPABAP1
      DATABASE: NW1
    

    En este ejemplo, la dirección IP de la entrada predeterminada apunta a la máquina virtual, y no al equilibrador de carga. Cambie la entrada para que apunte al nombre de host virtual del equilibrador de carga. Asegúrese de usar el mismo puerto y el mismo nombre de la base de datos. Por ejemplo, 30313 y NW1 en la salida de ejemplo.

    su - nw1adm
    hdbuserstore SET DEFAULT nw1db:30313@NW1 SAPABAP1 <password of ABAP schema>
    

Prueba de configuración del clúster

Pruebe exhaustivamente el clúster de Pacemaker. Para obtener más información, consulte Ejecutar las pruebas de conmutación por error típicas.

Pasos siguientes