Implementar instancias de diálogo de SAP con máquinas virtuales de alta disponibilidad de ASCS/SCS de SAP en RHEL
En este artículo se describe cómo instalar y configurar el servidor de aplicaciones principal (PAS) y las instancias de diálogo de servidor de aplicaciones adicional (AAS) en el mismo clúster de alta disponibilidad de los servicios centrales de ABAP SAP (ASCS)/los servicios centrales de SAP (SCS) que se ejecuta en Red Hat Enterprise Linux (RHEL).
Referencias
- Configuración de SAP S/4HANA ASCS/ERS con el servidor 2 de puesta en cola independiente (ENSA2) en Pacemaker
- Configuración de SAP NetWeaver ASCS/ERS ENSA1 con recursos independientes en RHEL 7.5+ y RHEL 8
- Nota de SAP 1928533, que incluye:
- Una lista de tamaños de máquina virtual (VM) de Azure que se admiten para la implementación de 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 necesaria del kernel de SAP para Windows y Linux en 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 2002167 enumera la configuración recomendada del sistema operativo para Red Hat Enterprise Linux 7.x.
- La nota de SAP 2772999 enumera la configuración recomendada del sistema operativo para Red Hat Enterprise Linux 8.x.
- La nota de SAP 2009879 contiene las guías 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 el clúster de Pacemaker
- Documentación general de RHEL:
- Documentación de RHEL específica para Azure:
Información general
En este artículo se describe el escenario de optimización de costos en el que se implementan instancias de diálogo de PAS y AAS con instancias de SAP ASCS/SCS y servidor de replicación en cola (ERS) en una configuración de alta disponibilidad. Para minimizar el número de máquinas virtuales de un único sistema SAP, quiere instalar PAS y AAS en el mismo host donde se ejecutan ASCS/SCS y SAP ERS. Con ASCS/SCS de SAP configurados en una configuración del clúster de alta disponibilidad, también quiere que PAS y AAS se administren mediante clústeres. La configuración es básicamente una adición a la configuración del clúster de ASCS/SCS de SAP ya configurada. En esta configuración, PAS y AAS se instalan en un nombre de host virtual y el clúster administra su directorio de instancia.
Para esta configuración, PAS y AAS requieren un directorio de instancia de alta disponibilidad (/usr/sap/<SID>/D<nr>
). Puede colocar el sistema de archivos de directorio de instancias en el mismo almacenamiento de alta disponibilidad que ha usado para la configuración de la instancia de ASCS y ERS. La arquitectura presentada muestra NFS en Azure Files o Azure NetApp Files para un directorio de instancia de alta disponibilidad para la configuración.
En el ejemplo que se muestra en este artículo para describir la implementación se usa la siguiente información del sistema:
Nombre de instancia | Número de instancia | Nombre de host virtual | IP virtual (puerto de sondeo) |
---|---|---|---|
ABAP SAP Central Services (ASCS) | 00 | sapascs | 10.90.90.10 (62000) |
Servidor de replicación en cola (ERS) | 01 | sapers | 10.90.90.9 (62001) |
Servidor de aplicaciones principal (PAS) | 02 | sappas | 10.90.90.30 (62002) |
Servidor de aplicaciones adicional (AAS) | 03 | sapers | 10.90.90.31 (62003) |
Identificador del sistema SAP | NW1 | --- | --- |
Nota:
Instale más instancias de aplicación de SAP en máquinas virtuales independientes si quiere escalar horizontalmente.
Consideraciones importantes para la solución de optimización de costos
- Solo se pueden implementar dos instancias de diálogo, PAS y una AAS, con una configuración del clúster de ASCS/SCS de SAP.
- Si quiere escalar horizontalmente el sistema SAP con más servidores de aplicaciones (como sapa03 y sapa04), puede instalarlos en máquinas virtuales independientes. Con PAS y AAS instalados en nombres de host virtuales, puede instalar más servidores de aplicaciones mediante un nombre de host físico o virtual en máquinas virtuales independientes. Para obtener más información sobre cómo asignar un nombre de host virtual a una máquina virtual, consulte el blog Uso de nombres de host virtuales de SAP con Linux en Azure.
- Con una implementación de PAS y AAS con una configuración del clúster de ASCS/SCS de SAP, el número de instancia de ASCS, ERS, PAS y AAS debe ser diferente.
- Considere la posibilidad de cambiar el tamaño de las SKU de máquina virtual según las directrices de ajuste de tamaño. Debe tener en cuenta el comportamiento del clúster en el que se pueden ejecutar varias instancias de SAP (ASCS, ERS, PAS y AAS) en una sola máquina virtual cuando otra máquina virtual del clúster no está disponible.
- Las instancias de diálogo (PAS y AAS) que se ejecutan con una configuración del clúster de ASCS/SCS de SAP deben instalarse mediante un nombre de host virtual.
- También debe usar la misma solución de almacenamiento de la configuración del clúster de ASCS/SCS de SAP para implementar instancias de PAS y AAS. Por ejemplo, si ha configurado un clúster de ASCS/SCS de SAP mediante NFS en Azure Files, se debe usar la misma solución de almacenamiento para implementar PAS y AAS.
- Se debe montar el directorio de instancia
/usr/sap/<SID>/D<nr>
de PAS y AAS en un sistema de archivos NFS y el clúster lo administrará como un recurso.Nota:
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. - Para instalar más servidores de aplicaciones en máquinas virtuales independientes, puede usar recursos compartidos NFS o un disco administrado local para un sistema de archivos de directorio de instancia. Si va a instalar más servidores de aplicaciones para un sistema SAP J2EE, no se admite
/usr/sap/<SID>/J<nr>
en NFS en Azure Files. - En una configuración tradicional de alta disponibilidad de ASCS/SCS de SAP, las instancias del servidor de aplicaciones que se ejecutan en máquinas virtuales independientes no se ven afectadas cuando hay algún efecto en los nodos de clúster de ASCS y ERS de SAP. Pero con la configuración de optimización de costos, la instancia de PAS o AAS se reinicia cuando hay un efecto en uno de los nodos del clúster.
- Consulte Consideraciones sobre NFS en Azure Files y Consideraciones de Azure NetApp Files porque se aplican las mismas consideraciones a esta configuración.
Requisitos previos
La configuración descrita en este artículo es una adición a la configuración de clúster de ASCS/SCS de SAP ya configurada. En esta configuración, PAS y AAS se instalan en un nombre de host virtual y el clúster administra su directorio de instancia. En función del almacenamiento, use los pasos descritos en los artículos siguientes para configurar el recurso de SAPInstance
para la instancia de ASCS de SAP y ERS de SAP en el clúster.
- NFS en Azure Files: alta disponibilidad de máquinas virtuales de Azure para SAP NW en RHEL con NFS en Azure Files
- Azure NetApp Files: alta disponibilidad de máquinas virtuales de Azure para SAP NW en RHEL con Azure NetApp Files
Después de instalar la instancia de ASCS, ERS y Database mediante Software Provisioning Manager (SWPM), siga los pasos siguientes para instalar las instancias de PAS y AAS.
Configuración de Azure Load Balancer para PAS y AAS
En este artículo se da por supuesto que ya configuró el equilibrador de carga para la configuración del clúster de ASCS/SCS de SAP, tal como se describe en Configuración de Azure Load Balancer. En la misma instancia de Azure Load Balancer, siga estos pasos para crear más direcciones IP de front-end y reglas de equilibrio de carga para PAS y AAS.
- Abra el equilibrador de carga interno que se ha creado para la configuración del clúster de ASCS/SCS de SAP.
- Configuración de IP de front-end: cree dos direcciones IP de front-end, una para PAS y otra para AAS (por ejemplo, 10.90.90.30 y 10.90.90.31).
- Grupo de back-end: este grupo sigue siendo el mismo porque estamos implementando PAS y AAS en el mismo grupo de back-end.
- Reglas de entrada: cree dos reglas de equilibrio de carga, una para PAS y otra para AAS. Siga los mismos pasos para ambas reglas de equilibrio de carga.
- Dirección IP de front-end: seleccione la dirección IP de front-end.
- Grupo de back-end: seleccione el grupo de back-end.
- Puertos de alta disponibilidad: seleccione esta opción.
- Protocolo: seleccione TCP.
- Sondeo de estado: crear un sondeo de estado con los siguientes detalles (se aplica tanto a PAS como a AAS):
- Protocolo: seleccione TCP.
- Puerto: por ejemplo, 620<Instance-no.> para PAS y 620<Instance-no.> para AAS.
- Intervalo: escriba 5.
- Umbral de sondeo: escriba 2.
- Tiempo de espera de inactividad (minutos): Escriba 30.
- Habilitar IP flotante: seleccione esta opción.
La propiedad de configuración del sondeo de estado numberOfProbes
, lo que se conoce como umbral incorrecto en Azure Portal, no se respeta. 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. Use la CLI de Azure o el comando de PowerShell.
Cuando las máquinas virtuales sin direcciones IP públicas se colocan en el grupo de back-end de una instancia de Azure Load Balancer estándar (sin dirección IP pública), no hay conectividad saliente a Internet a menos que se realicen más configuraciones para permitir el enrutamiento a puntos de conexión públicos. Para conocer los pasos sobre cómo lograr la conectividad de salida, 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. 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.
Preparación de servidores para la instalación de PAS y AAS
Si los pasos de este documento se marcan con los siguientes prefijos, el significado es el siguiente:
- [A]: aplicable a todos los nodos.
- [1]: solo aplicable al nodo 1.
- [2]: solo aplicable al nodo 2.
[A]: configure la resolución 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 # 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 # IP address of the load balancer frontend configuration for SAP Netweaver PAS 10.90.90.30 sappas # IP address of the load balancer frontend configuration for SAP Netweaver AAS 10.90.90.31 sapaas
[1] Cree los directorios de SAP en el recurso compartido de NFS. Monte el recurso compartido de NFS sapnw1 temporalmente en una de las máquinas virtuales, y cree los directorios de SAP que se usarán como puntos de montaje anidados.
Si usa NFS en Azure Files:
# 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 usrsapNW1D02 sudo mkdir -p usrsapNW1D03 # unmount the volume and delete the temporary directory cd .. sudo umount /saptmp sudo rmdir /saptmp
Si usa Azure NetApp Files:
# mount temporarily the volume sudo mkdir -p /saptmp # If using NFSv3 sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,vers=3,tcp 10.90.91.5:/sapnw1 /saptmp # If using NFSv4.1 sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,vers=4.1,sec=sys,tcp 10.90.91.5:/sapnw1 /saptmp # create the SAP directories sudo cd /saptmp sudo mkdir -p usrsapNW1D02 sudo mkdir -p usrsapNW1D03 # unmount the volume and delete the temporary directory sudo cd .. sudo umount /saptmp sudo rmdir /saptmp
[A]: cree los directorios compartidos.
sudo mkdir -p /usr/sap/NW1/D02 sudo mkdir -p /usr/sap/NW1/D03 sudo chattr +i /usr/sap/NW1/D02 sudo chattr +i /usr/sap/NW1/D03
[A] Configure el espacio de intercambio. Al instalar una instancia de diálogo con servicios centrales, debe configurar más espacio 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 ResourceDisk.SwapSizeMB=10480
Reinicie el agente para activar el cambio.
sudo service waagent restart
[A] Agregue reglas de firewall para PAS y AAS.
# Probe and gateway port for PAS and AAS sudo firewall-cmd --zone=public --add-port={62002,62003,3302,3303}/tcp --permanent sudo firewall-cmd --zone=public --add-port={62002,62003,3303,3303}/tcp
Instalación de una instancia de PAS de SAP Netweaver
[1] Compruebe el estado del clúster. Antes de configurar un recurso PAS para la instalación, asegúrese de que los recursos de ASCS y ERS estén configurados e iniciados.
sudo pcs status # Online: [ sap-cl1 sap-cl2 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl1 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl2 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl2
[1] Cree recursos de sistema de archivos, IP virtual y sondeo de estado para la instancia de PAS.
sudo pcs node standby sap-cl2 sudo pcs resource create vip_NW1_PAS IPaddr2 ip=10.90.90.30 --group g-NW1_PAS sudo pcs resource create nc_NW1_PAS azure-lb port=62002 --group g-NW1_PAS # If using NFS on Azure files sudo pcs resource create fs_NW1_PAS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1D02' \ directory='/usr/sap/NW1/D02' fstype='nfs' force_unmount=safe options='noresvport,vers=4,minorversion=1,sec=sys' \ op start interval=0 timeout=60 \ op stop interval=0 timeout=120 \ op monitor interval=200 timeout=40 \ --group g-NW1_PAS # If using NFsv3 on Azure NetApp Files sudo pcs resource create fs_NW1_PAS Filesystem device='10.90.91.5:/sapnw1/usrsapNW1D02' \ directory='/usr/sap/NW1/D02' 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-NW1_PAS # If using NFSv4.1 on Azure NetApp Files sudo pcs resource create fs_NW1_PAS Filesystem device='10.90.91.5:/sapnw1/usrsapNW1D02' \ directory='/usr/sap/NW1/D02' fstype='nfs' force_unmount=safe options='sec=sys,vers=4.1' \ op start interval=0 timeout=60 \ op stop interval=0 timeout=120 \ op monitor interval=200 timeout=105 \ --group g-NW1_PAS
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 pcs status # Node List: # Node sap-cl2: standby # Online: [ sap-cl1 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl1 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_PAS: # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Started sap-cl1 # nc_NW1_PAS (ocf::heartbeat:azure-lb): Started sap-cl1 # fs_NW1_PAS (ocf::heartbeat:Filesystem): Started sap-cl1
[1] Cambie la propiedad de la carpeta
/usr/sap/SID/D02
después de montar el sistema de archivos.sudo chown nw1adm:sapsys /usr/sap/NW1/D02
[1] Instale PAS en SAP Netweaver.
Instale PAS 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 el PAS. Por ejemplo, use sappas, 10.90.90.30 y el número de instancia que usó para el sondeo del equilibrador de carga, por ejemplo 02.
Puede usar el parámetro de sapinst
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=<pas_virtual_hostname>
Actualice el archivo
/usr/sap/sapservices
.Para evitar que el script de arranque sapinit inicie las instancias, todas las instancias que sean administradas por Pacemaker se deben marcar como comentario en el archivo
/usr/sap/sapservices
.sudo vi /usr/sap/sapservices # On the node where PAS is installed, comment out the following lines. # LD_LIBRARY_PATH=/usr/sap/NW1/D02/exe:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH;/usr/sap/NW1/D02/exe/sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_D02_sappas -D -u nw1adm
[1] Cree el recurso de clúster de PAS.
# If using NFS on Azure Files or NFSv3 on Azure NetApp Files pcs resource create rsc_sap_NW1_PAS02 SAPInstance InstanceName="NW1_D02_sappas" \ START_PROFILE=/sapmnt/NW1/profile/NW1_D02_sappas \ op monitor interval=20 timeout=60 \ --group g-NW1_PAS # If using NFSv4.1 on Azure NetApp Files pcs resource create rsc_sap_NW1_PAS02 SAPInstance InstanceName="NW1_D02_sappas" \ START_PROFILE=/sapmnt/NW1/profile/NW1_D02_sappas \ op monitor interval=20 timeout=105 \ --group g-NW1_PAS
Compruebe el estado del clúster.
sudo pcs status # Node List: # Node sap-cl2: standby # Online: [ sap-cl1 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl1 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_PAS: # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Started sap-cl1 # nc_NW1_PAS (ocf::heartbeat:azure-lb): Started sap-cl1 # fs_NW1_PAS (ocf::heartbeat:Filesystem): Started sap-cl1 # rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance): Started sap-cl1
Configure una restricción para iniciar el grupo de recursos PAS solo después de iniciar la instancia de ASCS.
sudo pcs constraint order g-NW1_ASCS then g-NW1_PAS kind=Optional symmetrical=false
Instalación de una instancia de AAS de SAP Netweaver
[2] Compruebe el estado del clúster. Antes de configurar un recurso de AAS para la instalación, asegúrese de que se inician los recursos de ASCS, ERS y PAS.
sudo pcs status # Node List: # Node sap-cl2: standby # Online: [ sap-cl1 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl1 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_PAS: # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Started sap-cl1 # nc_NW1_PAS (ocf::heartbeat:azure-lb): Started sap-cl1 # fs_NW1_PAS (ocf::heartbeat:Filesystem): Started sap-cl1 # rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance): Started sap-cl1
[2] Cree recursos de sistema de archivos, IP virtual y sondeo de estado para la instancia de AAS.
sudo pcs node unstandby sap-cl2 # Disable PAS resource as it will fail on sap-cl2 due to missing environment variables like hdbuserstore. sudo pcs resource disable g-NW1_PAS sudo pcs node standby sap-cl1 # Execute below command to cleanup resource, if required pcs resource cleanup rsc_sap_NW1_ERS01 sudo pcs resource create vip_NW1_AAS IPaddr2 ip=10.90.90.31 --group g-NW1_AAS sudo pcs resource create nc_NW1_AAS azure-lb port=62003 --group g-NW1_AAS # If using NFS on Azure files sudo pcs resource create fs_NW1_AAS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1D03' \ directory='/usr/sap/NW1/D03' fstype='nfs' force_unmount=safe options='noresvport,vers=4,minorversion=1,sec=sys' \ op start interval=0 timeout=60 \ op stop interval=0 timeout=120 \ op monitor interval=200 timeout=40 \ --group g-NW1_AAS # If using NFsv3 on Azure NetApp Files sudo pcs resource create fs_NW1_AAS Filesystem device='10.90.91.5:/sapnw1/usrsapNW1D03' \ directory='/usr/sap/NW1/D03' 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-NW1_AAS # If using NFSv4.1 on Azure NetApp Files sudo pcs resource create fs_NW1_AAS Filesystem device='10.90.91.5:/sapnw1/usrsapNW1D03' \ directory='/usr/sap/NW1/D03' fstype='nfs' force_unmount=safe options='sec=sys,vers=4.1' \ op start interval=0 timeout=60 \ op stop interval=0 timeout=120 \ op monitor interval=200 timeout=105 \ --group g-NW1_AAS
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. Dado que se detiene el grupo de recursos g-NW1_PAS, todos los recursos PAS se detienen en el estado (deshabilitado).
sudo pcs status # Node List: # Node sap-cl1: standby # Online: [ sap-cl2 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl2 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl2 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl2 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl2 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl2 # Resource Group: g-NW1_PAS: # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Stopped (disabled) # nc_NW1_PAS (ocf::heartbeat:azure-lb): Stopped (disabled) # fs_NW1_PAS (ocf::heartbeat:Filesystem): Stopped (disabled) # rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance): Stopped (disabled) # Resource Group: g-NW1_AAS: # vip_NW1_AAS (ocf::heartbeat:IPaddr2): Started sap-cl2 # nc_NW1_AAS (ocf::heartbeat:azure-lb): Started sap-cl2 # fs_NW1_AAS (ocf::heartbeat:Filesystem): Started sap-cl2
[2] Cambie la propiedad de la carpeta
/usr/sap/SID/D03
después de montar el sistema de archivos.sudo chown nw1adm:sapsys /usr/sap/NW1/D03
[2] Instale un AAS de SAP Netweaver.
Instale un AAS de SAP NetWeaver 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 el PAS. Por ejemplo, use sapaas, 10.90.90.31 y el número de instancia que usó para el sondeo del equilibrador de carga, por ejemplo, 03.
Puede usar el parámetro de sapinst
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=<aas_virtual_hostname>
Actualice el archivo
/usr/sap/sapservices
.Para evitar que el script de arranque sapinit inicie las instancias, todas las instancias que sean administradas por Pacemaker se deben marcar como comentario en el archivo
/usr/sap/sapservices
.sudo vi /usr/sap/sapservices # On the node where AAS is installed, comment out the following lines. #LD_LIBRARY_PATH=/usr/sap/NW1/D03/exe:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH;/usr/sap/NW1/D03/exe/sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_D03_sapaas -D -u nw1adm
[2] Cree un recurso de clúster de AAS.
# If using NFS on Azure Files or NFSv3 on Azure NetApp Files pcs resource create rsc_sap_NW1_AAS03 SAPInstance InstanceName="NW1_D03_sapaas" \ START_PROFILE=/sapmnt/NW1/profile/NW1_D03_sapaas \ op monitor interval=120 timeout=60 \ --group g-NW1_AAS # If using NFSv4.1 on Azure NetApp Files pcs resource create rsc_sap_NW1_AAS03 SAPInstance InstanceName="NW1_D03_sapaas" \ START_PROFILE=/sapmnt/NW1/profile/NW1_D03_sapaas \ op monitor interval=120 timeout=105 \ --group g-NW1_AAS
Compruebe el estado del clúster.
sudo pcs status # Node List: # Node sap-cl1: standby # Online: [ sap-cl2 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl2 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl2 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl2 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl2 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl2 # Resource Group: g-NW1_PAS: # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Stopped (disabled) # nc_NW1_PAS (ocf::heartbeat:azure-lb): Stopped (disabled) # fs_NW1_PAS (ocf::heartbeat:Filesystem): Stopped (disabled) # rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance): Stopped (disabled) # Resource Group: g-NW1_AAS: # vip_NW1_AAS (ocf::heartbeat:IPaddr2): Started sap-cl2 # nc_NW1_AAS (ocf::heartbeat:azure-lb): Started sap-cl2 # fs_NW1_AAS (ocf::heartbeat:Filesystem): Started sap-cl2 # rsc_sap_NW1_AAS03 (ocf::heartbeat:SAPInstance): Started sap-cl2
Configure una restricción para iniciar el grupo de recursos de AAS solo después de iniciar la instancia de ASCS.
sudo pcs constraint order g-NW1_ASCS then g-NW1_AAS kind=Optional symmetrical=false
Configuración posterior a las instancias de PAS y AAS
[1] Para que PAS y AAS se ejecuten en cualquier nodo de clúster (sap-cl1 o sap-cl2), el contenido en
$HOME/.hdb
de<sid>adm
de ambos nodos de clúster se debe copiar.# Check current content of /home/nw1adm/.hdb on sap-cl1 sap-cl1:nw1adm > ls -ltr $HOME/.hdb drwx------. 2 nw1adm sapsys 66 Aug 8 19:11 sappas drwx------. 2 nw1adm sapsys 84 Aug 8 19:12 sap-cl1 # Check current content of /home/nw1adm/.hdb on sap-cl2 sap-cl2:nw1adm > ls -ltr $HOME/.hdb total 0 drwx------. 2 nw1adm sapsys 64 Aug 8 20:25 sap-cl2 drwx------. 2 nw1adm sapsys 66 Aug 8 20:26 sapaas # As PAS and AAS is installed using virtual hostname, you need to copy virtual hostname directory in /home/nw1adm/.hdb # Copy sappas directory from sap-cl1 to sap-cl2 sap-cl1:nw1adm > scp -r sappas nw1adm@sap-cl2:/home/nw1adm/.hdb # Copy sapaas directory from sap-cl2 to sap-cl1. Execute the command from the same sap-cl1 host. sap-cl1:nw1adm > scp -r nw1adm@sap-cl2:/home/nw1adm/.hdb/sapaas .
[1] Para asegurarse de que las instancias de PAS y AAS no se ejecutan en los mismos nodos cada vez que se ejecutan ambos nodos, agregue una restricción de coubicación negativa con el siguiente comando:
sudo pcs constraint colocation add g-NW1_AAS with g-NW1_PAS score=-1000 sudo pcs node unstandby sap-cl1 sudo pcs resource enable g-NW1_PAS
La puntuación de -1000 es para garantizar que, si solo hay un nodo disponible, ambas instancias seguirán ejecutándose en el otro nodo. Si desea mantener la instancia de AAS inactiva en esta situación, puede usar
score=-INFINITY
para aplicar esta condición.Compruebe el estado del clúster.
sudo pcs status # Node List: # Online: [ sap-cl1 sap-cl2 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl2 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl2 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl2 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_PAS: # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Started sap-cl1 # nc_NW1_PAS (ocf::heartbeat:azure-lb): Started sap-cl1 # fs_NW1_PAS (ocf::heartbeat:Filesystem): Started sap-cl1 # rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_AAS: # vip_NW1_AAS (ocf::heartbeat:IPaddr2): Started sap-cl2 # nc_NW1_AAS (ocf::heartbeat:azure-lb): Started sap-cl2 # fs_NW1_AAS (ocf::heartbeat:Filesystem): Started sap-cl2 # rsc_sap_NW1_AAS03 (ocf::heartbeat:SAPInstance): Started sap-cl2
Prueba de la configuración del clúster
Pruebe exhaustivamente el clúster de Pacemaker mediante la ejecución de las pruebas de conmutación por error típicas.