Alta disponibilidad de Azure Virtual Machines para SAP NetWeaver en RHEL con Azure NetApp Files para aplicaciones SAP

En este artículo se describe cómo implementar máquinas virtuales (VM), configurar las máquinas virtuales, instalar el marco de clúster e instalar un sistema SAP NetWeaver 7.50 de alta disponibilidad mediante Azure NetApp Files. En las configuraciones de ejemplo y los comandos de instalación, la instancia de ASCS es el número 00, la instancia de ERS es el número 01, la instancia de aplicación principal (PAS) es 02 y la instancia de aplicación (AAS) es 03. Se usa el QAS del identificador del sistema SAP.

El nivel de la base de datos no se trata en detalle en este artículo.

Requisitos previos

Lea primero las notas y los documentos de SAP siguientes:

Información general

La alta disponibilidad (HA) para los servicios centrales de SAP NetWeaver requiere almacenamiento compartido. Hasta ahora para lograr alta disponibilidad en Red Hat Linux, era necesario crear un clúster de GlusterFS de alta disponibilidad independiente.

Ahora es posible lograr la alta disponibilidad de SAP NetWeaver mediante el almacenamiento compartido implementado en Azure NetApp Files. El uso de Azure NetApp Files para el almacenamiento compartido elimina la necesidad de más clústeres de GlusterFS. Pacemaker sigue siendo necesario para la alta disponibilidad de los servicios centrales de SAP NetWeaver (ASCS/SCS).

Diagram that shows SAP NetWeaver high-availability overview.

SAP NetWeaver ASCS, SAP NetWeaver SCS, SAP NetWeaver ERS y la base de datos SAP HANA 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 Azure Load Balancer Standard. La configuración aquí muestra un equilibrador de carga con :

  • Dirección IP de front-end 192.168.14.9 para ASCS.
  • Dirección IP de front-end 192.168.14.10 para ERS.
  • Puerto de sondeo 62000 para ASCS.
  • Puerto de sondeo 62101 para ERS.

Configuración de la infraestructura de Azure NetApp Files

SAP NetWeaver requiere un almacenamiento compartido para el directorio de transporte y perfil. Antes de continuar con la configuración de la infraestructura de Azure NetApp Files, familiarícese con la documentación correspondiente. Compruebe si la región de Azure seleccionada ofrece Azure NetApp Files. Para obtener la disponibilidad de Azure NetApp Files por región de Azure, consulte Disponibilidad de Azure NetApp Files por región de Azure.

Azure NetApp Files está disponible en varias regiones de Azure.

Implementación de recursos de Azure NetApp Files

