Alta disponibilidad para SAP NetWeaver en máquinas virtuales de Azure en Red Hat Enterprise Linux para aplicaciones SAP con varios SID
En este artículo se describe cómo implementar varios sistemas de alta disponibilidad de SAP NetWeaver (varios SID) en un clúster de dos nodos en máquinas virtuales de Azure con Red Hat Enterprise Linux para aplicaciones SAP.
En las configuraciones de ejemplo, se implementan tres sistemas SAP NetWeaver 7.50 en un único clúster de alta disponibilidad de dos nodos. Los SID de los sistemas SAP son los siguientes:
NW1
: número de instancia 00 de ASCS y nombre del host virtualmsnw1ascs
. Número de instancia 02 de ERS y nombre del host virtualmsnw1ers
.NW2
: número de instancia 10 de ASCS y nombre de host virtualmsnw2ascs
. Número de instancia 12 de ERS y nombre del host virtualmsnw2ers
.NW3
: número de instancia 20 de ASCS y nombre del host virtualmsnw3ascs
. Número de instancia 22 de ERS y nombre del host virtualmsnw3ers
.
El artículo no trata la capa de base de datos ni la implementación de los recursos compartidos NFS de SAP.
En los ejemplos de este artículo, se usa el volumen sapMSID
de Azure NetApp Files para los recursos compartidos de NFS, suponiendo que el volumen ya esté implementado. En los ejemplos se supone que el volumen de Azure NetApp Files se implementa con el protocolo NFSv3. En ellos se usan las siguientes rutas de acceso de archivo para los recursos del clúster en las instancias de ASCS y ERS de los sistemas SAP NW1
, NW2
y NW3
:
- volumen sapMSID (nfs://10.42.0.4/sapmntNW1)
- volumen sapMSID (nfs://10.42.0.4/usrsapNW1ascs)
- volumen sapMSID (nfs://10.42.0.4/usrsapNW1sys)
- volumen sapMSID (nfs://10.42.0.4/usrsapNW1ers)
- volumen sapMSID (nfs://10.42.0.4/sapmntNW2)
- volumen sapMSID (nfs://10.42.0.4/usrsapNW2ascs)
- volumen sapMSID (nfs://10.42.0.4/usrsapNW2sys)
- volumen sapMSID (nfs://10.42.0.4/usrsapNW2ers)
- volumen sapMSID (nfs://10.42.0.4/sapmntNW3)
- volumen sapMSID (nfs://10.42.0.4/usrsapNW3ascs)
- volumen sapMSID (nfs://10.42.0.4/usrsapNW3sys)
- volumen sapMSID (nfs://10.42.0.4/usrsapNW3ers)
Antes de comenzar, consulte las siguientes notas y documentos de SAP:
- 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.
- Documentación sobre Azure NetApp Files.
- La nota de SAP 2015553 enumera los requisitos previos de las implementaciones de software de SAP admitidas por SAP en Azure.
- La nota de SAP 2002167 recomienda la configuración del sistema operativo para Red Hat Enterprise Linux.
- La nota de SAP 2009879 contiene las instrucciones de SAP HANA para Red Hat Enterprise Linux.
- 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 1999351 contiene más información de solución de problemas sobre 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.
- SAP Netweaver en clústeres de Pacemaker.
- Documentación general de RHEL:
- Introducción al complemento de alta disponibilidad
- Administración del complemento de alta disponibilidad
- Referencia del complemento de alta disponibilidad
- Configuración de ASCS/ERS para SAP Netweaver con recursos independientes en RHEL 7.5
- Configuración de SAP S/4HANA ASCS/ERS con el servidor 2 de puesta en cola independiente (ENSA2) en Pacemaker en RHEL
- Documentación de RHEL específica para Azure:
- Aplicaciones de NetApp SAP en Microsoft Azure que usan Azure NetApp Files
Información general
Se debe ajustar el tamaño de las máquinas virtuales que participan en el clúster para poder ejecutar todos los recursos en caso de que se produzca una conmutación por error. Cada SID de SAP puede conmutar por error de forma independiente en el clúster de alta disponibilidad de varios SID.
Para lograr alta disponibilidad, SAP NetWeaver requiere recursos compartidos disponibles. En este artículo se muestran ejemplos con los recursos compartidos de SAP implementados en volúmenes NFS de Azure NetApp Files. También es posible hospedar los recursos compartidos en un clúster de GlusterFS de alta disponibilidad, que pueden usar varios sistemas SAP.
Importante
La compatibilidad con la agrupación en clústeres de varios SID de SAP ASCS/ERS con Red Hat Linux como sistema operativo invitado en las VM de Azure se limita a cinco SID de SAP en un mismo clúster. Cada nuevo SID aumenta la complejidad. No se admite una combinación de SAP Enqueue Replication Server 1 y SAP Enqueue Replication Server 2 en el mismo clúster. La agrupación en clústeres de varios SID describe la instalación de varias instancias de SAP ASCS/ERS con SID diferentes en un clúster de Pacemaker. Actualmente, la agrupación en clústeres de varios SID solo se admite para ASCS/ERS.
Sugerencia
La agrupación en clústeres de varios SID de SAP ASCS/ERS es una solución de gran complejidad. Su implementación resulta más compleja. También implica un mayor esfuerzo administrativo al ejecutar actividades de mantenimiento (como la aplicación de revisiones del sistema operativo). Antes de comenzar la implementación real, dedique tiempo a planear cuidadosamente la implementación y todos los componentes implicados como máquinas virtuales, montajes NFS, VIP, configuraciones de equilibrador de carga, etc.
SAP NetWeaver ASCS, SAP NetWeaver SCS y SAP NetWeaver ERS usan direcciones IP virtuales y el nombre de host virtual. En Azure, se requiere un equilibrador de carga para usar una dirección IP virtual. Se recomienda usar Standard Load Balancer.
- Direcciones IP de front-end para ASCS: 10.3.1.50 (NW1), 10.3.1.52 (NW2) y 10.3.1.54 (NW3)
- Direcciones IP de front-end para ERS: 10.3.1.51 (NW1), 10.3.1.53 (NW2) y 10.3.1.55 (NW3)
- Puerto de sondeo 62000 para NW1 ASCS, 62010 para NW2 ASCS y 62020 para NW3 ASCS
- Puerto de sondeo 62102 para NW1 ASCS, 62112 para NW2 ASCS y 62122 para NW3 ASCS
Nota:
Cuando las máquinas virtuales sin direcciones IP públicas se colocan en el grupo de back-end de Standard Load Balancer interno (sin dirección IP pública), no hay conectividad saliente de Internet, a menos que se realice una configuración adicional para permitir el enrutamiento a puntos de conexión públicos. Para obtener más información sobre cómo obtener conectividad saliente, vea Conectividad de punto de conexión público para máquinas virtuales con Azure Standard Load Balancer en escenarios de alta disponibilidad de SAP.
Importante
No habilite las marcas de tiempo TCP en VM de Azure que se encuentren detrás de Azure Load Balancer. Si habilita las marcas de tiempo TCP provocará un error en los sondeos de estado. Establezca el parámetro net.ipv4.tcp_timestamps
en 0. Para más información, consulte Sondeos de estado de Load Balancer.
Recursos compartidos de SAP
SAP NetWeaver requiere un almacenamiento compartido para el transporte, el directorio de perfil, etc. En el caso de sistemas SAP de alta disponibilidad, es importante tener recursos compartidos de alta disponibilidad. Debe decidir sobre la arquitectura de sus recursos compartidos de SAP. Una opción consiste en implementar los recursos compartidos en Volúmenes NFS de Azure NetApp Files. Con Azure NetApp Files, obtendrá alta disponibilidad integrada para los recursos compartidos NFS de SAP.
Otra opción consiste en compilar GlusterFS en VM de Azure en Red Hat Enterprise Linux para SAP NetWeaver, que se puede compartir entre varios sistemas SAP.
Implementación del primer sistema SAP en el clúster
Después de decidir la arquitectura de los recursos compartidos de SAP, implemente el primer sistema SAP del clúster, siguiendo la documentación correspondiente.
- Si se usan volúmenes NFS de Azure NetApp Files, siga Alta disponibilidad de máquinas virtuales de Azure para SAP NetWeaver en Red Hat Enterprise Linux con Azure NetApp Files para aplicaciones SAP.
- Si usa el clúster de GlusterFS, siga las instrucciones que se indican en GlusterFS en máquinas virtuales de Azure de Red Hat Enterprise Linux para SAP NetWeaver.
Estos artículos le guían por los pasos para preparar la infraestructura necesaria, compilar el clúster y preparar el sistema operativo para ejecutar la aplicación de SAP.
Sugerencia
Pruebe siempre la funcionalidad de conmutación por error del clúster después de que se ha implementado el primer sistema, antes de agregar los SID de SAP adicionales al clúster. De este modo sabrá que la funcionalidad del clúster funciona, antes de agregar la complejidad de los sistemas SAP adicionales al clúster.
Implementación de sistemas SAP adicionales en el clúster
En este ejemplo se supone que el sistema NW1
ya se ha implementado en el clúster. En este ejemplo se muestra cómo implementar los sistemas SAP NW2
y NW3
en el clúster.
Los siguientes elementos llevan delante:
- [A] Aplicable a todos los nodos.
- [1] Solo se aplica al nodo 1.
- [2] Solo se aplica al nodo 2.
Requisitos previos
Importante
Antes de seguir las instrucciones para implementar sistemas SAP adicionales en el clúster, implemente el primer sistema SAP en el clúster. Hay pasos que solo son necesarios durante la primera implementación del sistema.
En este artículo se da por hecho que:
- El clúster de Pacemaker ya está configurado y en ejecución.
- Al menos un sistema SAP (instancia de ASCS/ERS) ya está implementado y está en ejecución en el clúster.
- Se ha probado la funcionalidad de conmutación por error de clúster.
- Se implementan los recursos compartidos NFS para todos los sistemas SAP.
Preparación de la instalación de SAP NetWeaver
Agregue la configuración del sistema recién implementado (es decir,
NW2
,NW3
) a la instancia existente de Azure Load Balancer, siguiendo las instrucciones que se indican en Implementación de Azure Load Balancer manualmente a través de Azure Portal. Ajuste las direcciones IP, los puertos de sondeo de estado y las reglas de equilibrio de carga de la configuración.[A] Configure la resolución de nombres para los sistemas SAP adicionales. Puede usar un servidor DNS o modificar /etc/hosts en todos los nodos. En este ejemplo se muestra cómo utilizar el archivo /etc/hosts. Adapte las direcciones IP y los nombres de host a su entorno.
sudo vi /etc/hosts # IP address of the load balancer frontend configuration for NW2 ASCS 10.3.1.52 msnw2ascs # IP address of the load balancer frontend configuration for NW3 ASCS 10.3.1.54 msnw3ascs # IP address of the load balancer frontend configuration for NW2 ERS 10.3.1.53 msnw2ers # IP address of the load balancer frontend configuration for NW3 ERS 10.3.1.55 msnw3ers
[A] Cree los directorios compartidos para los sistemas SAP adicionales
NW2
yNW3
que se van a implementar en el clúster.sudo mkdir -p /sapmnt/NW2 sudo mkdir -p /usr/sap/NW2/SYS sudo mkdir -p /usr/sap/NW2/ASCS10 sudo mkdir -p /usr/sap/NW2/ERS12 sudo mkdir -p /sapmnt/NW3 sudo mkdir -p /usr/sap/NW3/SYS sudo mkdir -p /usr/sap/NW3/ASCS20 sudo mkdir -p /usr/sap/NW3/ERS22 sudo chattr +i /sapmnt/NW2 sudo chattr +i /usr/sap/NW2/SYS sudo chattr +i /usr/sap/NW2/ASCS10 sudo chattr +i /usr/sap/NW2/ERS12 sudo chattr +i /sapmnt/NW3 sudo chattr +i /usr/sap/NW3/SYS sudo chattr +i /usr/sap/NW3/ASCS20 sudo chattr +i /usr/sap/NW3/ERS22
[A] Agregue las entradas de montaje para los sistemas de archivos /sapmnt/SID y /usr/sap/SID/SYS para los sistemas SAP adicionales que va a implementar en el clúster. En este ejemplo, es
NW2
yNW3
.Actualice el objeto
/etc/fstab
del archivo con los sistemas de archivos de los sistemas SAP adicionales que va a implementar en el clúster.- Si usa Azure NetApp Files, siga las instrucciones que se indican en Alta disponibilidad de máquinas virtuales de Azure para SAP NW en RHEL con Azure NetApp Files.
- Si usa el clúster de GlusterFS, siga las instrucciones que se indican en Alta disponibilidad de máquinas virtuales de Azure para SAP NW en RHEL.
Instalación de ASCS/ERS
Cree los recursos de clúster de IP virtual y sondeo de estado para las instancias de ASCS de los sistemas SAP adicionales que va a implementar en el clúster. En este ejemplo se usan las instancias de ASCS
NW2
yNW3
, mediante NFS en volúmenes de Azure NetApp Files con el protocolo NFSv3.sudo pcs resource create fs_NW2_ASCS Filesystem device='10.42.0.4:/sapMSIDR/usrsapNW2ascs' \ directory='/usr/sap/NW2/ASCS10' fstype='nfs' force_unmount=safe \ op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=40 \ --group g-NW2_ASCS sudo pcs resource create vip_NW2_ASCS IPaddr2 \ ip=10.3.1.52 \ --group g-NW2_ASCS sudo pcs resource create nc_NW2_ASCS azure-lb port=62010 \ --group g-NW2_ASCS sudo pcs resource create fs_NW3_ASCS Filesystem device='10.42.0.4:/sapMSIDR/usrsapNW3ascs' \ directory='/usr/sap/NW3/ASCS20' fstype='nfs' force_unmount=safe \ op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=40 \ --group g-NW3_ASCS sudo pcs resource create vip_NW3_ASCS IPaddr2 \ ip=10.3.1.54 \ --group g-NW3_ASCS sudo pcs resource create nc_NW3_ASCS azure-lb port=62020 \ --group g-NW3_ASCS
Asegúrese de que el estado del clúster sea el correcto y que se iniciaron todos los recursos. No es importante en qué nodo se ejecutan los recursos.
[1] Instale ASCS de SAP NetWeaver.
Instale SAP NetWeaver ASCS como raíz con un nombre de host virtual que se asigna a la dirección IP de la configuración de front-end del equilibrador de carga para ASCS. Por ejemplo, para el sistema
NW2
, el nombre de host virtual esmsnw2ascs
,10.3.1.52
y el número de instancia que usó para el sondeo del equilibrador de carga, por ejemplo10
. Para el sistemaNW3
, el nombre de host virtual esmsnw3ascs
,10.3.1.54
y el número de instancia que usó para el sondeo del equilibrador de carga, por ejemplo20
. Anote en qué nodo de clúster instala ASCS para cada SID de SAP.Puede usar el parámetro
SAPINST_REMOTE_ACCESS_USER
desapinst
para permitir que un usuario no raíz se conecte a sapinst. Puede usar el parámetroSAPINST_USE_HOSTNAME
para instalar SAP con el nombre de host virtual.# Allow access to SWPM. This rule is not permanent. If you reboot the machine, you have to run the command again sudo firewall-cmd --zone=public --add-port=4237/tcp sudo swpm/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
Si durante la instalación no se puede crear una subcarpeta en /usr/sap/<SID>/ASCS<Instance#>, pruebe a establecer el propietario en <sid>adm y el grupo en sapsys de la carpeta ASCS<Instance#> e inténtelo de nuevo.
[1] Cree recursos del clúster de IP virtual y sondeo de estado para la instancia de ERS del sistema SAP adicional que va a implementar en el clúster. Este ejemplo es para las instancias de ERS
NW2
yNW3
, que usan NFS en volúmenes de Azure NetApp Files con el protocolo NFSv3.sudo pcs resource create fs_NW2_AERS Filesystem device='10.42.0.4:/sapMSIDR/usrsapNW2ers' \ directory='/usr/sap/NW2/ERS12' fstype='nfs' force_unmount=safe \ op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=40 \ --group g-NW2_AERS sudo pcs resource create vip_NW2_AERS IPaddr2 \ ip=10.3.1.53 \ --group g-NW2_AERS sudo pcs resource create nc_NW2_AERS azure-lb port=62112 \ --group g-NW2_AERS sudo pcs resource create fs_NW3_AERS Filesystem device='10.42.0.4:/sapMSIDR/usrsapNW3ers' \ directory='/usr/sap/NW3/ERS22' fstype='nfs' force_unmount=safe \ op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=40 \ --group g-NW3_AERS sudo pcs resource create vip_NW3_AERS IPaddr2 \ ip=10.3.1.55 \ --group g-NW3_AERS sudo pcs resource create nc_NW3_AERS azure-lb port=62122 \ --group g-NW3_AERS
Asegúrese de que el estado del clúster sea el correcto y que se iniciaron todos los recursos.
A continuación, asegúrese de que los recursos del grupo ERS recién creado se ejecutan en el nodo de clúster, en lugar del nodo de clúster en el que se instaló la instancia de ASCS para el mismo sistema SAP. Por ejemplo, si NW2 ASCS se instaló en
rhelmsscl1
, asegúrese de que el grupo ERS de NW2 se encuentra en ejecución enrhelmsscl2
. Para migrar el grupo ERS de NW2 arhelmsscl2
, ejecute el siguiente comando para uno de los recursos de clúster del grupo:pcs resource move fs_NW2_AERS rhelmsscl2
[2] Instale ERS de SAP NetWeaver.
Instale SAP NetWeaver ERS como raíz en el otro nodo con un nombre de host virtual que se asigna a la dirección IP de la configuración de front-end del equilibrador de carga para ERS. Por ejemplo, para el sistema
NW2
, el nombre de host virtual esmsnw2ers
,10.3.1.53
y el número de instancia que usó para el sondeo del equilibrador de carga, por ejemplo12
. En el caso del sistemaNW3
, el nombre de host virtual esmsnw3ers
,10.3.1.55
y el número de instancia que usó para el sondeo del equilibrador de carga, por ejemplo22
.Puede usar el parámetro
SAPINST_REMOTE_ACCESS_USER
desapinst
para permitir que un usuario no raíz se conecte a sapinst. Puede usar el parámetroSAPINST_USE_HOSTNAME
para instalar SAP con el nombre de host virtual.# Allow access to SWPM. This rule is not permanent. If you reboot the machine, you have to run the command again sudo firewall-cmd --zone=public --add-port=4237/tcp sudo swpm/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
Nota
Use SWPM SP 20 PL 05 o superior. Las versiones inferiores no establecen correctamente los permisos y se producirá un error de instalación.
Si durante la instalación no se puede crear una subcarpeta en /usr/sap/<NW2>/ERS<Instance#>, pruebe a establecer el propietario en <sid>adm y el grupo en sapsys de la carpeta ERS<Instance#> e inténtelo de nuevo.
Si fuera necesario migrar el grupo ERS del sistema SAP recién implementado a otro nodo de clúster, no olvide quitar la restricción de ubicación para el grupo de ERS. Para quitar la restricción, ejecute el siguiente comando. Este ejemplo se proporciona para los sistemas SAP
NW2
yNW3
. Asegúrese de quitar las restricciones temporales del mismo grupo que uso en el comando para mover el grupo de clúster de ERS.pcs resource clear fs_NW2_AERS pcs resource clear fs_NW3_AERS
[1] Adapte los perfiles de instancia de ASCS/SCS y ERS para los sistemas SAP recién instalados. El ejemplo que se muestra a continuación corresponde a
NW2
. Tendrá que adaptar los perfiles de ASCS/SCS y ERS para todas las instancias de SAP que se agreguen al clúster.Perfil ASCS/SCS
sudo vi /sapmnt/NW2/profile/NW2_ASCS10_msnw2ascs # Change the restart command to a start command #Restart_Program_01 = local $(_EN) pf=$(_PF) Start_Program_01 = local $(_EN) pf=$(_PF) # Add the keep alive parameter, if using ENSA1 enque/encni/set_so_keepalive = true
En el caso de ENSA1 y ENSA2, asegúrese de que los parámetros del sistema operativo
keepalive
se establecen tal y como se describe en la nota de SAP 1410736.Perfil ERS
sudo vi /sapmnt/NW2/profile/NW2_ERS12_msnw2ers # Change the restart command to a start command #Restart_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID) Start_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID) # remove Autostart from ERS profile # Autostart = 1
[A] Actualice el archivo /usr/sap/sapservices.
Para evitar que el script de arranque sapinit inicie las instancias, todas las que sean administradas por Pacemaker se deben marcar como comentario en el archivo /usr/sap/sapservices. El ejemplo que se muestra a continuación corresponde a los sistemas SAP
NW2
yNW3
.# Depending on whether the SAP Startup framework is integrated with systemd, you may observe below entries on the node for ASCS instances. You should comment out the line(s). # LD_LIBRARY_PATH=/usr/sap/NW2/ASCS10/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW2/ASCS10/exe/sapstartsrv pf=/usr/sap/NW2/SYS/profile/NW2_ASCS10_msnw2ascs -D -u nw2adm # LD_LIBRARY_PATH=/usr/sap/NW3/ASCS20/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW3/ASCS20/exe/sapstartsrv pf=/usr/sap/NW3/SYS/profile/NW3_ASCS20_msnw3ascs -D -u nw3adm # systemctl --no-ask-password start SAPNW2_10 # sapstartsrv pf=/usr/sap/NW2/SYS/profile/NW2_ASCS10_msnw2ascs # systemctl --no-ask-password start SAPNW3_20 # sapstartsrv pf=/usr/sap/NW3/SYS/profile/NW3_ASCS20_msnw3ascs # Depending on whether the SAP Startup framework is integrated with systemd, you may observe below entries on the node for ERS instances. You should comment out the line(s). #LD_LIBRARY_PATH=/usr/sap/NW2/ERS12/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW2/ERS12/exe/sapstartsrv pf=/usr/sap/NW2/ERS12/profile/NW2_ERS12_msnw2ers -D -u nw2adm #LD_LIBRARY_PATH=/usr/sap/NW3/ERS22/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW3/ERS22/exe/sapstartsrv pf=/usr/sap/NW3/ERS22/profile/NW3_ERS22_msnw3ers -D -u nw3adm # systemctl --no-ask-password start SAPNW2_12 # sapstartsrv pf=/usr/sap/NW2/ERS12/profile/NW2_ERS12_msnw2ers # systemctl --no-ask-password start SAPNW3_22 # sapstartsrv pf=/usr/sap/NW3/ERS22/profile/NW3_ERS22_msnw3ers
Importante
Con el marco de inicio de SAP basado en sistema, las instancias de SAP ahora se pueden administrar mediante systemd. La versión mínima necesaria de Red Hat Enterprise Linux (RHEL) es RHEL 8 para SAP. Como se describe en la nota de SAP 3115048, una nueva instalación de un kernel de SAP con compatibilidad integrada con el marco de inicio de SAP basado en el sistema siempre dará lugar a una instancia de SAP controlada por el sistema. Después de actualizar un kernel de SAP de una instalación de SAP existente a un kernel que tiene compatibilidad con el marco de inicio de SAP basado en el sistema, algunos pasos manuales deben realizarse como se documenta en la nota de SAP 3115048 para convertir el entorno de inicio de SAP existente en uno controlado por el sistema.
Al usar servicios de alta disponibilidad de Red Hat para SAP (configuración de clúster) para administrar instancias de servidor de aplicaciones de SAP como ASCS de SAP y SAP ERS, se necesitarán modificaciones adicionales para garantizar la compatibilidad entre el agente de recursos de SAPInstance y el nuevo marco de inicio de SAP basado en sistema. Por lo tanto, una vez instaladas o cambiadas las instancias del servidor de aplicaciones de SAP a un kernel de SAP habilitado para el sistema según la nota de SAP 3115048, los pasos mencionados en red Hat KBA 6884531 deben completarse correctamente en todos los nodos del clúster.
[1] Cree los recursos de clúster de SAP para el sistema SAP recién instalado.
En función de si ejecutas un sistema ENSA1 o ENSA2, selecciona la pestaña correspondiente para definir los recursos para los sistemas
NW2
yNW3
de SAP de la siguiente manera. 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. En el caso de compatibilidad con ENSA2, consulta la nota de SAP 2630416 para consultar la compatibilidad con el servidor 2 de puesta en cola.Si usas la arquitectura del servidor 2 de puesta en cola (ENSA2), instala el agente de recursos resource-agents-sap-4.1.1-12.el7.x86_64 o una versión más reciente y define los recursos de los sistemas
NW2
yNW3
de SAP de la siguiente manera:sudo pcs property set maintenance-mode=true sudo pcs resource create rsc_sap_NW2_ASCS10 SAPInstance \ InstanceName=NW2_ASCS10_msnw2ascs START_PROFILE="/sapmnt/NW2/profile/NW2_ASCS10_msnw2ascs" \ AUTOMATIC_RECOVER=false \ meta resource-stickiness=5000 migration-threshold=1 failure-timeout=60 \ op monitor interval=20 on-fail=restart timeout=60 \ op start interval=0 timeout=600 op stop interval=0 timeout=600 \ --group g-NW2_ASCS sudo pcs resource meta g-NW2_ASCS resource-stickiness=3000 sudo pcs resource create rsc_sap_NW2_ERS12 SAPInstance \ InstanceName=NW2_ERS12_msnw2ers START_PROFILE="/sapmnt/NW2/profile/NW2_ERS12_msnw2ers" \ AUTOMATIC_RECOVER=false IS_ERS=true \ op monitor interval=20 on-fail=restart timeout=60 op start interval=0 timeout=600 op stop interval=0 timeout=600 \ --group g-NW2_AERS sudo pcs constraint colocation add g-NW2_AERS with g-NW2_ASCS -5000 sudo pcs constraint location rsc_sap_NW2_ASCS10 rule score=2000 runs_ers_NW2 eq 1 sudo pcs constraint order start g-NW2_ASCS then stop g-NW2_AERS kind=Optional symmetrical=false sudo pcs resource create rsc_sap_NW3_ASCS20 SAPInstance \ InstanceName=NW3_ASCS20_msnw3ascs START_PROFILE="/sapmnt/NW3/profile/NW3_ASCS20_msnw3ascs" \ AUTOMATIC_RECOVER=false \ meta resource-stickiness=5000 migration-threshold=1 failure-timeout=60 \ op monitor interval=20 on-fail=restart timeout=60 \ op start interval=0 timeout=600 op stop interval=0 timeout=600 \ --group g-NW3_ASCS sudo pcs resource meta g-NW3_ASCS resource-stickiness=3000 sudo pcs resource create rsc_sap_NW3_ERS22 SAPInstance \ InstanceName=NW3_ERS22_msnw3ers START_PROFILE="/sapmnt/NW3/profile/NW2_ERS22_msnw3ers" \ AUTOMATIC_RECOVER=false IS_ERS=true \ op monitor interval=20 on-fail=restart timeout=60 op start interval=0 timeout=600 op stop interval=0 timeout=600 \ --group g-NW3_AERS sudo pcs constraint colocation add g-NW3_AERS with g-NW3_ASCS -5000 sudo pcs constraint location rsc_sap_NW3_ASCS20 rule score=2000 runs_ers_NW3 eq 1 sudo pcs constraint order start g-NW3_ASCS then stop g-NW3_AERS kind=Optional symmetrical=false sudo pcs property set maintenance-mode=false
Si está actualizando desde una versión anterior y va a cambiar al servidor 2 de puesta en cola, consulte la nota de SAP 2641019.
Nota
Los tiempos de espera de la configuración anterior son solo ejemplos y puede ser necesario adaptarlos a la configuración específica de SAP.
Asegúrese de que el estado del clúster sea el correcto y que se iniciaron todos los recursos. No es importante en qué nodo se ejecutan los recursos. En el ejemplo siguiente se muestra el estado de los recursos de clúster después de haber agregado los sistemas SAP
NW2
yNW3
al clúster.sudo pcs status # Online: [ rhelmsscl1 rhelmsscl2 ] # Full list of resources: # rsc_st_azure (stonith:fence_azure_arm): Started rhelmsscl1 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started rhelmsscl1 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started rhelmsscl1 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started rhelmsscl1 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started rhelmsscl1 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started rhelmsscl2 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started rhelmsscl2 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started rhelmsscl2 # rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started rhelmsscl2 # Resource Group: g-NW2_ASCS # fs_NW2_ASCS (ocf::heartbeat:Filesystem): Started rhelmsscl1 # vip_NW2_ASCS (ocf::heartbeat:IPaddr2): Started rhelmsscl1 # nc_NW2_ASCS (ocf::heartbeat:azure-lb): Started rhelmsscl1 # rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance): Started rhelmsscl1 # Resource Group: g-NW2_AERS # fs_NW2_AERS (ocf::heartbeat:Filesystem): Started rhelmsscl1 # vip_NW2_AERS (ocf::heartbeat:IPaddr2): Started rhelmsscl1 # nc_NW2_AERS (ocf::heartbeat:azure-lb): Started rhelmsscl1 # rsc_sap_NW2_ERS12 (ocf::heartbeat:SAPInstance): Started rhelmsscl1 # Resource Group: g-NW3_ASCS # fs_NW3_ASCS (ocf::heartbeat:Filesystem): Started rhelmsscl1 # vip_NW3_ASCS (ocf::heartbeat:IPaddr2): Started rhelmsscl1 # nc_NW3_ASCS (ocf::heartbeat:azure-lb): Started rhelmsscl1 # rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance): Started rhelmsscl1 # Resource Group: g-NW3_AERS # fs_NW3_AERS (ocf::heartbeat:Filesystem): Started rhelmsscl1 # vip_NW3_AERS (ocf::heartbeat:IPaddr2): Started rhelmsscl1 # nc_NW3_AERS (ocf::heartbeat:azure-lb): Started rhelmsscl1 # rsc_sap_NW3_ERS22 (ocf::heartbeat:SAPInstance): Started rhelmsscl1
[A] Agregue reglas de firewall para ASCS y ERS en ambos nodos. En el ejemplo siguiente se muestran las reglas de firewall para los sistemas SAP
NW2
yNW3
.# NW1 - ASCS sudo firewall-cmd --zone=public --add-port={62010,3210,3610,3910,8110,51013,51014,51016}/tcp --permanent sudo firewall-cmd --zone=public --add-port={62010,3210,3610,3910,8110,51013,51014,51016}/tcp # NW2 - ERS sudo firewall-cmd --zone=public --add-port={62112,3212,3312,51213,51214,51216}/tcp --permanent sudo firewall-cmd --zone=public --add-port={62112,3212,3312,51213,51214,51216}/tcp # NW3 - ASCS sudo firewall-cmd --zone=public --add-port={62020,3220,3620,3920,8120,52013,52014,52016}/tcp --permanent sudo firewall-cmd --zone=public --add-port={62020,3220,3620,3920,8120,52013,52014,52016}/tcp # NW3 - ERS sudo firewall-cmd --zone=public --add-port={62122,3222,3322,52213,52214,52216}/tcp --permanent sudo firewall-cmd --zone=public --add-port={62122,3222,3322,52213,52214,52216}/tcp
Continuación de la instalación de SAP
Complete la instalación de SAP mediante las siguientes tareas:
- Preparación de los servidores de aplicaciones de SAP NetWeaver.
- Instalación de una instancia de DBMS.
- Instalación de un servidor de aplicaciones de SAP principal.
- Instalación de una o varias instancias de aplicación de SAP adicionales.
Prueba de la configuración del clúster de varios SID
Las siguientes pruebas constituyen un subconjunto de los casos de prueba de las guías de procedimientos recomendados de Red Hat. Por motivos prácticos, se incluyen en este artículo. Para obtener una lista completa de las pruebas del clúster, consulte la siguiente documentación:
- Si se usan volúmenes NFS de Azure NetApp Files, siga las instrucciones que se indican en Alta disponibilidad de máquinas virtuales de Azure para SAP NetWeaver en RHEL con Azure NetApp Files para aplicaciones SAP.
- Si usa un clúster de
GlusterFS
de alta disponibilidad, siga las instrucciones que se indican en Alta disponibilidad de máquinas virtuales de Azure para SAP NetWeaver en RHEL para aplicaciones SAP.
Además, lea siempre las guías de procedimientos recomendados de Red Hat y realice todas las pruebas adicionales que puedan haberse agregado. Las pruebas que se presentan se encuentran en un clúster de dos nodos y varios SID con tres sistemas SAP instalados.
Migración manual de la instancia de ASCS. En el ejemplo se muestra cómo migrar la instancia de ASCS para SAP System NW3.
Estado del recurso antes de iniciar la prueba:
Online: [ rhelmsscl1 rhelmsscl2 ] Full list of resources: rsc_st_azure (stonith:fence_azure_arm): Started rhelmsscl1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started rhelmsscl1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started rhelmsscl1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started rhelmsscl1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started rhelmsscl1 Resource Group: g-NW1_AERS fs_NW1_AERS (ocf::heartbeat:Filesystem): Started rhelmsscl2 vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started rhelmsscl2 nc_NW1_AERS (ocf::heartbeat:azure-lb): Started rhelmsscl2 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started rhelmsscl2 Resource Group: g-NW2_ASCS fs_NW2_ASCS (ocf::heartbeat:Filesystem): Started rhelmsscl2 vip_NW2_ASCS (ocf::heartbeat:IPaddr2): Started rhelmsscl2 nc_NW2_ASCS (ocf::heartbeat:azure-lb): Started rhelmsscl2 rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance): Started rhelmsscl2 Resource Group: g-NW2_AERS fs_NW2_AERS (ocf::heartbeat:Filesystem): Started rhelmsscl1 vip_NW2_AERS (ocf::heartbeat:IPaddr2): Started rhelmsscl1 nc_NW2_AERS (ocf::heartbeat:azure-lb): Started rhelmsscl1 rsc_sap_NW2_ERS12 (ocf::heartbeat:SAPInstance): Started rhelmsscl1 Resource Group: g-NW3_ASCS fs_NW3_ASCS (ocf::heartbeat:Filesystem): Started rhelmsscl2 vip_NW3_ASCS (ocf::heartbeat:IPaddr2): Started rhelmsscl2 nc_NW3_ASCS (ocf::heartbeat:azure-lb): Started rhelmsscl2 rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance): Started rhelmsscl2 Resource Group: g-NW3_AERS fs_NW3_AERS (ocf::heartbeat:Filesystem): Started rhelmsscl1 vip_NW3_AERS (ocf::heartbeat:IPaddr2): Started rhelmsscl1 nc_NW3_AERS (ocf::heartbeat:azure-lb): Started rhelmsscl1 rsc_sap_NW3_ERS22 (ocf::heartbeat:SAPInstance): Started rhelmsscl1
Ejecute los siguientes comandos como raíz para migrar la instancia de NW3 ASCS.
pcs resource move rsc_sap_NW3_ASCS200 # Clear temporary migration constraints pcs resource clear rsc_sap_NW3_ASCS20 # Remove failed actions for the ERS that occurred as part of the migration pcs resource cleanup rsc_sap_NW3_ERS22
Estado del recurso después de la prueba:
Online: [ rhelmsscl1 rhelmsscl2 ] Full list of resources: rsc_st_azure (stonith:fence_azure_arm): Started rhelmsscl1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started rhelmsscl1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started rhelmsscl1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started rhelmsscl1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started rhelmsscl1 Resource Group: g-NW1_AERS fs_NW1_AERS (ocf::heartbeat:Filesystem): Started rhelmsscl2 vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started rhelmsscl2 nc_NW1_AERS (ocf::heartbeat:azure-lb): Started rhelmsscl2 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started rhelmsscl2 Resource Group: g-NW2_ASCS fs_NW2_ASCS (ocf::heartbeat:Filesystem): Started rhelmsscl2 vip_NW2_ASCS (ocf::heartbeat:IPaddr2): Started rhelmsscl2 nc_NW2_ASCS (ocf::heartbeat:azure-lb): Started rhelmsscl2 rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance): Started rhelmsscl2 Resource Group: g-NW2_AERS fs_NW2_AERS (ocf::heartbeat:Filesystem): Started rhelmsscl1 vip_NW2_AERS (ocf::heartbeat:IPaddr2): Started rhelmsscl1 nc_NW2_AERS (ocf::heartbeat:azure-lb): Started rhelmsscl1 rsc_sap_NW2_ERS12 (ocf::heartbeat:SAPInstance): Started rhelmsscl1 Resource Group: g-NW3_ASCS fs_NW3_ASCS (ocf::heartbeat:Filesystem): Started rhelmsscl1 vip_NW3_ASCS (ocf::heartbeat:IPaddr2): Started rhelmsscl1 nc_NW3_ASCS (ocf::heartbeat:azure-lb): Started rhelmsscl1 rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance): Started rhelmsscl1 Resource Group: g-NW3_AERS fs_NW3_AERS (ocf::heartbeat:Filesystem): Started rhelmsscl2 vip_NW3_AERS (ocf::heartbeat:IPaddr2): Started rhelmsscl2 nc_NW3_AERS (ocf::heartbeat:azure-lb): Started rhelmsscl2 rsc_sap_NW3_ERS22 (ocf::heartbeat:SAPInstance): Started rhelmsscl2
Simulación de bloqueo del nodo.
Estado del recurso antes de iniciar la prueba:
Online: [ rhelmsscl1 rhelmsscl2 ] Full list of resources: rsc_st_azure (stonith:fence_azure_arm): Started rhelmsscl1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started rhelmsscl1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started rhelmsscl1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started rhelmsscl1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started rhelmsscl1 Resource Group: g-NW1_AERS fs_NW1_AERS (ocf::heartbeat:Filesystem): Started rhelmsscl2 vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started rhelmsscl2 nc_NW1_AERS (ocf::heartbeat:azure-lb): Started rhelmsscl2 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started rhelmsscl2 Resource Group: g-NW2_ASCS fs_NW2_ASCS (ocf::heartbeat:Filesystem): Started rhelmsscl1 vip_NW2_ASCS (ocf::heartbeat:IPaddr2): Started rhelmsscl1 nc_NW2_ASCS (ocf::heartbeat:azure-lb): Started rhelmsscl1 rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance): Started rhelmsscl1 Resource Group: g-NW2_AERS fs_NW2_AERS (ocf::heartbeat:Filesystem): Started rhelmsscl2 vip_NW2_AERS (ocf::heartbeat:IPaddr2): Started rhelmsscl2 nc_NW2_AERS (ocf::heartbeat:azure-lb): Started rhelmsscl2 rsc_sap_NW2_ERS12 (ocf::heartbeat:SAPInstance): Started rhelmsscl2 Resource Group: g-NW3_ASCS fs_NW3_ASCS (ocf::heartbeat:Filesystem): Started rhelmsscl1 vip_NW3_ASCS (ocf::heartbeat:IPaddr2): Started rhelmsscl1 nc_NW3_ASCS (ocf::heartbeat:azure-lb): Started rhelmsscl1 rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance): Started rhelmsscl1 Resource Group: g-NW3_AERS fs_NW3_AERS (ocf::heartbeat:Filesystem): Started rhelmsscl2 vip_NW3_AERS (ocf::heartbeat:IPaddr2): Started rhelmsscl2 nc_NW3_AERS (ocf::heartbeat:azure-lb): Started rhelmsscl2 rsc_sap_NW3_ERS22 (ocf::heartbeat:SAPInstance): Started rhelmsscl2
Ejecute el siguiente comando como raíz en el nodo en el que haya al menos una instancia de ASCS en ejecución. En este ejemplo se ejecuta el comando en
rhelmsscl1
, donde se ejecutan las instancias de ASCS paraNW1
,NW2
yNW3
.echo c > /proc/sysrq-trigger
El estado tras la prueba y tras el nodo, que se bloqueó e inició de nuevo, debería parecerse a estos resultados:
Full list of resources: rsc_st_azure (stonith:fence_azure_arm): Started rhelmsscl2 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started rhelmsscl2 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started rhelmsscl2 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started rhelmsscl2 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started rhelmsscl2 Resource Group: g-NW1_AERS fs_NW1_AERS (ocf::heartbeat:Filesystem): Started rhelmsscl1 vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started rhelmsscl1 nc_NW1_AERS (ocf::heartbeat:azure-lb): Started rhelmsscl1 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started rhelmsscl1 Resource Group: g-NW2_ASCS fs_NW2_ASCS (ocf::heartbeat:Filesystem): Started rhelmsscl2 vip_NW2_ASCS (ocf::heartbeat:IPaddr2): Started rhelmsscl2 nc_NW2_ASCS (ocf::heartbeat:azure-lb): Started rhelmsscl2 rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance): Started rhelmsscl2 Resource Group: g-NW2_AERS fs_NW2_AERS (ocf::heartbeat:Filesystem): Started rhelmsscl1 vip_NW2_AERS (ocf::heartbeat:IPaddr2): Started rhelmsscl1 nc_NW2_AERS (ocf::heartbeat:azure-lb): Started rhelmsscl1 rsc_sap_NW2_ERS12 (ocf::heartbeat:SAPInstance): Started rhelmsscl1 Resource Group: g-NW3_ASCS fs_NW3_ASCS (ocf::heartbeat:Filesystem): Started rhelmsscl2 vip_NW3_ASCS (ocf::heartbeat:IPaddr2): Started rhelmsscl2 nc_NW3_ASCS (ocf::heartbeat:azure-lb): Started rhelmsscl2 rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance): Started rhelmsscl2 Resource Group: g-NW3_AERS fs_NW3_AERS (ocf::heartbeat:Filesystem): Started rhelmsscl1 vip_NW3_AERS (ocf::heartbeat:IPaddr2): Started rhelmsscl1 nc_NW3_AERS (ocf::heartbeat:azure-lb): Started rhelmsscl1 rsc_sap_NW3_ERS22 (ocf::heartbeat:SAPInstance): Started rhelmsscl1
Si hay mensajes para recursos con errores, limpie el estado de dichos recursos. Por ejemplo:
pcs resource cleanup rsc_sap_NW1_ERS02
Pasos siguientes
- 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 VM de Azure, consulte Alta disponibilidad de SAP HANA en Azure Virtual Machines (VM).