Alta disponibilidad de SAP NetWeaver en máquinas virtuales Azure que se ejecutan en SUSE Linux Enterprise Server utilizando NFS en Azure Files
En este artículo, se explica cómo implementar y configurar máquinas virtuales, cómo instalar el marco del clúster y cómo instalar un sistema SAP NetWeaver de alta disponibilidad utilizando NFS en Azure Files. Las configuraciones de ejemplo usan máquinas virtuales que se ejecutan en SUSE Linux Enterprise Server (SLES).
Para las nuevas implementaciones de SLES for SAP Applications 15, se recomienda implementar la alta disponibilidad para ASCS/ERS de SAP en una configuración de montaje sencilla. La configuración clásica de Pacemaker, basada en los sistemas de archivos controlados por clústeres para los directorios de servicios centrales de SAP que se describe en este artículo, sigue siendo compatible.
Requisitos previos
- Documentación de Azure Files.
- Nota de SAP 1928533, que incluye:
- La lista de tamaños de máquina virtual de Azure que se admiten para la implementación del software de SAP.
- Información importante sobre capacidad para los tamaños de máquina virtual de Azure.
- Software de SAP admitido y combinaciones de sistema operativo y base de datos.
- Versión del kernel de SAP requerida para Windows y Linux en Microsoft Azure.
- La nota de SAP 2015553 enumera los requisitos previos para las implementaciones de software de SAP admitidas por SAP en Azure.
- La nota de SAP 2205917 contiene configuraciones recomendadas del sistema operativo para SUSE Linux Enterprise Server para SAP Applications.
- La nota de SAP 2178632 contiene información detallada sobre todas las métricas de supervisión notificadas para SAP en Azure.
- La nota de SAP 2191498 incluye la versión de SAP Host Agent necesaria para Linux en Azure.
- La nota de SAP 2243692 incluye información acerca de las licencias de SAP en Linux en Azure.
- La nota de SAP 1984787 incluye información general sobre SUSE Linux Enterprise Server 12.
- La nota de SAP 2578899 incluye información general sobre SUSE Linux Enterprise Server 15.
- La nota de SAP 1999351 contiene más soluciones de problemas de la extensión de supervisión mejorada de Azure para SAP.
- La WIKI de la comunidad SAP contiene todas las notas de SAP que se necesitan para Linux.
- Planeación e implementación de Azure Virtual Machines para SAP en Linux.
- Implementación de Azure Virtual Machines para SAP en Linux.
- Implementación de DBMS de Azure Virtual Machines para SAP en Linux.
- Guías de procedimientos recomendados para la alta disponibilidad de SUSE SAP. Las guías contienen toda la información necesaria para la configuración de Netweaver HA y la replicación del sistema de SAP HANA en el entorno local. Use estas guías como base de referencia general. Proporcionan información mucho más detallada.
- Notas de la versión de la extensión de alta disponibilidad de SUSE.
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 |
---|---|
ABAP SAP Central Services (ASCS) | 00 |
ERS | 01 |
Servidor de aplicaciones principal (PAS) | 02 |
Servidor de aplicaciones adicional (AAS) | 03 |
Identificador del sistema SAP | NW1 |
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 de 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 un equilibrador de carga de Azure. Los recursos compartidos de NFS se montan utilizando un punto de conexión privado.
Preparación de la infraestructura
El agente de recursos para SAP Instance se incluye en SUSE Linux Enterprise Server para SAP Applications. En Azure Marketplace se puede encontrar una imagen para SUSE Linux Enterprise Server para SAP Applications 12 o 15. Puede usar la imagen para implementar nuevas máquinas virtuales.
Implementación manual de VM de Linux mediante Azure Portal
Este documento asume que ya ha implementado un grupo de recursos, Azure Virtual Network y una subred.
Implemente máquinas virtuales con SLES para la imagen de SAP Applications. Elija una versión adecuada de la imagen de SLES compatible con el sistema SAP. Puede implementar la 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.
- 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.
- Grupo de back-end: cree un grupo de back-end y agregue máquinas virtuales ASCS y ERS.
- 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.
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 máquinas virtuales 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
en0
. Para más información, consulte Sondeos de estado de Load Balancer. - Para evitar que saptune cambie el valor
net.ipv4.tcp_timestamps
establecido manualmente de0
a nuevamente1
, debe actualizar la versión de saptune a la versión 3.1.1 o posterior. Para más información, consulte saptune 3.1.1: ¿Necesito actualizar?
Implementación de la cuenta de almacenamiento de Azure Files y los recursos compartidos de NFS
La característica NFS de Azure Files se ejecuta con un almacenamiento Premium de Azure Files. Antes de configurar NFS en Azure Files, consulte el procedimiento para crear un recurso compartido en NFS.
Existen dos opciones de redundancia dentro de una región de Azure:
- El almacenamiento con redundancia local (LRS), que permite replicar los datos de forma sincrónica y local en la zona.
- El almacenamiento con redundancia de zona (ZRS), que replica los datos sincrónicamente entre las tres zonas de disponibilidad de la región.
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 Premium con ZRS.
Se recomienda acceder a la cuenta de Azure Storage a través de un punto de conexión privado de Azure. No olvide que debe implementar el punto de conexión de la cuenta de almacenamiento de Azure Files y las máquinas virtuales, donde debe montar los recursos compartidos de NFS, en la misma red virtual de Azure o en redes virtuales de Azure emparejadas.
- Implemente una cuenta de File Storage llamada
sapafsnfs
. En este ejemplo, utilizaremos ZRS. Si no conoce bien este proceso, consulte Creación de una cuenta de almacenamiento en Azure Portal. - En la pestaña Aspectos básicos, use esta configuración:
- En Nombre de cuenta de almacenamiento, escriba
sapafsnfs
. - En Rendimiento, seleccione Premium.
- En Tipo de cuenta prémium, seleccione FileStorage.
- En Replicación, seleccione Redundancia de zona (ZRS).
- En Nombre de cuenta de almacenamiento, escriba
- Seleccione Next (Siguiente).
- En la pestaña Opciones avanzadas, desactive Require secure transfer for REST API Operations (Requerir transferencia segura en operaciones de API 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.
- Seleccione Siguiente.
- En la sección Redes, configure estas opciones:
- En Conectividad de red, en Método de conectividad, seleccione Punto de conexión privado.
- En Punto de conexión privado, seleccione Agregar un punto de conexión privado.
- 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 utilizar. De nuevo, puede usar la red virtual en la se encuentran las máquinas virtuales de SAP o una red virtual emparejada. En Integración de DNS privado, acepte la opción predeterminada, Sí, de Integrar con la zona DNS privada. No olvide seleccionar la zona DNS privada. Seleccione Aceptar. - Seleccione la pestaña Redes y Siguiente.
- En la pestaña Protección de datos, deje todos los valores predeterminados.
- Seleccione Revisar y crear para validar la configuración.
- Espere a que se complete la validación. Corrija los problemas antes de continuar.
- 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
.
Inicie sesión en Azure Portal.
Seleccione o busque las cuentas de almacenamiento.
En la página Cuentas de almacenamiento, seleccione sapafsnfs.
En el menú de recursos de sapafsnfs, en Almacenamiento de datos, seleccione Recursos compartidos de archivos.
En la página Recursos compartidos de archivos, seleccione Recurso compartido de archivos.
- En Nombre, escriba
sapnw1
,saptrans
. - Seleccione el tamaño adecuado para el recurso compartido. Por ejemplo, 128 GB. A la hora de calcular el tamaño, tenga en cuenta los datos almacenados en el recurso compartido, los requisitos de IOPS y los requisitos de rendimiento. Para más información, consulte este artículo sobre los objetivos de los recursos compartidos de archivos de Azure.
- Seleccione NFS como protocolo.
- 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 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.- En Nombre, escriba
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 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 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 más información, consulte este artículo sobre el 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 osaptrans
. - No use el recurso compartido
saptrans
para ninguna otra actividad, como las interfaces osapmnt
. - 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 realizar la implementación en SLES 15 SP2 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 del clúster de Pacemaker
Siga los pasos de Configuración de Pacemaker en SUSE Linux Enterprise Server en Azure si desea crear un clúster de Pacemaker básico para SAP (A)SCS.
Instalación
Los elementos siguientes tienen el prefijo [A] : aplicable a todos los nodos, [1] : aplicable solo al nodo 1 o [2] : aplicable solo al nodo 2.
[A] Instale la última versión del conector de SUSE.
sudo zypper install sap-suse-cluster-connector
Nota
El problema conocido con el uso de un guion en los nombres de host se ha corregido con la versión 3.1.1 del paquete sap-suse-cluster-connector. Si utiliza nodos de clúster con un guion en el nombre de host, asegúrese de usar al menos la versión 3.1.1 del paquete sap-suse-cluster-connector. Si lo hace, el clúster no funcionará.
Asegúrese de que instaló la nueva versión del conector de clúster SUSE SAP. La antigua se llamaba sap_suse_cluster_connector y la nueva se llama sap-suse-cluster-connector.
[A] Actualice los agentes de recursos de SAP
Se requiere una revisión del paquete de agentes de recursos para usar la nueva configuración que se describe este artículo. Puede usar el comando siguiente para comprobar si la revisión ya está instalada
sudo grep 'parameter name="IS_ERS"' /usr/lib/ocf/resource.d/heartbeat/SAPInstance
La salida debe ser similar a
<parameter name="IS_ERS" unique="0" required="0">;
Si el comando grep no encuentra el parámetro IS_ERS, necesita instalar la revisión que aparece en la página de descarga de SUSE
[A] Configuración de la resolución de nombres de host
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. Reemplace la dirección IP y el nombre de host en los siguientes comandos
sudo vi /etc/hosts
Inserte las siguientes líneas en /etc/hosts. Cambie la dirección IP y el nombre de host para que coincida 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
[1] Cree los directorios de SAP en el recurso compartido de NFS.
Monte temporalmente el recurso compartido de NFS sapnw1 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
Preparación de la instalación de SAP NetWeaver
[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
[A] Monte los sistemas de archivos que no se controlarán mediante el clúster de Pacemaker.
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
[A] Configure el archivo de intercambio
sudo vi /etc/waagent.conf # Check if property ResourceDisk.Format is already set to y and if not, set it ResourceDisk.Format=y # 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
Instalación de SAP NetWeaver ASCS/ERS
[1] Cree un recurso IP virtual y un sondeo de estado para la instancia de ASCS
Importante
Se recomienda usar el agente de recursos azure-lb, que forma parte de los agentes de recursos de paquetes, con los siguientes requisitos de versión de paquete:
- En el caso de SLES 12 SP4/SP5, la versión debe ser, al menos, resource-agents-4.3.018.a7fb5035-3.30.1.
- En el caso de SLES 15 y ediciones posteriores, la versión debe ser al menos resource-agents-4.3.0184.6ee15eb2-4.13.1.
sudo crm node standby sap-cl2 sudo crm configure primitive fs_NW1_ASCS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1ascs' directory='/usr/sap/NW1/ASCS00' fstype='nfs' options='noresvport,vers=4,minorversion=1,sec=sys' \ op start timeout=60s interval=0 \ op stop timeout=60s interval=0 \ op monitor interval=20s timeout=40s sudo crm configure primitive vip_NW1_ASCS IPaddr2 \ params ip=10.90.90.10 \ op monitor interval=10 timeout=20 sudo crm configure primitive nc_NW1_ASCS azure-lb port=62000 \ op monitor timeout=20s interval=10 sudo crm configure group g-NW1_ASCS fs_NW1_ASCS nc_NW1_ASCS vip_NW1_ASCS \ meta resource-stickiness=3000
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.
sudo crm_mon -r # Node sap-cl2: standby # Online: [ sap-cl1 ] # # Full list of resources: # # stonith-sbd (stonith:external/sbd): 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
[1] Instale SAP NetWeaver ASCS
Instale SAP NetWeaver ASCS como 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, 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 parámetro de sapinst SAPINST_REMOTE_ACCESS_USER para permitir que un usuario no raíz se conecta a sapinst. Puede usar el parámetro SAPINST_USE_HOSTNAME para instalar SAP con el nombre de host virtual.
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.
chown nw1adm /usr/sap/NW1/ASCS00 chgrp sapsys /usr/sap/NW1/ASCS00
[1] Cree un recurso IP virtual y un sondeo de estado para la instancia de ERS
sudo crm node online sap-cl2 sudo crm node standby sap-cl1 sudo crm configure primitive fs_NW1_ERS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1ers' directory='/usr/sap/NW1/ERS01' fstype='nfs' options='noresvport,vers=4,minorversion=1,sec=sys' \ op start timeout=60s interval=0 \ op stop timeout=60s interval=0 \ op monitor interval=20s timeout=40s sudo crm configure primitive vip_NW1_ERS IPaddr2 \ params ip=10.90.90.9 \ op monitor interval=10 timeout=20 sudo crm configure primitive nc_NW1_ERS azure-lb port=62101 \ op monitor timeout=20s interval=10 sudo crm configure group g-NW1_ERS fs_NW1_ERS nc_NW1_ERS vip_NW1_ERS
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.
sudo crm_mon -r # Node sap-cl1: standby # Online: [ sap-cl2 ] # # Full list of resources: # # stonith-sbd (stonith:external/sbd): 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_ERS # fs_NW1_ERS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_ERS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started sap-cl2
[2] Instale SAP NetWeaver ERS
Instale SAP NetWeaver ERS como 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), 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 parámetro de sapinst SAPINST_REMOTE_ACCESS_USER para permitir que un usuario no raíz se conecta a sapinst. Puede usar el parámetro SAPINST_USE_HOSTNAME para instalar SAP con el nombre de host virtual.
<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 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.
chown nw1adm /usr/sap/NW1/ERS01 chgrp sapsys /usr/sap/NW1/ERS01
[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 following lines service/halib = $(DIR_CT_RUN)/saphascriptco.so service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector # 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) # Add the following lines service/halib = $(DIR_CT_RUN)/saphascriptco.so service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector # remove Autostart from ERS profile # Autostart = 1
[A] Configure la conexión persistente
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 evitarlo, si usa ENSA1, debe establecer un parámetro en el perfil de ASCS/SCS de SAP NetWeaver. Cambie la opción
keepalive
del sistema Linux en todos los servidores SAP de ENSA1 y ENSA2. Para más información, lea la nota de SAP 1410736.# Change the Linux system configuration sudo sysctl net.ipv4.tcp_keepalive_time=300
[A] Configure los usuarios de SAP después de la instalación
# Add sidadm to the haclient group sudo usermod -aG haclient nw1adm
[1] Agregue los servicios SAP de ASCS y ERS al archivo
sapservice
Agregue la entrada del servicio ASCS al segundo nodo y copie la entrada del servicio ERS al primer nodo.
cat /usr/sap/sapservices | grep ASCS00 | sudo ssh sap-cl2 "cat >>/usr/sap/sapservices" sudo ssh sap-cl2 "cat /usr/sap/sapservices" | grep ERS01 | sudo tee -a /usr/sap/sapservices
[A] Deshabilitación de los servicios
systemd
de la instancia de SAP de ASCS y ERS. Este paso solo es aplicable, si el marco de inicio de SAP se administra mediante sistema según la nota SAP 3115048Nota:
Al administrar instancias de SAP como ASCS de SAP y ERS de SAP mediante la configuración del clúster de SLES, tendría que realizar modificaciones adicionales para integrar el clúster con el marco de inicio de SAP basado en sistema nativo. Esto garantiza que los procedimientos de mantenimiento no pongan en peligro la estabilidad del clúster. Después de instalar o cambiar el marco de inicio de SAP a la configuración habilitada para systemd según la nota SAP 3115048, debe deshabilitar los servicios de
systemd
para las instancias de SAP de ASCS y ERS.# Stop ASCS and ERS instances using <sid>adm sapcontrol -nr 00 -function Stop sapcontrol -nr 00 -function StopService sapcontrol -nr 01 -function Stop sapcontrol -nr 01 -function StopService # Execute below command on VM where you have performed ASCS instance installation (e.g. sap-cl1) sudo systemctl disable SAPNW1_00 # Execute below command on VM where you have performed ERS instance installation (e.g. sap-cl2) sudo systemctl disable SAPNW1_01
[1] Cree los recursos de 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 información sobre la compatibilidad con ENSA2, consulte la nota de SAP 2630416.
sudo crm configure property maintenance-mode="true" sudo crm configure primitive rsc_sap_NW1_ASCS00 SAPInstance \ operations \$id=rsc_sap_NW1_ASCS00-operations \ op monitor interval=11 timeout=60 on-fail=restart \ params InstanceName=NW1_ASCS00_sapascs START_PROFILE="/sapmnt/NW1/profile/NW1_ASCS00_sapascs" \ AUTOMATIC_RECOVER=false \ meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10 sudo crm configure primitive rsc_sap_NW1_ERS01 SAPInstance \ operations \$id=rsc_sap_NW1_ERS01-operations \ op monitor interval=11 timeout=60 on-fail=restart \ params InstanceName=NW1_ERS01_sapers START_PROFILE="/sapmnt/NW1/profile/NW1_ERS01_sapers" AUTOMATIC_RECOVER=false IS_ERS=true \ meta priority=1000 sudo crm configure modgroup g-NW1_ASCS add rsc_sap_NW1_ASCS00 sudo crm configure modgroup g-NW1_ERS add rsc_sap_NW1_ERS01 sudo crm configure colocation col_sap_NW1_no_both -5000: g-NW1_ERS g-NW1_ASCS sudo crm configure location loc_sap_NW1_failover_to_ers rsc_sap_NW1_ASCS00 rule 2000: runs_ers_NW1 eq 1 sudo crm configure order ord_sap_NW1_first_start_ascs Optional: rsc_sap_NW1_ASCS00:start rsc_sap_NW1_ERS01:stop symmetrical=false sudo crm_attribute --delete --name priority-fencing-delay sudo crm node online sap-cl1 sudo crm configure property 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.
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.
sudo crm_mon -r
# Full list of resources:
#
# stonith-sbd (stonith:external/sbd): Started sap-cl2
# 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
# rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl1
# Resource Group: g-NW1_ERS
# fs_NW1_ERS (ocf::heartbeat:Filesystem): Started sap-cl2
# nc_NW1_ERS (ocf::heartbeat:azure-lb): Started sap-cl2
# vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started sap-cl2
# rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl1
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 el servidor de aplicaciones se va a instalar en un servidor que no es ASCS/SCS ni HANA. De lo contrario, no se necesitan algunos de los pasos que aparecen a continuación (como configurar la resolución de nombres de host).
Los elementos siguientes tienen el prefijo [A] (aplicable a PAS y AAS), [P] (solo aplicable a PAS) o [S] (solo aplicable a AAS).
[A] Configure el sistema operativo
Reduzca el tamaño de la caché de datos incorrectos. Para más información, consulte Low write performance on SLES 11/12 servers with large RAM (Bajo rendimiento de escritura en servidores SLES 11/12 con RAM grande).
sudo vi /etc/sysctl.conf # Change/set the following settings vm.dirty_bytes = 629145600 vm.dirty_background_bytes = 314572800
[A] Configuración de la resolución de nombres de host
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. Reemplace la dirección IP y el nombre de host en los siguientes comandos
sudo vi /etc/hosts
Inserte las siguientes líneas en /etc/hosts. Cambie la dirección IP y el nombre de host para que coincida 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
[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
[A] Monte los sistemas de archivos.
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
[A] Configure el archivo de intercambio
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
Instalar 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 acerca de cómo instalar SAP HANA en Azure, consulte Alta disponibilidad de SAP HANA en Azure Virtual Machines (VM). 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 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 la base de datos.
Puede usar el parámetro de sapinst SAPINST_REMOTE_ACCESS_USER para permitir que un usuario no raíz se conecta 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.
[A] Prepare el servidor de aplicaciones. Siga los pasos descritos en el capítulo Preparación del servidor de aplicaciones de SAP NetWeaver anterior para preparar el servidor de aplicaciones.
[A] Instale el servidor de aplicaciones de SAP NetWeaver.
Instale un servidor de aplicaciones de SAP NetWeaver principal o adicional.Puede usar el parámetro de sapinst SAPINST_REMOTE_ACCESS_USER para permitir que un usuario no raíz se conecta a sapinst.
sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
[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:
hdbuserstore List
El comando debería mostrar todas las entradas, que deberían ser parecidas a estas:
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
yNW1
en la salida de muestra.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. Ejecute las pruebas de conmutación por error típicas.
Pasos siguientes
- Alta disponibilidad para SAP NetWeaver en máquinas virtuales de Azure en SUSE Linux Enterprise Server para SAP Applications: guía de varios SID
- Planeamiento e implementación de Azure Virtual Machines para SAP
- Implementación de Azure Virtual Machines para SAP
- Implementación de DBMS de Azure Virtual Machines para SAP
- Para más información sobre cómo establecer la alta disponibilidad y planear la recuperación ante desastres de SAP HANA en Azure Virtual Machines, consulte Alta disponibilidad de SAP HANA en las máquinas virtuales de Azure.