En los pasos se supone que ya ha implementado Azure Virtual Network. Los recursos de Azure NetApp Files y las máquinas virtuales, donde se montarán los recursos de Azure NetApp Files, deben implementarse en la misma red virtual de Azure o en redes virtuales de Azure emparejadas.

  1. Cree la cuenta de Azure NetApp Files en la región de Azure seleccionada siguiendo las instrucciones para crear una cuenta de Azure NetApp Files.

  2. Configure un grupo de capacidad de Azure NetApp Files siguiendo las instrucciones sobre cómo configurar un grupo de capacidad de Azure NetApp Files. La arquitectura de SAP NetWeaver que se presenta en este artículo usa un único grupo de capacidad de Azure NetApp Files, SKU Premium. Se recomienda la SKU Premium de Azure NetApp Files para la carga de trabajo de la aplicación SAP NetWeaver en Azure.

  3. Delegue una subred a Azure NetApp Files como se describe en las instrucciones sobre cómo delegar una subred en Azure NetApp Files.

  4. Implemente volúmenes de Azure NetApp Files siguiendo las instrucciones para crear un volumen para Azure NetApp Files. Implemente los volúmenes en la subred de Azure NetApp Files designada. Las direcciones IP de los volúmenes de Azure NetApp se asignan automáticamente. Los recursos de Azure NetApp Files y las máquinas virtuales de Azure deben estar en la misma red virtual de Azure o en redes virtuales de Azure emparejadas. En este ejemplo, se usan dos volúmenes de Azure NetApp Files: SAPQAS y transSAP. Las rutas de acceso de archivo que se montan en los puntos de montaje correspondientes son /usrsapqas/sapmntQAS y /usrsapqas/usrsapQASsys.

    1. Control de calidad de sapde volumen (nfs://192.168.24.5/usrsapqas/sapmntQAS)
    2. Control de calidad de sapde volumen (nfs://192.168.24.5/usrsapqas/usrsapQASascs)
    3. Control de calidad de sapde volumen (nfs://192.168.24.5/usrsapqas/usrsapQAS sys)
    4. Control de calidad de sapde volumen (nfs://192.168.24.5/usrsapqas/usrsapQAS ers)
    5. TransSAP de volumen (nfs://192.168.24.4/transSAP)
    6. Volumen sapQAS (nfs://192.168.24.5/usrsapqas/usrsapQASpas)
    7. Control de calidad de sapde volumen (nfs://192.168.24.5/usrsapqas/usrsapQASaas)

En este ejemplo, usamos Azure NetApp Files para todos los sistemas de archivos sap NetWeaver para demostrar cómo puede usar Azure NetApp Files. Los sistemas de archivos SAP que no es necesario montar mediante NFS se pueden también implementar en Azure Disk Storage. En este ejemplo, a-e debe estar en Azure NetApp Files y f-g (es decir, /usr/sap/QAS/D02 y /usr/sap/QAS/D03) se podrían implementar como almacenamiento en disco de Azure.

Consideraciones importantes

Cuando considere Azure NetApp Files para la arquitectura de alta disponibilidad de SAP NetWeaver en RHEL, tenga en cuenta las siguientes consideraciones importantes:

  • El grupo de capacidad mínimo es de 4 TiB. Puede aumentar el tamaño del grupo de capacidad en incrementos de 1 TiB.
  • El volumen mínimo es de 100 GiB.
  • Azure NetApp Files y todas las máquinas virtuales, donde se montarán los volúmenes de Azure NetApp Files, deben estar en la misma red virtual de Azure o en redes virtuales emparejadas en la misma región. Ahora se admite el acceso de Azure NetApp Files a través del emparejamiento de red virtual en la misma región. Todavía no se admite el acceso de Azure NetApp Files a través del emparejamiento global.
  • La red virtual seleccionada debe tener una subred delegada en Azure NetApp Files.
  • Las características de rendimiento y rendimiento de un volumen de Azure NetApp Files son una función de la cuota de volumen y el nivel de servicio. Para más información, consulte Nivel de servicio para Azure NetApp Files. Al ajustar el tamaño de los volúmenes de SAP Azure NetApp, asegúrese de que el rendimiento resultante cumple los requisitos de la aplicación.
  • Azure NetApp Files ofrece una directiva de exportación. Puede controlar los clientes permitidos y el tipo de acceso (como Lectura/Escritura y Solo lectura).
  • La característica Azure NetApp Files aún no es compatible con la zona. Actualmente, la característica Azure NetApp Files no se implementa en todas las zonas de disponibilidad de una región de Azure. Tenga en cuenta las posibles implicaciones de latencia en algunas regiones de Azure.
  • Puede implementar volúmenes de Azure NetApp Files como volúmenes NFSv3 o NFSv4.1. Los dos protocolos son compatibles con el nivel de aplicación de SAP (ASCS/ERS, servidores de aplicaciones de SAP).

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 máquinas virtuales 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 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 más información, consulte Limitaciones de Azure Load Balancer. Si necesita más direcciones IP para la máquina virtual, implemente una segunda NIC.

Nota:

Cuando las máquinas virtuales sin direcciones IP públicas se colocan en el grupo de back-end de un equilibrador de carga estándar interno (sin dirección IP pública), 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 más información sobre cómo lograr la conectividad saliente, consulte Conectividad de punto de conexión público para máquinas virtuales mediante 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. La habilitación de las marcas de tiempo tcp podría provocar un error en los sondeos de estado. Establezca el parámetro net.ipv4.tcp_timestamps a 0. Para más información, consulte Sondeos de estado de Load Balancer.

Deshabilitar la asignación de identificadores (si usa NFSv4.1)

Las instrucciones de esta sección solo son aplicables si usa volúmenes de Azure NetApp Files con el protocolo NFSv4.1. Realice la configuración en todas las máquinas virtuales donde se vayan a montar los volúmenes NFSv4.1 de Azure NetApp Files.

  1. Compruebe la configuración del dominio NFS. Asegúrese de que el dominio está configurado como dominio predeterminado de Azure NetApp Files, es decir, defaultv4iddomain.comy la asignación está establecida en nadie.

    Importante

    Asegúrese de establecer el dominio NFS de /etc/idmapd.conf en la máquina virtual para que coincida con la configuración de dominio predeterminada en Azure NetApp Files: defaultv4iddomain.com . Si hay un error de coincidencia entre la configuración de dominio en el cliente NFS (es decir, la máquina virtual) y el servidor NFS (es decir, la configuración de Azure NetApp), los permisos para los archivos en volúmenes de Azure NetApp que se montan en las máquinas virtuales se muestran como nobody.

    sudo cat /etc/idmapd.conf
    
    # Example
    [General]
    Domain = defaultv4iddomain.com
    [Mapping]
    Nobody-User = nobody
    Nobody-Group = nobody
    

El siguiente prefijo [A] se aplica tanto a PAS como a AAS.

  1. [A] Compruebe nfs4_disable_idmapping. Debe establecerse en Y. Para crear la estructura de directorios donde nfs4_disable_idmapping se encuentra, ejecute el comando mount. No podrá crear manualmente el directorio en /sys/modules porque el acceso está reservado para el kernel y los controladores.

    # Check nfs4_disable_idmapping 
    cat /sys/module/nfs/parameters/nfs4_disable_idmapping
    
    # If you need to set nfs4_disable_idmapping to Y
    mkdir /mnt/tmp
    mount 192.168.24.5:/sapQAS
    umount  /mnt/tmp
    echo "Y" > /sys/module/nfs/parameters/nfs4_disable_idmapping
    
    # Make the configuration permanent
    echo "options nfs nfs4_disable_idmapping=Y" >> /etc/modprobe.d/nfs.conf
    

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 para la instalación de SAP NetWeaver

Los siguientes elementos tienen los siguiente prefijos:

  • [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
    192.168.14.5    anftstsapcl1
    # IP address of cluster node 2
    192.168.14.6     anftstsapcl2
    # IP address of the load balancer frontend configuration for SAP Netweaver ASCS
    192.168.14.9    anftstsapvh
    # IP address of the load balancer frontend configuration for SAP Netweaver ERS
    192.168.14.10    anftstsapers
    
  2. [1] Cree directorios de SAP en el volumen de Azure NetApp Files. Monte el volumen de Azure NetApp Files temporalmente en una de las máquinas virtuales y cree los directorios de SAP (rutas de acceso de archivo).

    # mount temporarily the volume
    sudo mkdir -p /saptmp
    
    # If using NFSv3
    sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,nfsvers=3,tcp 192.168.24.5:/sapQAS /saptmp
    
    # If using NFSv4.1
    sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys,tcp 192.168.24.5:/sapQAS /saptmp
    
    # create the SAP directories
    sudo cd /saptmp
    sudo mkdir -p sapmntQAS
    sudo mkdir -p usrsapQASascs
    sudo mkdir -p usrsapQASers
    sudo mkdir -p usrsapQASsys
    sudo mkdir -p usrsapQASpas
    sudo mkdir -p usrsapQASaas
    
    # unmount the volume and delete the temporary directory
    sudo cd ..
    sudo umount /saptmp
    sudo rmdir /saptmp
    
  3. [A]: cree los directorios compartidos.

    sudo mkdir -p /sapmnt/QAS
    sudo mkdir -p /usr/sap/trans
    sudo mkdir -p /usr/sap/QAS/SYS
    sudo mkdir -p /usr/sap/QAS/ASCS00
    sudo mkdir -p /usr/sap/QAS/ERS01
    
    sudo chattr +i /sapmnt/QAS
    sudo chattr +i /usr/sap/trans
    sudo chattr +i /usr/sap/QAS/SYS
    sudo chattr +i /usr/sap/QAS/ASCS00
    sudo chattr +i /usr/sap/QAS/ERS01
    
  4. [A] Instale el cliente de NFS y otros requisitos.

    sudo yum -y install nfs-utils resource-agents resource-agents-sap
    
  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
    
    # Loaded plugins: langpacks, product-id, search-disabled-repos
    # Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
    # Installed Packages
    # Name        : resource-agents-sap
    # Arch        : x86_64
    # Version     : 3.9.5
    # Release     : 124.el7
    # Size        : 100 k
    # Repo        : installed
    # From repo   : rhel-sap-for-rhel-7-server-rpms
    # Summary     : SAP cluster resource agents and connector script
    # URL         : https://github.com/ClusterLabs/resource-agents
    # License     : GPLv2+
    # Description : The SAP resource agents and connector script interface with
    #          : Pacemaker to allow SAP instances to be managed in a cluster
    #          : environment.
    
  6. [A] Agregar entradas de montaje.

    Si usa NFSv3:

    sudo vi /etc/fstab
    
    # Add the following lines to fstab, save and exit
    192.168.24.5:/sapQAS/sapmntQAS /sapmnt/QAS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3
    192.168.24.5:/sapQAS/usrsapQASsys /usr/sap/QAS/SYS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3
    192.168.24.4:/transSAP /usr/sap/trans nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3
    

    Si usa NFSv4.1:

    sudo vi /etc/fstab
    
    # Add the following lines to fstab, save and exit
    192.168.24.5:/sapQAS/sapmntQAS /sapmnt/QAS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys
    192.168.24.5:/sapQAS/usrsapQASsys /usr/sap/QAS/SYS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys
    192.168.24.4:/transSAP /usr/sap/trans nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys
    

    Nota:

    Asegúrese de que coincida con la versión del protocolo NFS de los volúmenes de Azure NetApp Files al montar los volúmenes. Si los volúmenes de Azure NetApp Files se crean como volúmenes NFSv3, use la configuración de NFSv3 correspondiente. Si los volúmenes de Azure NetApp Files se crean como volúmenes NFSv4.1, siga las instrucciones para deshabilitar la asignación de Id. y asegúrese de usar la configuración de NFSv4.1 correspondiente. En este ejemplo, los volúmenes de Azure NetApp Files se crearon como volúmenes NFSv3.

    Monte los nuevos recursos compartidos.

    sudo 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 VM 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] Realice la configuración del sistema operativo RHEL.

    En función de la versión de RHEL, realice la configuración mencionada en la nota de SAP 2002167, 2772999 o 3108316.

Instalación de SAP NetWeaver ASCS/ERS

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

    pcs resource defaults resource-stickiness=1
    pcs resource defaults 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 anftstsapcl2
    
    # If using NFSv3
    sudo pcs resource create fs_QAS_ASCS Filesystem device='192.168.24.5:/sapQAS/usrsapQASascs' \
      directory='/usr/sap/QAS/ASCS00' 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-QAS_ASCS
    
    # If using NFSv4.1
    sudo pcs resource create fs_QAS_ASCS Filesystem device='192.168.24.5:/sapQAS/usrsapQASascs' \
      directory='/usr/sap/QAS/ASCS00' fstype='nfs' force_unmount=safe options='sec=sys,nfsvers=4.1' \
      op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=105 \
      --group g-QAS_ASCS
    
    sudo pcs resource create vip_QAS_ASCS IPaddr2 \
      ip=192.168.14.9 \
      --group g-QAS_ASCS
    
    sudo pcs resource create nc_QAS_ASCS azure-lb port=62000 \
      --group g-QAS_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 anftstsapcl2: standby
    # Online: [ anftstsapcl1 ]
    #
    # Full list of resources:
    #
    # rsc_st_azure    (stonith:fence_azure_arm):      Started anftstsapcl1
    #  Resource Group: g-QAS_ASCS
    #      fs_QAS_ASCS        (ocf::heartbeat:Filesystem):    Started anftstsapcl1
    #      nc_QAS_ASCS        (ocf::heartbeat:azure-lb):      Started anftstsapcl1
    #      vip_QAS_ASCS       (ocf::heartbeat:IPaddr2):       Started anftstsapcl1
    
  3. [1] Instale ASCS de SAP NetWeaver.

    Instale ASCS de SAP NetWeaver como raíz en el primer nodo mediante 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, anftstsapvh, 192.168.14.9 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/QAS/ASCS00, pruebe a establecer el propietario y el grupo de la carpeta ASCS00 e inténtelo de nuevo.

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

    sudo pcs node unstandby anftstsapcl2
    sudo pcs node standby anftstsapcl1
    
    # If using NFSv3
    sudo pcs resource create fs_QAS_AERS Filesystem device='192.168.24.5:/sapQAS/usrsapQASers' \
      directory='/usr/sap/QAS/ERS01' 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-QAS_AERS
    
    # If using NFSv4.1
    sudo pcs resource create fs_QAS_AERS Filesystem device='192.168.24.5:/sapQAS/usrsapQASers' \
      directory='/usr/sap/QAS/ERS01' fstype='nfs' force_unmount=safe options='sec=sys,nfsvers=4.1' \
      op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=105 \
     --group g-QAS_AERS
    
    sudo pcs resource create vip_QAS_AERS IPaddr2 \
      ip=192.168.14.10 \
     --group g-QAS_AERS
    
    sudo pcs resource create nc_QAS_AERS azure-lb port=62101 \
     --group g-QAS_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 anftstsapcl1: standby
    # Online: [ anftstsapcl2 ]
    #
    # Full list of resources:
    #
    # rsc_st_azure    (stonith:fence_azure_arm):      Started anftstsapcl2
    #  Resource Group: g-QAS_ASCS
    #      fs_QAS_ASCS        (ocf::heartbeat:Filesystem):    Started anftstsapcl2
    #      nc_QAS_ASCS        (ocf::heartbeat:azure-lb):      Started anftstsapcl2<
    #      vip_QAS_ASCS       (ocf::heartbeat:IPaddr2):       Started anftstsapcl2
    #  Resource Group: g-QAS_AERS
    #      fs_QAS_AERS        (ocf::heartbeat:Filesystem):    Started anftstsapcl2
    #      nc_QAS_AERS        (ocf::heartbeat:azure-lb):      Started anftstsapcl2
    #      vip_QAS_AERS       (ocf::heartbeat:IPaddr2):       Started anftstsapcl2
    
  5. [2] Instale ERS de SAP NetWeaver.

    Instale SAP NetWeaver ERS como raíz en el segundo nodo mediante 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, anftstsapers, 192.168.14.10 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 para crear una subcarpeta en /usr/sap/QAS/ERS01, pruebe a establecer el propietario y el grupo de la carpeta ERS01 e inténtelo de nuevo.

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

    • Perfil ASCS/SCS

      sudo vi /sapmnt/QAS/profile/QAS_ASCS00_anftstsapvh
      
      # 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/QAS/profile/QAS_ERS01_anftstsapers
      
      # 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 y cambie la configuración del sistema keepalive Linux en todos los servidores SAP para ENSA1/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/QAS/ASCS00/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/QAS/ASCS00/exe/sapstartsrv pf=/usr/sap/QAS/SYS/profile/QAS_ASCS00_anftstsapvh -D -u qasadm
    # systemctl --no-ask-password start SAPQAS_00 # sapstartsrv pf=/usr/sap/QAS/SYS/profile/QAS_ASCS00_anftstsapvh
    
    # 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/QAS/ERS01/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/QAS/ERS01/exe/sapstartsrv pf=/usr/sap/QAS/ERS01/profile/QAS_ERS01_anftstsapers -D -u qasadm
    # systemctl --no-ask-password start SAPQAS_01 # sapstartsrv pf=/usr/sap/QAS/ERS01/profile/QAS_ERS01_anftstsapers
    

    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
    
    # If using NFSv3
    sudo pcs resource create rsc_sap_QAS_ASCS00 SAPInstance \
    InstanceName=QAS_ASCS00_anftstsapvh START_PROFILE="/sapmnt/QAS/profile/QAS_ASCS00_anftstsapvh" \
    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-QAS_ASCS
    
    # If using NFSv4.1
    sudo pcs resource create rsc_sap_QAS_ASCS00 SAPInstance \
    InstanceName=QAS_ASCS00_anftstsapvh START_PROFILE="/sapmnt/QAS/profile/QAS_ASCS00_anftstsapvh" \
    AUTOMATIC_RECOVER=false \
    meta resource-stickiness=5000 migration-threshold=1 failure-timeout=60 \
    op monitor interval=20 on-fail=restart timeout=105 \
    op start interval=0 timeout=600 op stop interval=0 timeout=600 \
    --group g-QAS_ASCS
    
    sudo pcs resource meta g-QAS_ASCS resource-stickiness=3000
    
    # If using NFSv3
    sudo pcs resource create rsc_sap_QAS_ERS01 SAPInstance \
    InstanceName=QAS_ERS01_anftstsapers START_PROFILE="/sapmnt/QAS/profile/QAS_ERS01_anftstsapers" \
    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-QAS_AERS
    
    # If using NFSv4.1
    sudo pcs resource create rsc_sap_QAS_ERS01 SAPInstance \
    InstanceName=QAS_ERS01_anftstsapers START_PROFILE="/sapmnt/QAS/profile/QAS_ERS01_anftstsapers" \
    AUTOMATIC_RECOVER=false IS_ERS=true \
    op monitor interval=20 on-fail=restart timeout=105 op start interval=0 timeout=600 op stop interval=0 timeout=600 \
    --group g-QAS_AERS
    
    sudo pcs constraint colocation add g-QAS_AERS with g-QAS_ASCS -5000
    sudo pcs constraint location rsc_sap_QAS_ASCS00 rule score=2000 runs_ers_QAS eq 1
    sudo pcs constraint order start g-QAS_ASCS then stop g-QAS_AERS kind=Optional symmetrical=false
    
    sudo pcs node unstandby anftstsapcl1
    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 más altos que se sugieren cuando se usa NFSv4.1 son necesarios debido a una pausa específica del protocolo, que está relacionada con las renovaciones de concesión NFSv4.1. Para obtener más información, consulte NFS en el procedimiento recomendado de NetApp. 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: [ anftstsapcl1 anftstsapcl2 ]
    #
    # Full list of resources:
    #
    # rsc_st_azure    (stonith:fence_azure_arm):      Started anftstsapcl2
    #  Resource Group: g-QAS_ASCS
    #      fs_QAS_ASCS        (ocf::heartbeat:Filesystem):    Started anftstsapcl2
    #      nc_QAS_ASCS        (ocf::heartbeat:azure-lb):      Started anftstsapcl2
    #      vip_QAS_ASCS       (ocf::heartbeat:IPaddr2):       Started anftstsapcl2
    #      rsc_sap_QAS_ASCS00 (ocf::heartbeat:SAPInstance):   Started anftstsapcl2
    #  Resource Group: g-QAS_AERS
    #      fs_QAS_AERS        (ocf::heartbeat:Filesystem):    Started anftstsapcl1
    #      nc_QAS_AERS        (ocf::heartbeat:azure-lb):      Started anftstsapcl1
    #      vip_QAS_AERS       (ocf::heartbeat:IPaddr2):       Started anftstsapcl1
    #      rsc_sap_QAS_ERS01  (ocf::heartbeat:SAPInstance):   Started anftstsapcl1
    
  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 presenta más retraso en la barrera de un nodo que tiene mayor prioridad total de recursos 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 está configurando priority-fencing-delay en un clúster existente, asegúrese de borrar la pcmk_delay_max configuración en el dispositivo de barrera.

    sudo pcs resource defaults update priority=1
    sudo pcs resource update rsc_sap_QAS_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 tienen los siguiente prefijos:

  • [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.

    # IP address of the load balancer frontend configuration for SAP NetWeaver ASCS
    192.168.14.9 anftstsapvh
    # IP address of the load balancer frontend configuration for SAP NetWeaver ASCS ERS
    192.168.14.10 anftstsapers
    192.168.14.7 anftstsapa01
    192.168.14.8 anftstsapa02
    
  2. [A] Cree el directorio sapmnt.

    sudo mkdir -p /sapmnt/QAS
    sudo mkdir -p /usr/sap/trans
    
    sudo chattr +i /sapmnt/QAS
    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.

    Si usa NFSv3:

    sudo vi /etc/fstab
    
    # Add the following lines to fstab, save and exit
    192.168.24.5:/sapQAS/sapmntQAS /sapmnt/QAS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3
    192.168.24.4:/transSAP /usr/sap/trans nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3
    

    Si usa NFSv4.1:

    sudo vi /etc/fstab
    
    # Add the following lines to fstab, save and exit
    192.168.24.5:/sapQAS/sapmntQAS /sapmnt/QAS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys
    192.168.24.4:/transSAP /usr/sap/trans nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys
    

    Monte los nuevos recursos compartidos.

    sudo mount -a
    
  5. [P] Cree y monte el directorio PAS.

    Si usa NFSv3:

    sudo mkdir -p /usr/sap/QAS/D02
    sudo chattr +i /usr/sap/QAS/D02
    
    sudo vi /etc/fstab
    # Add the following line to fstab
    92.168.24.5:/sapQAS/usrsapQASpas /usr/sap/QAS/D02 nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3
    
    # Mount
    sudo mount -a
    

    Si usa NFSv4.1:

    sudo mkdir -p /usr/sap/QAS/D02
    sudo chattr +i /usr/sap/QAS/D02
    
    sudo vi /etc/fstab
    # Add the following line to fstab
    92.168.24.5:/sapQAS/usrsapQASpas /usr/sap/QAS/D02 nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys
    
    # Mount
    sudo mount -a
    
  6. [S] Cree y monte el directorio AAS.

    Si usa NFSv3:

    sudo mkdir -p /usr/sap/QAS/D03
    sudo chattr +i /usr/sap/QAS/D03
    
    sudo vi /etc/fstab
    # Add the following line to fstab
    92.168.24.5:/sapQAS/usrsapQASaas /usr/sap/QAS/D03 nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3
    
    # Mount
    sudo mount -a
    

    Si usa NFSv4.1:

    sudo mkdir -p /usr/sap/QAS/D03
    sudo chattr +i /usr/sap/QAS/D03
    
    sudo vi /etc/fstab
    # Add the following line to fstab
    92.168.24.5:/sapQAS/usrsapQASaas /usr/sap/QAS/D03 nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys
    
    # Mount
    sudo 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 VM 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.

  • Ejecute la instalación de la instancia de base de datos de SAP.

    Instale la instancia de base de datos de SAP NetWeaver como raíz mediante 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.

    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. 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. 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. Actualice el almacén 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 enumerar las entradas como <sapsid>adm.

    hdbuserstore List
    

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

    DATA FILE       : /home/qasadm/.hdb/anftstsapa01/SSFS_HDB.DAT
    KEY FILE        : /home/qasadm/.hdb/anftstsapa01/SSFS_HDB.KEY
    
    KEY DEFAULT
      ENV : 192.168.14.4:30313
      USER: SAPABAP1
      DATABASE: QAS
    

    La salida muestra que la dirección IP de la entrada predeterminada apunta a la máquina virtual y no a la dirección IP del equilibrador de carga. Debe cambiar esta entrada para que apunte al nombre de host virtual del equilibrador de carga. Asegúrese de usar el mismo puerto (30313 en la salida anterior) y el nombre de la base de datos (QAS en la salida anterior).

    su - qasadm
    hdbuserstore SET DEFAULT qasdb:30313@QAS SAPABAP1 <password of ABAP schema>
    

Prueba de la 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