En esta guía, se muestra cómo automatizar la implementación de SAP HANA en un clúster de alta disponibilidad (HA) de Red Hat Enterprise Linux (RHEL) o SUSE Linux Enterprise Server (SLES) que usa el balanceador de cargas de red de transferencia interno para administrar la dirección IP virtual (VIP).
En la guía se usa Cloud Deployment Manager para implementar dos máquinas virtuales (VM) de Compute Engine, dos sistemas de escalamiento vertical de SAP HANA, una dirección IP virtual (VIP) con una implementación de balanceador de cargas de red de transferencia interno y un clúster de HA basado en SO, según las prácticas recomendadas de Google Cloud, SAP y el proveedor del SO.
Si deseas usar Terraform a fin de automatizar la implementación de un clúster de alta disponibilidad para SAP HANA, consulta la Guía de configuración de clústeres de alta disponibilidad de SAP HANA.
Uno de los sistemas SAP HANA funciona como el sistema activo principal, y el otro funciona como un sistema secundario en espera. Debes implementar ambos sistemas de SAP HANA dentro de la misma región, idealmente en diferentes zonas.
El clúster implementado incluye las siguientes funciones y características:
- El administrador de recursos del clúster de alta disponibilidad de Pacemaker
- Un mecanismo de protección de Google Cloud
- Una IP virtual (VIP) que usa una implementación de balanceador de cargas TCP de nivel 4, que incluye lo siguiente:
- Una reserva de la dirección IP que selecciones para la VIP
- Dos grupos de instancias de Compute Engine
- Un balanceador de cargas TCP interno
- Una verificación de estado de Compute Engine
- En clústeres de HA de RHEL:
- El patrón de alta disponibilidad de Red Hat
- El agente de recursos de Red Hat y los paquetes de protección
- En clústeres de HA de SLES:
- El patrón de alta disponibilidad de SUSE
- El paquete del agente de recursos de SUSE SAPHanaSR
- Replicación síncrona del sistema
- Carga previa de la memoria
- Reinicio automático de la instancia con errores como la instancia secundaria nueva
Para implementar un sistema de SAP HANA sin un clúster de alta disponibilidad de Linux o hosts en espera, usa la Guía de implementación de SAP HANA.
Esta guía está destinada a usuarios avanzados de SAP HANA que estén familiarizados con la configuración de alta disponibilidad de Linux para SAP HANA.
Requisitos
Antes de crear el clúster de alta disponibilidad de SAP HANA, asegúrate de que se cumplan los siguientes requisitos:
- Leíste la Guía de planificación de SAP HANA y la Guía de planificación de alta disponibilidad de SAP HANA.
- Tú o tu organización deben tener una cuenta de Google Cloud y haber creado un proyecto para la implementación de SAP HANA. Para obtener información sobre cómo crear cuentas y proyectos de Google Cloud, consulta Configura la Cuenta de Google en la guía de implementación de SAP HANA.
- Si necesitas que tu carga de trabajo de SAP se ejecute de acuerdo con los requisitos de residencia de datos, control de acceso, personal de asistencia o reglamentario, debes crear la carpeta de cargas de trabajo de Assured Workloads requerida. Para obtener más información, consulta Cumplimiento y controles soberanos para SAP en Google Cloud.
El medio de instalación de SAP HANA se almacena en un bucket de Cloud Storage que está disponible en tu proyecto y región de implementación. Para obtener información sobre cómo subir medios de instalación de SAP HANA a un bucket de Cloud Storage, consulta Descarga SAP HANA en la Guía de implementación de SAP HANA.
Si el Acceso al SO está habilitado en los metadatos del proyecto, debes inhabilitar el Acceso al SO de forma temporal hasta que se complete la implementación. Para fines de implementación, este procedimiento configura las claves SSH en metadatos de instancia. Cuando el acceso al SO está habilitado, la configuración de las claves SSH basada en metadatos se inhabilita y esta implementación falla. Una vez terminada la implementación, puedes volver a habilitar el acceso al SO.
Para obtener más información, consulte:
Si usas un DNS interno de VPC, el valor de la variable
vmDnsSetting
en los metadatos del proyecto debe serGlobalOnly
oZonalPreferred
para habilitar la resolución de los nombres del nodo entre zonas. La configuración predeterminada devmDnsSetting
esZonalOnly
. Para obtener más información, consulta:
Crea una red
Por razones de seguridad, crea una red nueva. Puedes controlar quién tiene acceso con reglas de firewall o a través de otro método de control de acceso.
Si tu proyecto tiene una red de VPC predeterminada, no la uses. En su lugar, crea tu propia red de VPC para que las únicas reglas de firewall vigentes sean aquellas que crees de forma explícita.
Durante la implementación, las instancias de VM suelen requerir acceso a Internet para descargar el agente de Google Cloud para SAP. Si usas una de las imágenes de Linux certificadas por SAP disponibles en Google Cloud, la instancia de VM también requerirá acceso a Internet para registrar la licencia y acceder a repositorios de proveedores de SO. Una configuración con una puerta de enlace NAT y con rótulos identificadores de red de VM admite este acceso, incluso si las VM de destino no tienen IP externas.
Para configurar la red, sigue estos pasos:
Consola
- En la consola de Google Cloud, ve a la página Redes de VPC.
- Haga clic en Crear red de VPC.
- Ingresa un Nombre para la red.
El nombre debe cumplir con la convención de nombres. Las redes de VPC usan la convención de nombres de Compute Engine.
- En Modo de creación de subredes, selecciona Custom.
- En la sección Subred nueva, especifica los siguientes parámetros de configuración para una subred:
- Ingresa un Nombre para la subred.
- En Región, selecciona la región de Compute Engine en la que deseas crear la subred.
- En Tipo de pila IP, selecciona IPv4 (pila única) y, luego, ingresa un rango de direcciones IP en el formato CIDR. , como
10.1.0.0/24
.Este es el rango de IPv4 principal de la subred. Si planeas agregar más de una subred, asigna rangos de IP de CIDR no superpuestos para cada subred de la red. Ten en cuenta que cada subred y sus rangos de IP interna se asignan a una sola región.
- Haga clic en Listo.
- Para agregar más subredes, haz clic en Agregar subred y repite los pasos anteriores. Puedes agregar más subredes a la red después de haberla creado.
- Haga clic en Crear.
gcloud
- Ve a Cloud Shell.
- Para crear una red nueva en el modo de subredes personalizadas, ejecuta el siguiente comando:
gcloud compute networks create NETWORK_NAME --subnet-mode custom
Reemplaza
NETWORK_NAME
por el nombre de la red nueva. El nombre debe cumplir con la convención de nombres. Las redes de VPC usan la convención de nombres de Compute Engine.Especifica
--subnet-mode custom
para evitar el uso del modo automático predeterminado, que crea de forma automática una subred en cada región de Compute Engine. Para obtener más información, consulta Modo de creación de subredes. - Crea una subred y especifica la región y el rango de IP a través del siguiente comando:
gcloud compute networks subnets create SUBNETWORK_NAME \ --network NETWORK_NAME --region REGION --range RANGE
Reemplaza lo siguiente:
SUBNETWORK_NAME
: el nombre de la subred nuevaNETWORK_NAME
: el nombre de la zona que creaste en el paso anteriorREGION
: la región en la que deseas que esté la subredRANGE
: el rango de direcciones IP especificado en formato CIDR, como10.1.0.0/24
Si planeas agregar más de una subred, asigna rangos de IP de CIDR no superpuestos para cada subred de la red. Ten en cuenta que cada subred y sus rangos de IP interna se asignan a una sola región.
- Si quieres, puedes repetir el paso anterior y agregar más subredes.
Configura una puerta de enlace NAT
Si necesitas crear una o más VM sin direcciones IP públicas, debes usar la traducción de direcciones de red (NAT) para permitir que las VM accedan a Internet. Usa Cloud NAT, un servicio administrado distribuido y definido por software por Google Cloud que permite que las VM envíen paquetes salientes a Internet y reciban cualquier paquete de respuesta entrante establecido. Como alternativa, puedes configurar una VM independiente como una puerta de enlace NAT.
Para crear una instancia de Cloud NAT para tu proyecto, consulta Usa Cloud NAT.
Después de configurar Cloud NAT para tu proyecto, tus instancias de VM pueden acceder a Internet de forma segura sin una dirección IP pública.
Cómo agregar reglas de firewall
De forma predeterminada, una regla de firewall implícita bloquea las conexiones entrantes desde fuera de tu red de nube privada virtual (VPC). Para permitir conexiones entrantes, establece una regla de firewall para la VM. Después de establecer una conexión entrante con una VM, se permite el tráfico en ambas direcciones a través de esa conexión.
Los clústeres de alta disponibilidad para SAP HANA requieren al menos dos reglas de firewall, una que permita que la verificación de estado de Compute Engine verifique el estado de los nodos del clúster y otra que permita que los nodos del clúster se comuniquen entre sí.Si no usas una red de VPC compartida, debes crear la regla de firewall para la comunicación entre los nodos, pero no para las verificaciones de estado. La plantilla de Deployment Manager crea la regla de firewall para las verificaciones de estado, que puedes modificar una vez que se completa la implementación, si es necesario.
Si usas una red de VPC compartida, un administrador de red debe crear ambas reglas de firewall en el proyecto host.
También puedes crear una regla de firewall para permitir el acceso externo a puertos especificados o restringir el acceso entre las VM en la misma red. Si se usa el tipo de red de VPC default
, también se aplican algunas reglas predeterminadas adicionales, como la regla default-allow-internal
, que permite la conectividad entre VM en la misma red en todos los puertos.
En función de la política de TI que se aplique a tu entorno, es posible que debas aislar o restringir la conectividad a tu host de base de datos, lo que puedes hacer a través de la creación de reglas de firewall.
Según la situación en la que te encuentres, puedes crear reglas de firewall para permitir los siguientes accesos:
- Los puertos SAP predeterminados que se enumeran en TCP/IP de todos los productos SAP.
- Conexiones desde tu computadora o tu entorno de red corporativa a tu instancia de VM de Compute Engine. Si no estás seguro de qué dirección IP usar, comunícate con el administrador de red de tu empresa.
- Conexiones SSH a tu instancia de VM, incluido SSH en el navegador.
- Conexión a tu VM a través de una herramienta de terceros en Linux. Crea una regla para permitir el acceso a la herramienta a través de tu firewall.
Para crear una regla de firewall, sigue estos pasos:
Consola
En la consola de Google Cloud, ve a la página Firewall de la red de VPC.
En la parte superior de la página, haz clic en Crear regla de firewall.
- En el campo Red, selecciona la red donde se ubica tu VM.
- En el campo Destinos, especifica los recursos de Google Cloud a los que se aplica esta regla. Por ejemplo, especifica Todas las instancias de la red. O bien, para limitar la regla a instancias específicas en Google Cloud, ingresa etiquetas en Etiquetas de destino especificadas.
- En el campo Filtro de fuente, selecciona una de las siguientes opciones:
- Rangos de IP para permitir el tráfico entrante de direcciones IP específicas. Especifica el rango de direcciones IP en el campo Rangos de IP de origen.
- Subredes para permitir el tráfico entrante desde una subred específica. Especifica el nombre de la subred en el siguiente campo Subredes. Puedes usar esta opción para permitir el acceso entre las VM en una configuración de escalamiento horizontal o de 3 niveles.
- En la sección Protocolos y puertos, selecciona Protocolos y puertos especificados y luego ingresa
tcp:PORT_NUMBER
.
Haz clic en Crear para crear tu regla de firewall.
gcloud
Crea una regla de firewall mediante el siguiente comando:
$
gcloud compute firewall-rules create FIREWALL_NAME
--direction=INGRESS --priority=1000 \
--network=NETWORK_NAME --action=ALLOW --rules=PROTOCOL:PORT \
--source-ranges IP_RANGE --target-tags=NETWORK_TAGS
Crea un clúster de Linux de alta disponibilidad con SAP HANA instalado
En las siguientes instrucciones, se usa Cloud Deployment Manager para crear un clúster de RHEL o SLES con dos sistemas de SAP HANA: un sistema SAP HANA principal de host único en una instancia de VM y un sistema SAP HANA en espera en otra Instancia de VM en la misma región de Compute Engine. Los sistemas SAP HANA usan la replicación síncrona del sistema, y el sistema en espera precarga los datos replicados.
Define opciones de configuración para el clúster de alta disponibilidad de SAP HANA en una plantilla de archivo de configuración de Deployment Manager.
En las siguientes instrucciones, se usa Cloud Shell, pero, en términos generales, se pueden aplicar a Google Cloud CLI.
Confirma que las cuotas actuales de los recursos como discos persistentes y CPU sean suficientes para los sistemas SAP HANA que estás a punto de instalar. Si las cuotas no son suficientes, la implementación fallará. Si quieres ver los requisitos de cuota de SAP HANA, consulta las consideraciones de precios y cuotas para SAP HANA.
Abre Cloud Shell o, si instalaste Google Cloud CLI en la estación de trabajo local, abre una terminal.
Ingresa el siguiente comando en Cloud Shell o en la CLI de gcloud a fin de descargar la plantilla del archivo de configuración
template.yaml
para el clúster de alta disponibilidad de SAP HANA en el directorio de trabajo:$
wget https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_hana_ha_ilb/template.yamlDe manera opcional, cambia el nombre del archivo
template.yaml
para identificar la configuración que define.Abre el archivo
template.yaml
en el editor de código de Cloud Shell o, si usas la CLI de gcloud, el editor de texto que elijas.Para abrir el editor de código de Cloud Shell, haz clic en el ícono de lápiz en la esquina superior derecha de la ventana de la terminal de Cloud Shell.
En el archivo
template.yaml
, actualiza los valores de la propiedad mediante el reemplazo de los corchetes y su contenido por los valores de la instalación. Las propiedades se describen en la siguiente tabla.Para crear las instancias de VM sin instalar SAP HANA, borra todas las líneas que comiencen con
sap_hana_
o conviértelas en comentarios.Propiedad Tipo de datos Descripción type
String Especifica la ubicación, el tipo y la versión de la plantilla de Deployment Manager que se usará durante la implementación.
El archivo YAML incluye dos especificaciones
type
, y una de ellas se marca como comentario. La especificacióntype
que está activa de forma predeterminada especifica la versión de la plantilla comolatest
. La especificacióntype
que se marca como comentario especifica una versión específica de la plantilla con una marca de tiempo.Si necesitas que todas tus implementaciones usen la misma versión de plantilla, usa la especificación
type
, que incluye la marca de tiempo.primaryInstanceName
String El nombre de la instancia de VM para el sistema de SAP HANA principal. Especifica el nombre en letras minúsculas, números o guiones. secondaryInstanceName
String El nombre de la instancia de VM para el sistema de SAP HANA secundario Especifica el nombre en letras minúsculas, números o guiones. primaryZone
String La zona en la que se implementa el sistema SAP HANA principal. Las zonas principal y secundaria deben estar en la misma región. secondaryZone
String La zona en la que se implementa el sistema SAP HANA secundario. Las zonas principal y secundaria deben estar en la misma región. instanceType
String El tipo de máquina virtual de Compute Engine en el que quieres ejecutar SAP HANA. Si necesitas un tipo de VM personalizada, especifica un tipo de VM predefinido con una cantidad de CPU virtuales más cercana al número que necesitas sin dejar de ser más grande. Una vez completada la implementación, modifica la cantidad de CPU virtuales y la cantidad de memoria. network
String El nombre de la red en la que se crea el balanceador de cargas que administra la VIP. Si usas una red de VPC compartida, debes agregar el ID del proyecto host como directorio superior del nombre de la red. Por ejemplo,
host-project-id/network-name
.subnetwork
String El nombre de la subred que usas para tu clúster de alta disponibilidad. Si usas una red de VPC compartida, debes agregar el ID del proyecto host como un directorio superior del nombre de la subred. Por ejemplo,
host-project-id/subnetwork-name
.linuxImage
String El nombre de la imagen del sistema operativo Linux o de la familia de imágenes que usas con SAP HANA. Para especificar una familia de imágenes, agrega el prefijo family/
al nombre de la familia. Por ejemplo,family/rhel-8-2-sap-ha
ofamily/sles-15-sp2-sap
. Para especificar una imagen específica, determina solo el nombre de la imagen. Si deseas ver la lista de las familias de imágenes disponibles, consulta la página Imágenes en la consola de Cloud.linuxImageProject
String El proyecto de Google Cloud que contiene la imagen que usarás. Este proyecto puede ser uno propio o un proyecto de imagen de Google Cloud. EN RHEL, especifica rhel-sap-cloud
. En SLES, especificasuse-sap-cloud
. Para ver una lista de proyectos de imágenes de Google Cloud, consulta la página Imágenes en la documentación de Compute Engine.sap_hana_deployment_bucket
String El nombre del bucket de Cloud Storage en tu proyecto que contiene los archivos de instalación de SAP HANA que subiste en un paso anterior. sap_hana_sid
String El ID del sistema SAP HANA. Debe constar de tres caracteres alfanuméricos y comenzar con una letra. Todas las letras deben estar en mayúsculas. sap_hana_instance_number
Entero El número de instancia, de 0 a 99, del sistema SAP HANA. El valor predeterminado es 0. sap_hana_sidadm_password
String Una contraseña temporal para el administrador del sistema operativo que se usará durante la implementación. Cuando finalice la implementación, cambia la contraseña. Las contraseñas deben tener como mínimo 8 caracteres y deben incluir al menos una letra mayúscula, una letra minúscula y un número. sap_hana_system_password
String Una contraseña temporal para el superusuario de la base de datos. Cuando finalice la implementación, cambia la contraseña. Las contraseñas deben tener al menos 8 caracteres y, a su vez, incluir al menos una letra mayúscula, una letra minúscula y un número. sap_vip
String La dirección IP que usarás para tu VIP. La dirección IP debe estar dentro del rango de direcciones IP asignadas a la subred. La plantilla de Deployment Manager reserva esta dirección IP para ti. En un clúster de alta disponibilidad activo, esta dirección IP siempre se asigna a la instancia de SAP HANA activa. primaryInstanceGroupName
String Define el nombre del grupo de instancias no administrado para el nodo principal. Si omites el parámetro, el nombre predeterminado es ig-primaryInstanceName
.secondaryInstanceGroupName
String Define el nombre del grupo de instancias no administrado para el nodo secundario. Si omites este parámetro, el nombre predeterminado es ig-secondaryInstanceName
.loadBalancerName
String Define el nombre del balanceador de cargas TCP interno. nic_type
String Opcional, pero recomendado si está disponible para la máquina de destino y la versión del SO. Especifica la interfaz de red que se usará con la instancia de VM. Puedes especificar el valor GVNIC
oVIRTIO_NET
. Para usar una NIC virtual de Google (gVNIC), debes especificar una imagen de SO que admita gVNIC como valor de la propiedadlinuxImage
. Para obtener la lista de imágenes del SO, consulta Detalles de los sistemas operativos.Si no especificas un valor para esta propiedad, la interfaz de red se selecciona de manera automática según el tipo de máquina que especifiques para la propiedad
Este argumento está disponible en las versionesinstanceType
.202302060649
de la plantilla de Deployment Manager o posteriores.En los siguientes ejemplos, se muestra la plantilla de archivo de configuración completa que define un clúster de alta disponibilidad para SAP HANA. El clúster usa un balanceador de cargas de red de transferencia interno para administrar la VIP.
Deployment Manager implementa los recursos de Google Cloud que se definen en el archivo de configuración y, luego, las secuencias de comandos toman el control del sistema operativo, instalan SAP HANA, configuran la replicación y configuran el clúster de HA de Linux.
Haz clic en
RHEL
oSLES
para ver el ejemplo específico de tu sistema operativo.RHEL
resources: - name: sap_hana_ha type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_hana_ha_ilb/sap_hana_ha.py # # By default, this configuration file uses the latest release of the deployment # scripts for SAP on Google Cloud. To fix your deployments to a specific release # of the scripts, comment out the type property above and uncomment the type property below. # # type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/yyyymmddhhmm/dm-templates/sap_hana_ha_ilb/sap_hana_ha.py # properties: primaryInstanceName: example-ha-vm1 secondaryInstanceName: example-ha-vm2 primaryZone: us-central1-a secondaryZone: us-central1-c instanceType: n2-highmem-32 network: example-network subnetwork: example-subnet-us-central1 linuxImage: family/rhel-8-1-sap-ha linuxImageProject: rhel-sap-cloud # SAP HANA parameters sap_hana_deployment_bucket: my-hana-bucket sap_hana_sid: HA1 sap_hana_instance_number: 00 sap_hana_sidadm_password: TempPa55word sap_hana_system_password: TempPa55word # VIP parameters sap_vip: 10.0.0.100 primaryInstanceGroupName: ig-example-ha-vm1 secondaryInstanceGroupName: ig-example-ha-vm2 loadBalancerName: lb-ha1 # Additional optional properties networkTag: hana-ha-ntwk-tag serviceAccount: sap-deploy-example@example-project-123456.iam.gserviceaccount.com
SLES
resources: - name: sap_hana_ha type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_hana_ha_ilb/sap_hana_ha.py # # By default, this configuration file uses the latest release of the deployment # scripts for SAP on Google Cloud. To fix your deployments to a specific release # of the scripts, comment out the type property above and uncomment the type property below. # # type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/yyyymmddhhmm/dm-templates/sap_hana_ha_ilb/sap_hana_ha.py # properties: primaryInstanceName: example-ha-vm1 secondaryInstanceName: example-ha-vm2 primaryZone: us-central1-a secondaryZone: us-central1-c instanceType: n2-highmem-32 network: example-network subnetwork: example-subnet-us-central1 linuxImage: family/sles-15-sp1-sap linuxImageProject: suse-sap-cloud # SAP HANA parameters sap_hana_deployment_bucket: my-hana-bucket sap_hana_sid: HA1 sap_hana_instance_number: 00 sap_hana_sidadm_password: TempPa55word sap_hana_system_password: TempPa55word # VIP parameters sap_vip: 10.0.0.100 primaryInstanceGroupName: ig-example-ha-vm1 secondaryInstanceGroupName: ig-example-ha-vm2 loadBalancerName: lb-ha1 # Additional optional properties networkTag: hana-ha-ntwk-tag serviceAccount: sap-deploy-example@example-project-123456.iam.gserviceaccount.com
Crea las instancias:
$
gcloud deployment-manager deployments create deployment-name --config template-name.yamlEl comando anterior invoca a Deployment Manager, que configura la infraestructura de Google Cloud y, luego, entrega el control a una secuencia de comandos que instala y configura SAP HANA y el clúster de alta disponibilidad.
Mientras Deployment Manager tiene el control, los mensajes de estado se escriben en Cloud Shell. Una vez que se invocan las secuencias de comandos, los mensajes de estado se escriben en Logging y se pueden ver en la consola de Google Cloud, como se describe en Verifica los registros.
El tiempo de finalización puede variar, pero todo el proceso suele tardar menos de 30 minutos.
Verifica la implementación de tu sistema HANA de alta disponibilidad
La verificación de un clúster de alta disponibilidad de SAP HANA implica varios procedimientos diferentes:
- Verificar los registros
- Verifica la configuración de la VM y la instalación de SAP HANA
- Verificar la configuración del clúster
- Verificar el balanceador de cargas y el estado de los grupos de instancias
- Comprueba el sistema SAP HANA con SAP HANA Studio
- Realiza una prueba de conmutación por error
Verifica los registros
En la consola de Google Cloud, abre Cloud Logging para supervisar el progreso de la instalación y verificar si hay errores.
Filtra los registros:
Explorador de registros
En la página Explorador de registros, ve al panel Consulta.
En el menú desplegable Recurso, selecciona Global y, luego, haz clic en Agregar.
Si no ves la opción Global, ingresa la siguiente consulta en el editor de consultas:
resource.type="global" "Deployment"
Haz clic en Ejecutar consulta.
Visor de registros heredado
- En la página Visor de registros heredado, en el menú del selector básico, selecciona Global como tu recurso de registro.
Analiza los registros filtrados:
- Si se muestra
"--- Finished"
, el proceso de implementación está completo y puedes continuar con el siguiente paso. Si ves un error de cuota, sigue estos pasos:
En la página Cuotas de IAM y administración, aumenta cualquiera de las cuotas que no cumplan con los requisitos de SAP HANA que se enumeran en la Guía de planificación de SAP HANA.
En la página Implementaciones de Deployment Manager, borra la implementación para limpiar las VM y los discos persistentes de la instalación con errores.
Vuelve a ejecutar tu implementación.
- Si se muestra
Verifica la configuración de la VM y la instalación de SAP HANA
Después de que el sistema SAP HANA se implemente sin errores, conéctate a cada VM a través de una conexión SSH. En la página Instancias de VM de Compute Engine, puedes hacer clic en el botón SSH para cada instancia de VM o usar tu método SSH preferido.
Cambia al usuario raíz.
sudo su -
En el símbolo del sistema, ingresa
df -h
. Asegúrate de ver un resultado que incluya los directorios/hana
, como/hana/data
.RHEL
[root@example-ha-vm1 ~]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 126G 0 126G 0% /dev tmpfs 126G 54M 126G 1% /dev/shm tmpfs 126G 25M 126G 1% /run tmpfs 126G 0 126G 0% /sys/fs/cgroup /dev/sda2 30G 5.4G 25G 18% / /dev/sda1 200M 6.9M 193M 4% /boot/efi /dev/mapper/vg_hana-shared 251G 52G 200G 21% /hana/shared /dev/mapper/vg_hana-sap 32G 477M 32G 2% /usr/sap /dev/mapper/vg_hana-data 426G 9.8G 417G 3% /hana/data /dev/mapper/vg_hana-log 125G 7.0G 118G 6% /hana/log /dev/mapper/vg_hanabackup-backup 512G 9.3G 503G 2% /hanabackup tmpfs 26G 0 26G 0% /run/user/900 tmpfs 26G 0 26G 0% /run/user/899 tmpfs 26G 0 26G 0% /run/user/1003
SLES
example-ha-vm1:~ # df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 126G 8.0K 126G 1% /dev tmpfs 189G 54M 189G 1% /dev/shm tmpfs 126G 34M 126G 1% /run tmpfs 126G 0 126G 0% /sys/fs/cgroup /dev/sda3 30G 5.4G 25G 18% / /dev/sda2 20M 2.9M 18M 15% /boot/efi /dev/mapper/vg_hana-shared 251G 50G 202G 20% /hana/shared /dev/mapper/vg_hana-sap 32G 281M 32G 1% /usr/sap /dev/mapper/vg_hana-data 426G 8.0G 418G 2% /hana/data /dev/mapper/vg_hana-log 125G 4.3G 121G 4% /hana/log /dev/mapper/vg_hanabackup-backup 512G 6.4G 506G 2% /hanabackup tmpfs 26G 0 26G 0% /run/user/473 tmpfs 26G 0 26G 0% /run/user/900 tmpfs 26G 0 26G 0% /run/user/0 tmpfs 26G 0 26G 0% /run/user/1003
Verifica el estado del clúster nuevo. Para ello, ingresa el comando de estado específico de tu sistema operativo:
RHEL
pcs status
SLES
crm status
Deberías ver resultados similares al siguiente ejemplo, en el que se inician ambas instancias de VM y
example-ha-vm1
es la instancia principal activa:RHEL
[root@example-ha-vm1 ~]# pcs status Cluster name: hacluster Cluster Summary: * Stack: corosync * Current DC: example-ha-vm1 (version 2.0.3-5.el8_2.4-4b1f869f0f) - partition with quorum * Last updated: Wed Jul 7 23:05:11 2021 * Last change: Wed Jul 7 23:04:43 2021 by root via crm_attribute on example-ha-vm2 * 2 nodes configured * 8 resource instances configured Node List: * Online: [ example-ha-vm1 example-ha-vm2 ] Full List of Resources: * STONITH-example-ha-vm1 (stonith:fence_gce): Started example-ha-vm2 * STONITH-example-ha-vm2 (stonith:fence_gce): Started example-ha-vm1 * Resource Group: g-primary: * rsc_healthcheck_HA1 (service:haproxy): Started example-ha-vm2 * rsc_vip_HA1_00 (ocf::heartbeat:IPaddr2): Started example-ha-vm2 * Clone Set: SAPHanaTopology_HA1_00-clone [SAPHanaTopology_HA1_00]: * Started: [ example-ha-vm1 example-ha-vm2 ] * Clone Set: SAPHana_HA1_00-clone [SAPHana_HA1_00] (promotable): * Masters: [ example-ha-vm2 ] * Slaves: [ example-ha-vm1 ] Failed Resource Actions: * rsc_healthcheck_HA1_start_0 on example-ha-vm1 'error' (1): call=29, status='complete', exitreason='', last-rc-change='2021-07-07 21:07:35Z', queued=0ms, exec=2097ms * SAPHana_HA1_00_monitor_61000 on example-ha-vm1 'not running' (7): call=44, status='complete', exitreason='', last-rc-change='2021-07-07 21:09:49Z', queued=0ms, exec=0ms Daemon Status: corosync: active/enabled pacemaker: active/enabled pcsd: active/enabled
SLES
example-ha-vm1:~ # crm status Cluster Summary: * Stack: corosync * Current DC: example-ha-vm1 (version 2.0.4+20200616.2deceaa3a-3.9.1-2.0.4+20200616.2deceaa3a) - partition with quorum * Last updated: Wed Jul 7 22:57:59 2021 * Last change: Wed Jul 7 22:57:03 2021 by root via crm_attribute on example-ha-vm1 * 2 nodes configured * 8 resource instances configured Node List: * Online: [ example-ha-vm1 example-ha-vm2 ] Full List of Resources: * STONITH-example-ha-vm1 (stonith:external/gcpstonith): Started example-ha-vm2 * STONITH-example-ha-vm2 (stonith:external/gcpstonith): Started example-ha-vm1 * Resource Group: g-primary: * rsc_vip_int-primary (ocf::heartbeat:IPaddr2): Started example-ha-vm1 * rsc_vip_hc-primary (ocf::heartbeat:anything): Started example-ha-vm1 * Clone Set: cln_SAPHanaTopology_HA1_HDB00 [rsc_SAPHanaTopology_HA1_HDB00]: * Started: [ example-ha-vm1 example-ha-vm2 ] * Clone Set: msl_SAPHana_HA1_HDB00 [rsc_SAPHana_HA1_HDB00] (promotable): * Masters: [ example-ha-vm1 ] * Slaves: [ example-ha-vm2 ]
Para cambiar al usuario administrador de SAP, reemplaza
SID_LC
en el siguiente comando por el valor SID que especificaste en la plantilla del archivo de configuración. Usa minúsculas para las letras.su - SID_LCadm
Ejecuta el siguiente comando para asegurarte de que los servicios de SAP HANA, como
hdbnameserver
,hdbindexserver
y otros, se ejecuten en la instancia:HDB info
Si usas RHEL para SAP 9.0 o una versión posterior, asegúrate de que los paquetes
chkconfig
ycompat-openssl11
estén instalados en la instancia de VM.Para obtener más información de SAP, consulta la Nota 3108316 de SAP: Red Hat Enterprise Linux 9.x: Instalación y configuración.
Verifica la configuración de tu clúster
Verifica la configuración de parámetros del clúster. Verifica la configuración que muestra el software de tu clúster y la configuración de los parámetros en el archivo de configuración del clúster. Compara tu configuración con la de los ejemplos a continuación, que se crearon a partir de las secuencias de comandos de automatización que se usan en esta guía.
Haz clic en la pestaña de tu sistema operativo.
RHEL
Muestra las opciones de configuración de los recursos de tu clúster:
pcs config show
En el siguiente ejemplo, se muestran las opciones de configuración de recursos que crean las secuencias de comandos de automatización en RHEL 8.1 y versiones posteriores.
Si ejecutas RHEL 7.7 o versiones anteriores, la definición de recurso
Clone: SAPHana_HA1_00-clone
no incluyeMeta Attrs: promotable=true
.Cluster Name: hacluster Corosync Nodes: example-rha-vm1 example-rha-vm2 Pacemaker Nodes: example-rha-vm1 example-rha-vm2 Resources: Group: g-primary Resource: rsc_healthcheck_HA1 (class=service type=haproxy) Operations: monitor interval=10s timeout=20s (rsc_healthcheck_HA1-monitor-interval-10s) start interval=0s timeout=100 (rsc_healthcheck_HA1-start-interval-0s) stop interval=0s timeout=100 (rsc_healthcheck_HA1-stop-interval-0s) Resource: rsc_vip_HA1_00 (class=ocf provider=heartbeat type=IPaddr2) Attributes: cidr_netmask=32 ip=10.128.15.100 nic=eth0 Operations: monitor interval=3600s timeout=60s (rsc_vip_HA1_00-monitor-interval-3600s) start interval=0s timeout=20s (rsc_vip_HA1_00-start-interval-0s) stop interval=0s timeout=20s (rsc_vip_HA1_00-stop-interval-0s) Clone: SAPHanaTopology_HA1_00-clone Meta Attrs: clone-max=2 clone-node-max=1 interleave=true Resource: SAPHanaTopology_HA1_00 (class=ocf provider=heartbeat type=SAPHanaTopology) Attributes: InstanceNumber=00 SID=HA1 Operations: methods interval=0s timeout=5 (SAPHanaTopology_HA1_00-methods-interval-0s) monitor interval=10 timeout=600 (SAPHanaTopology_HA1_00-monitor-interval-10) reload interval=0s timeout=5 (SAPHanaTopology_HA1_00-reload-interval-0s) start interval=0s timeout=600 (SAPHanaTopology_HA1_00-start-interval-0s) stop interval=0s timeout=300 (SAPHanaTopology_HA1_00-stop-interval-0s) Clone: SAPHana_HA1_00-clone Meta Attrs: promotable=true Resource: SAPHana_HA1_00 (class=ocf provider=heartbeat type=SAPHana) Attributes: AUTOMATED_REGISTER=true DUPLICATE_PRIMARY_TIMEOUT=7200 InstanceNumber=00 PREFER_SITE_TAKEOVER=true SID=HA1 Meta Attrs: clone-max=2 clone-node-max=1 interleave=true notify=true Operations: demote interval=0s timeout=3600 (SAPHana_HA1_00-demote-interval-0s) methods interval=0s timeout=5 (SAPHana_HA1_00-methods-interval-0s) monitor interval=61 role=Slave timeout=700 (SAPHana_HA1_00-monitor-interval-61) monitor interval=59 role=Master timeout=700 (SAPHana_HA1_00-monitor-interval-59) promote interval=0s timeout=3600 (SAPHana_HA1_00-promote-interval-0s) reload interval=0s timeout=5 (SAPHana_HA1_00-reload-interval-0s) start interval=0s timeout=3600 (SAPHana_HA1_00-start-interval-0s) stop interval=0s timeout=3600 (SAPHana_HA1_00-stop-interval-0s) Stonith Devices: Resource: STONITH-example-rha-vm1 (class=stonith type=fence_gce) Attributes: pcmk_delay_max=30 pcmk_monitor_retries=4 pcmk_reboot_timeout=300 port=example-rha-vm1 project=sap-certification-env zone=us-central1-a Operations: monitor interval=300s timeout=120s (STONITH-example-rha-vm1-monitor-interval-300s) start interval=0 timeout=60s (STONITH-example-rha-vm1-start-interval-0) Resource: STONITH-example-rha-vm2 (class=stonith type=fence_gce) Attributes: pcmk_monitor_retries=4 pcmk_reboot_timeout=300 port=example-rha-vm2 project=sap-certification-env zone=us-central1-c Operations: monitor interval=300s timeout=120s (STONITH-example-rha-vm2-monitor-interval-300s) start interval=0 timeout=60s (STONITH-example-rha-vm2-start-interval-0) Fencing Levels: Location Constraints: Resource: STONITH-example-rha-vm1 Disabled on: example-rha-vm1 (score:-INFINITY) (id:location-STONITH-example-rha-vm1-example-rha-vm1--INFINITY) Resource: STONITH-example-rha-vm2 Disabled on: example-rha-vm2 (score:-INFINITY) (id:location-STONITH-example-rha-vm2-example-rha-vm2--INFINITY) Ordering Constraints: start SAPHanaTopology_HA1_00-clone then start SAPHana_HA1_00-clone (kind:Mandatory) (non-symmetrical) (id:order-SAPHanaTopology_HA1_00-clone-SAPHana_HA1_00-clone-mandatory) Colocation Constraints: g-primary with SAPHana_HA1_00-clone (score:4000) (rsc-role:Started) (with-rsc-role:Master) (id:colocation-g-primary-SAPHana_HA1_00-clone-4000) Ticket Constraints: Alerts: No alerts defined Resources Defaults: migration-threshold=5000 resource-stickiness=1000 Operations Defaults: timeout=600s Cluster Properties: cluster-infrastructure: corosync cluster-name: hacluster dc-version: 2.0.2-3.el8_1.2-744a30d655 have-watchdog: false stonith-enabled: true stonith-timeout: 300s Quorum: Options:
Muestra el archivo de configuración del clúster,
corosync.conf
:cat /etc/corosync/corosync.conf
En el siguiente ejemplo, se muestran los parámetros que configuran las secuencias de comandos de automatización para RHEL 8.1 y versiones posteriores.
Si usas RHEL 7.7 o una versión anterior, el valor de
transport:
esudpu
en lugar deknet
:totem { version: 2 cluster_name: hacluster transport: knet join: 60 max_messages: 20 token: 20000 token_retransmits_before_loss_const: 10 crypto_cipher: aes256 crypto_hash: sha256 } nodelist { node { ring0_addr: example-rha-vm1 name: example-rha-vm1 nodeid: 1 } node { ring0_addr: example-rha-vm2 name: example-rha-vm2 nodeid: 2 } } quorum { provider: corosync_votequorum two_node: 1 } logging { to_logfile: yes logfile: /var/log/cluster/corosync.log to_syslog: yes timestamp: on }
SLES
Muestra las opciones de configuración de los recursos de tu clúster:
crm config show
Las secuencias de comandos de automatización que se usan en esta guía crean las opciones de configuración de los recursos que se muestran en el siguiente ejemplo:
node 1: example-ha-vm1 \ attributes hana_ha1_op_mode=logreplay lpa_ha1_lpt=1635380335 hana_ha1_srmode=syncmem hana_ha1_vhost=example-ha-vm1 hana_ha1_remoteHost=example-ha-vm2 hana_ha1_site=example-ha-vm1 node 2: example-ha-vm2 \ attributes lpa_ha1_lpt=30 hana_ha1_op_mode=logreplay hana_ha1_vhost=example-ha-vm2 hana_ha1_site=example-ha-vm2 hana_ha1_srmode=syncmem hana_ha1_remoteHost=example-ha-vm1 primitive STONITH-example-ha-vm1 stonith:external/gcpstonith \ op monitor interval=300s timeout=120s \ op start interval=0 timeout=60s \ params instance_name=example-ha-vm1 gcloud_path="/usr/bin/gcloud" logging=yes pcmk_reboot_timeout=300 pcmk_monitor_retries=4 pcmk_delay_max=30 primitive STONITH-example-ha-vm2 stonith:external/gcpstonith \ op monitor interval=300s timeout=120s \ op start interval=0 timeout=60s \ params instance_name=example-ha-vm2 gcloud_path="/usr/bin/gcloud" logging=yes pcmk_reboot_timeout=300 pcmk_monitor_retries=4 primitive rsc_SAPHanaTopology_HA1_HDB00 ocf:suse:SAPHanaTopology \ operations $id=rsc_sap2_HA1_HDB00-operations \ op monitor interval=10 timeout=600 \ op start interval=0 timeout=600 \ op stop interval=0 timeout=300 \ params SID=HA1 InstanceNumber=00 primitive rsc_SAPHana_HA1_HDB00 ocf:suse:SAPHana \ operations $id=rsc_sap_HA1_HDB00-operations \ op start interval=0 timeout=3600 \ op stop interval=0 timeout=3600 \ op promote interval=0 timeout=3600 \ op demote interval=0 timeout=3600 \ op monitor interval=60 role=Master timeout=700 \ op monitor interval=61 role=Slave timeout=700 \ params SID=HA1 InstanceNumber=00 PREFER_SITE_TAKEOVER=true DUPLICATE_PRIMARY_TIMEOUT=7200 AUTOMATED_REGISTER=true primitive rsc_vip_hc-primary anything \ params binfile="/usr/bin/socat" cmdline_options="-U TCP-LISTEN:60000,backlog=10,fork,reuseaddr /dev/null" \ op monitor timeout=20s interval=10s \ op_params depth=0 primitive rsc_vip_int-primary IPaddr2 \ params ip=10.128.15.101 cidr_netmask=32 nic=eth0 \ op monitor interval=3600s timeout=60s group g-primary rsc_vip_int-primary rsc_vip_hc-primary ms msl_SAPHana_HA1_HDB00 rsc_SAPHana_HA1_HDB00 \ meta notify=true clone-max=2 clone-node-max=1 target-role=Started interleave=true clone cln_SAPHanaTopology_HA1_HDB00 rsc_SAPHanaTopology_HA1_HDB00 \ meta clone-node-max=1 target-role=Started interleave=true location LOC_STONITH_example-ha-vm1 STONITH-example-ha-vm1 -inf: example-ha-vm1 location LOC_STONITH_example-ha-vm2 STONITH-example-ha-vm2 -inf: example-ha-vm2 colocation col_saphana_ip_HA1_HDB00 4000: g-primary:Started msl_SAPHana_HA1_HDB00:Master order ord_SAPHana_HA1_HDB00 Optional: cln_SAPHanaTopology_HA1_HDB00 msl_SAPHana_HA1_HDB00 property cib-bootstrap-options: \ have-watchdog=false \ dc-version="1.1.24+20210811.f5abda0ee-3.18.1-1.1.24+20210811.f5abda0ee" \ cluster-infrastructure=corosync \ cluster-name=hacluster \ maintenance-mode=false \ stonith-timeout=300s \ stonith-enabled=true rsc_defaults rsc-options: \ resource-stickiness=1000 \ migration-threshold=5000 op_defaults op-options: \ timeout=600
Muestra el archivo de configuración del clúster,
corosync.conf
:cat /etc/corosync/corosync.conf
Las secuencias de comandos de automatización que se usan en esta guía especifican la configuración de los parámetros en el archivo
corosync.conf
, como se muestra en el siguiente ejemplo:totem { version: 2 secauth: off crypto_hash: sha1 crypto_cipher: aes256 cluster_name: hacluster clear_node_high_bit: yes token: 20000 token_retransmits_before_loss_const: 10 join: 60 max_messages: 20 transport: udpu interface { ringnumber: 0 bindnetaddr: 10.128.1.63 mcastport: 5405 ttl: 1 } } logging { fileline: off to_stderr: no to_logfile: no logfile: /var/log/cluster/corosync.log to_syslog: yes debug: off timestamp: on logger_subsys { subsys: QUORUM debug: off } } nodelist { node { ring0_addr: example-ha-vm1 nodeid: 1 } node { ring0_addr: example-ha-vm2 nodeid: 2 } } quorum { provider: corosync_votequorum expected_votes: 2 two_node: 1 }
Verifica el balanceador de cargas y el estado de los grupos de instancias
Para confirmar que el balanceador de cargas y la verificación de estado se configuraron de forma correcta, verifica el balanceador de cargas y los grupos de instancias en la consola de Google Cloud.
Abra la página Balanceo de cargas en la consola de Google Cloud:
En la lista de balanceadores de cargas, confirma que se creó un balanceador de cargas para tu clúster de alta disponibilidad.
En la página Detalles del balanceador de cargas en la columna En buen estado en Grupo de instancias en la sección Backend, confirma que uno de los grupos de instancias muestra “1/1” y el otro muestra “0/1”. Después de una conmutación por error, el indicador en buen estado, “1/1”, cambia al nuevo grupo de instancias activo.
Comprueba el sistema SAP HANA con SAP HANA Studio
Puedes usar SAP HANA Cockpit o SAP HANA Studio para supervisar y administrar tus sistemas SAP HANA en un clúster de alta disponibilidad.
Conéctate al sistema HANA con SAP HANA Studio. Cuando definas la conexión, especifica los siguientes valores:
- En el panel Specify System, proporciona la dirección IP flotante como el nombre de host.
- En el panel Connection Properties, para realizar la autenticación de usuario de la base de datos, especifica el nombre del superusuario de la base de datos y la contraseña que especificaste para la propiedad sap_hana_system_password en el archivo template.yaml.
Para obtener información de SAP sobre la instalación de SAP HANA Studio, consulta SAP HANA Studio Installation and Update Guide (Guía de instalación y actualización de SAP HANA Studio).
Después de que SAP HANA Studio se conecte al sistema de alta disponibilidad de HANA, haz doble clic en el nombre del sistema, en el panel de navegación al lado izquierdo de la ventana, para ver la descripción general del sistema.
En General Information (Información general), en la pestaña Overview (Descripción general), confirma que suceda lo siguiente:
- Operational Status (Estado operativo) muestre “All services started” (“Todos los servicios iniciados”)
- System Replication Status (Estado de replicación del sistema) muestre “All services are active and in sync” (“Todos los servicios están activos y sincronizados”)
Para confirmar el modo de replicación, haz clic en el vínculo Estado de replicación del sistema (System Replication Status) en Información general (General Information). La replicación síncrona se indica a través de
SYNCMEM
en la columna REPLICATION_MODE de la pestaña Replicación del sistema (System Replication).
Si alguno de los pasos de la validación muestra que la instalación falló, haz lo siguiente:
- Resuelve los errores.
- Borra la implementación de la página Implementaciones.
- Vuelva a crear las instancias, como se describe en el último paso de la sección anterior.
Realiza una prueba de conmutación por error
Para realizar una prueba de conmutación por error, sigue estos pasos:
Conéctate a la VM principal mediante SSH. Puedes conectarte desde la página Instancias de VM de Compute Engine si haces clic en el botón SSH para cada instancia de VM o si usas tu método SSH preferido.
En el símbolo del sistema, ingresa el siguiente comando:
sudo ip link set eth0 down
El comando
ip link set eth0 down
activa una conmutación por error dado que divide las comunicaciones con el host principal.Vuelve a conectarte a cualquier host a través de SSH y cambia al usuario raíz.
Confirma que el host principal ahora está activo en la VM que contenía el host secundario. El reinicio automático está habilitado en el clúster, por lo que el host detenido se reiniciará y asumirá la función de host secundario.
RHEL
pcs status
SLES
crm status
En los siguientes ejemplos, se muestra que cambiaron las funciones de cada host.
RHEL
[root@example-ha-vm1 ~]# pcs status Cluster name: hacluster Cluster Summary: * Stack: corosync * Current DC: example-ha-vm1 (version 2.0.3-5.el8_2.3-4b1f869f0f) - partition with quorum * Last updated: Fri Mar 19 21:22:07 2021 * Last change: Fri Mar 19 21:21:28 2021 by root via crm_attribute on example-ha-vm2 * 2 nodes configured * 8 resource instances configured Node List: * Online: [ example-ha-vm1 example-ha-vm2 ] Full List of Resources: * STONITH-example-ha-vm1 (stonith:fence_gce): Started example-ha-vm2 * STONITH-example-ha-vm2 (stonith:fence_gce): Started example-ha-vm1 * Resource Group: g-primary: * rsc_healthcheck_HA1 (service:haproxy): Started example-ha-vm2 * rsc_vip_HA1_00 (ocf::heartbeat:IPaddr2): Started example-ha-vm2 * Clone Set: SAPHanaTopology_HA1_00-clone [SAPHanaTopology_HA1_00]: * Started: [ example-ha-vm1 example-ha-vm2 ] * Clone Set: SAPHana_HA1_00-clone [SAPHana_HA1_00] (promotable): * Masters: [ example-ha-vm2 ] * Slaves: [ example-ha-vm1 ]
SLES
example-ha-vm2:~ # Cluster Summary: * Stack: corosync * Current DC: example-ha-vm2 (version 2.0.4+20200616.2deceaa3a-3.9.1-2.0.4+20200616.2deceaa3a) - partition with quorum * Last updated: Thu Jul 8 17:33:44 2021 * Last change: Thu Jul 8 17:33:07 2021 by root via crm_attribute on example-ha-vm2 * 2 nodes configured * 8 resource instances configured Node List: * Online: [ example-ha-vm1 example-ha-vm2 ] Full List of Resources: * STONITH-example-ha-vm1 (stonith:external/gcpstonith): Started example-ha-vm2 * STONITH-example-ha-vm2 (stonith:external/gcpstonith): Started example-ha-vm1 * Resource Group: g-primary: * rsc_vip_int-primary (ocf::heartbeat:IPaddr2): Started example-ha-vm2 * rsc_vip_hc-primary (ocf::heartbeat:anything): Started example-ha-vm2 * Clone Set: cln_SAPHanaTopology_HA1_HDB00 [rsc_SAPHanaTopology_HA1_HDB00]: * Started: [ example-ha-vm1 example-ha-vm2 ] * Clone Set: msl_SAPHana_HA1_HDB00 [rsc_SAPHana_HA1_HDB00] (promotable): * Masters: [ example-ha-vm2 ] * Slaves: [ example-ha-vm1 ]
En la página Detalles del balanceador de cargas, en la consola, confirma que la instancia principal activa nueva muestre “1/1” en la columna En buen estado. Si es necesario, actualiza la página.
Por ejemplo:
En SAP HANA Studio, confirma que aún tienes conexión al sistema; para ello, haz doble clic en la entrada del sistema en el panel de navegación para actualizar la información del sistema.
Haz clic en el vínculo Estado de replicación del sistema (System Replication Status) para confirmar que los hosts principales y secundarios cambiaron de host y están activos.
Valida la instalación del agente de Google Cloud para SAP
Después de que hayas implementado una VM y le hayas instalado SAP NetWeaver, valida que el Agente de Google Cloud para SAP funcione de forma correcta.
Verifica que el Agente de Google Cloud para SAP esté en ejecución
Para verificar que el agente esté en ejecución, sigue estos pasos:
Establece una conexión SSH con la instancia de VM del host.
Ejecuta el siguiente comando:
systemctl status google-cloud-sap-agent
Si el agente funciona de forma correcta, el resultado contendrá
active (running)
. Por ejemplo:google-cloud-sap-agent.service - Google Cloud Agent for SAP Loaded: loaded (/usr/lib/systemd/system/google-cloud-sap-agent.service; enabled; vendor preset: disabled) Active: active (running) since Fri 2022-12-02 07:21:42 UTC; 4 days ago Main PID: 1337673 (google-cloud-sa) Tasks: 9 (limit: 100427) Memory: 22.4 M (max: 1.0G limit: 1.0G) CGroup: /system.slice/google-cloud-sap-agent.service └─1337673 /usr/bin/google-cloud-sap-agent
Si el agente no está en ejecución, reinicia el agente.
Verifica que el agente de host SAP reciba métricas
Para verificar que el Agente de Google Cloud para SAP recopile las métricas de infraestructura y que se envíen de forma correcta al agente de host SAP, sigue estos pasos:
- En el sistema SAP, ingresa la transacción
ST06
. En el panel de descripción general, revisa la disponibilidad y el contenido de los siguientes campos para verificar la configuración completa y correcta de la infraestructura de supervisión de SAP y Google:
- Proveedor de servicios en la nube:
Google Cloud Platform
- Acceso de supervisión mejorada:
TRUE
- Detalles de supervisión mejorada:
ACTIVE
- Proveedor de servicios en la nube:
Configura la supervisión para SAP HANA
De manera opcional, puedes supervisar tus instancias de SAP HANA con el agente para SAP de Google Cloud. Desde la versión 2.0, puedes configurar el agente para recopilar las métricas de supervisión de SAP HANA y enviarlas a Cloud Monitoring. Cloud Monitoring te permite crear paneles para visualizar estas métricas, configurar alertas basadas en límites de métricas y mucho más.
Para supervisar un clúster de alta disponibilidad a través de el agente de Google Cloud para SAP, asegúrate de seguir las instrucciones que se proporcionan en Configuración de alta disponibilidad para el agente.Si deseas obtener más información sobre la recopilación de métricas de supervisión de SAP HANA mediante el agente de para SAP de Google Cloud, consulta Recopilación de métricas de supervisión de SAP HANA.
Habilita SAP HANA Fast Restart
Google Cloud recomienda enfáticamente habilitar SAP HANA Fast Restart para cada instancia de SAP HANA, en especial para instancias más grandes. SAP HANA Fast Restart reduce los tiempos de reinicio en caso de que SAP HANA finalice, pero el sistema operativo permanezca en ejecución.
Como se establece en las secuencias de comandos de automatización que proporciona Google Cloud, la configuración del kernel y el sistema operativo ya son compatibles con el reinicio rápido de SAP HANA.
Debes definir el sistema de archivos tmpfs
y configurar SAP HANA.
Para definir el sistema de archivos tmpfs
y configurar SAP HANA, puedes seguir los pasos manuales o usar la secuencia de comandos de automatización que proporciona Google Cloud para habilitar el reinicio rápido de SAP HANA. Para obtener más información, consulta los siguientes vínculos:
- Pasos manuales: Habilita el reinicio rápido de SAP HANA
- Pasos manuales: Habilita el reinicio rápido de SAP HANA
Para obtener instrucciones autorizadas completas sobre Fast Restart SAP HANA, consulta la documentación de la opción Fast Restart SAP HANA.
Pasos manuales
Configura el sistema de archivos tmpfs
Después de que las VM del host y los sistemas base de SAP HANA se implementan de forma correcta, debes crear y activar directorios para los nodos de NUMA en el sistema de archivos tmpfs
.
Muestra la topología de NUMA de tu VM
Para poder asignar el sistema de archivos tmpfs
requerido, debes saber cuántos nodos de NUMA tiene tu VM. Si deseas mostrar los nodos de NUMA disponibles en una VM de Compute Engine, ingresa el siguiente comando:
lscpu | grep NUMA
Por ejemplo, un tipo de VM m2-ultramem-208
tiene cuatro nodos de NUMA, numerados del 0 al 3, como se muestra en el siguiente ejemplo:
NUMA node(s): 4 NUMA node0 CPU(s): 0-25,104-129 NUMA node1 CPU(s): 26-51,130-155 NUMA node2 CPU(s): 52-77,156-181 NUMA node3 CPU(s): 78-103,182-207
Crea los directorios de nodos de NUMA
Crea un directorio para cada nodo de NUMA en tu VM y configura los permisos.
Por ejemplo, para cuatro nodos de NUMA que están numerados del 0 al 3:
mkdir -pv /hana/tmpfs{0..3}/SID chown -R SID_LCadm:sapsys /hana/tmpfs*/SID chmod 777 -R /hana/tmpfs*/SID
Activa los directorios de nodos de NUMA en tmpfs
Activa los directorios del sistema de archivos tmpfs
y especifica una preferencia de nodo de NUMA para cada uno con mpol=prefer
:
SID especifica el SID con letras mayúsculas.
mount tmpfsSID0 -t tmpfs -o mpol=prefer:0 /hana/tmpfs0/SID mount tmpfsSID1 -t tmpfs -o mpol=prefer:1 /hana/tmpfs1/SID mount tmpfsSID2 -t tmpfs -o mpol=prefer:2 /hana/tmpfs2/SID mount tmpfsSID3 -t tmpfs -o mpol=prefer:3 /hana/tmpfs3/SID
Actualiza /etc/fstab
Para asegurarte de que los puntos de activación estén disponibles después de reiniciar el sistema operativo, agrega entradas a la tabla del sistema de archivos, /etc/fstab
:
tmpfsSID0 /hana/tmpfs0/SID tmpfs rw,relatime,mpol=prefer:0 tmpfsSID1 /hana/tmpfs1/SID tmpfs rw,relatime,mpol=prefer:1 tmpfsSID1 /hana/tmpfs2/SID tmpfs rw,relatime,mpol=prefer:2 tmpfsSID1 /hana/tmpfs3/SID tmpfs rw,relatime,mpol=prefer:3
Opcional: Establece límites para el uso de memoria
El sistema de archivos tmpfs
puede aumentar o reducirse de forma dinámica.
A fin de limitar la memoria que usa el sistema de archivos tmpfs
, puedes establecer un límite de tamaño para un volumen de nodo NUMA con la opción size
.
Por ejemplo:
mount tmpfsSID0 -t tmpfs -o mpol=prefer:0,size=250G /hana/tmpfs0/SID
También puedes limitar el uso de memoria tmpfs
general de todos los nodos de NUMA para una instancia determinada de SAP HANA y un nodo del servidor determinado si configuras el parámetro persistent_memory_global_allocation_limit
en la sección [memorymanager]
del archivo global.ini
.
Configuración de SAP HANA para Fast Restart
A fin de configurar SAP HANA para Fast Restart, actualiza el archivo global.ini
y especifica las tablas que se almacenarán en la memoria persistente.
Actualiza la sección [persistence]
en el archivo global.ini
Configura la sección [persistence]
en el archivo global.ini
de SAP HANA para hacer referencia a las ubicaciones de tmpfs
. Separa cada ubicación de tmpfs
con un punto y coma:
[persistence] basepath_datavolumes = /hana/data basepath_logvolumes = /hana/log basepath_persistent_memory_volumes = /hana/tmpfs0/SID;/hana/tmpfs1/SID;/hana/tmpfs2/SID;/hana/tmpfs3/SID
En el ejemplo anterior, se especifican cuatro volúmenes de memoria para cuatro nodos de NUMA, que corresponden a m2-ultramem-208
. Si ejecutas en el m2-ultramem-416
, debes configurar ocho volúmenes de memoria (0..7).
Reinicia SAP HANA después de modificar el archivo global.ini
.
SAP HANA ahora puede usar la ubicación de tmpfs
como espacio de memoria persistente.
Especifica las tablas que se almacenarán en la memoria persistente
Especifica particiones o tablas de columnas específicas para almacenarlas en la memoria persistente.
Por ejemplo, para activar la memoria persistente en una tabla existente, ejecuta la consulta de SQL:
ALTER TABLE exampletable persistent memory ON immediate CASCADE
Para cambiar el valor predeterminado de las tablas nuevas, agrega el parámetro table_default
en el archivo indexserver.ini
. Por ejemplo:
[persistent_memory] table_default = ON
Para obtener más información sobre cómo controlar las columnas, las tablas y qué vistas de supervisión proporcionan información detallada, consulta Memoria persistente de SAP HANA.
Pasos automatizados
La secuencia de comandos de automatización que proporciona Google Cloud para habilitar el reinicio rápido de SAP HANA realiza cambios en los directorios /hana/tmpfs*
, el archivo /etc/fstab
y la configuración de SAP HANA. Cuando ejecutas la secuencia de comandos, es posible que debas realizar pasos adicionales en función de si esta es la implementación inicial de tu sistema SAP HANA o de cambiar el tamaño de la máquina a un tamaño de NUMA diferente.
Para la implementación inicial de tu sistema SAP HANA o cambio del tamaño de la máquina a fin de aumentar la cantidad de nodos de NUMA, asegúrate de que SAP HANA se ejecute durante la ejecución de la secuencia de comandos de automatización que Google Cloud proporciona para habilitar el reinicio rápido de SAP HANA.
Cuando cambies el tamaño de tu máquina a fin de disminuir la cantidad de nodos de NUMA, asegúrate de que SAP HANA se detenga durante la ejecución de la secuencia de comandos de automatización que proporciona Google Cloud para habilitar el reinicio rápido de SAP HANA. Después de ejecutar la secuencia de comandos, debes actualizar de forma manual la configuración de SAP HANA para completar la configuración de reinicio rápido de SAP HANA. Para obtener más información, consulta Configuración de SAP HANA para un reinicio rápido.
Para habilitar el reinicio rápido de SAP HANA, sigue estos pasos:
Establece una conexión SSH con la VM del host.
Cambiar a la raíz:
sudo su -
Descarga la secuencia de comandos
sap_lib_hdbfr.sh
:wget https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/lib/sap_lib_hdbfr.sh
Haz que el archivo sea ejecutable:
chmod +x sap_lib_hdbfr.sh
Verifica que la configuración no tenga errores:
vi sap_lib_hdbfr.sh ./sap_lib_hdbfr.sh -help
Si el comando muestra un error, comunícate con el servicio de Atención al cliente de Cloud. Si deseas obtener más información para comunicarte con el equipo de Atención al cliente de Cloud, consulta Obtén asistencia para SAP en Google Cloud.
Ejecuta la secuencia de comandos después de reemplazar el ID del sistema SAP HANA (SID) y la contraseña para el usuario SYSTEM de la base de datos SAP HANA. Para proporcionar la contraseña de forma segura, te recomendamos que uses un secreto en Secret Manager.
Ejecuta la secuencia de comandos con el nombre de un secreto en Secret Manager. Este secreto debe existir en el proyecto de Google Cloud que contiene tu instancia de VM del host.
sudo ./sap_lib_hdbfr.sh -h 'SID' -s SECRET_NAME
Reemplaza lo siguiente:
SID
: Especifica el SID con letras mayúsculas. Por ejemplo,AHA
.SECRET_NAME
: Especifica el nombre del secreto que corresponde a la contraseña del usuario del sistema de la base de datos de SAP HANA. Este secreto debe existir en el proyecto de Google Cloud que contiene tu instancia de VM del host.
Como alternativa, puedes ejecutar la secuencia de comandos con una contraseña de texto sin formato. Después de habilitar el reinicio rápido de SAP HANA, asegúrate de cambiar la contraseña. No se recomienda usar una contraseña con texto sin formato, ya que tu contraseña se registraría en el historial de línea de comandos de tu VM.
sudo ./sap_lib_hdbfr.sh -h 'SID' -p 'PASSWORD'
Reemplaza lo siguiente:
SID
: Especifica el SID con letras mayúsculas. Por ejemplo,AHA
.PASSWORD
: Especifica la contraseña para el usuario del sistema de la base de datos de SAP HANA.
Para obtener una ejecución inicial exitosa, deberías ver un resultado similar al siguiente:
INFO - Script is running in standalone mode ls: cannot access '/hana/tmpfs*': No such file or directory INFO - Setting up HANA Fast Restart for system 'TST/00'. INFO - Number of NUMA nodes is 2 INFO - Number of directories /hana/tmpfs* is 0 INFO - HANA version 2.57 INFO - No directories /hana/tmpfs* exist. Assuming initial setup. INFO - Creating 2 directories /hana/tmpfs* and mounting them INFO - Adding /hana/tmpfs* entries to /etc/fstab. Copy is in /etc/fstab.20220625_030839 INFO - Updating the HANA configuration. INFO - Running command: select * from dummy DUMMY "X" 1 row selected (overall time 4124 usec; server time 130 usec) INFO - Running command: ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('persistence', 'basepath_persistent_memory_volumes') = '/hana/tmpfs0/TST;/hana/tmpfs1/TST;' 0 rows affected (overall time 3570 usec; server time 2239 usec) INFO - Running command: ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('persistent_memory', 'table_unload_action') = 'retain'; 0 rows affected (overall time 4308 usec; server time 2441 usec) INFO - Running command: ALTER SYSTEM ALTER CONFIGURATION ('indexserver.ini', 'SYSTEM') SET ('persistent_memory', 'table_default') = 'ON'; 0 rows affected (overall time 3422 usec; server time 2152 usec)
Configura el agente de supervisión de Google para SAP HANA
De manera opcional, puedes configurar el agente de supervisión de Google para SAP HANA, que recopila métricas de SAP HANA y las envía a Monitoring. Monitoring te permite crear paneles para las métricas, configurar alertas personalizadas basadas en límites de métricas y mucho más.
Para supervisar un clúster de alta disponibilidad, instala el agente de supervisión en una instancia de VM fuera del clúster. Especifica la dirección IP flotante del clúster como la dirección IP de la instancia de host que supervisarás.
Si deseas obtener más información sobre cómo configurar el agente de supervisión de Google para SAP HANA, consulta la Guía del usuario del agente de supervisión de SAP HANA.
Conéctate a SAP HANA
Ten en cuenta que, como en estas instrucciones no se usa una dirección IP externa para SAP HANA, solo puedes conectarte a las instancias de SAP HANA a través de la instancia de bastión a través de conexiones SSH o a través de Windows Server a través de SAP HANA Studio.
Para conectarte a SAP HANA a través de la instancia de bastión, conéctate al host de bastión y, luego, a las instancias de SAP HANA a través de el cliente SSH que prefieras.
Para conectarte a la base de datos de SAP HANA a través de SAP HANA Studio, usa un cliente de escritorio remoto para conectarte a la instancia de Windows Server. Después de la conexión, instala SAP HANA Studio de forma manual y accede a la base de datos de SAP HANA.
Configurar HANA activo/activo (lectura habilitada)
A partir de SAP HANA 2.0 SPS1, puedes configurar HANA Active/Active (Read Enabled) en un clúster de Pacemaker. Para obtener instrucciones, consulta los siguientes vínculos:
- Configura HANA activo/activo (lectura habilitada) en un clúster de SUSE Pamaker
- Configura HANA activo/activo (lectura habilitada) en un clúster de Red Hat Pamaker
Realiza tareas posteriores a la implementación
Antes de usar la instancia de SAP HANA, te recomendamos que realices los siguientes pasos posteriores a la implementación: Para obtener más información, consulta SAP HANA Installation and Update Guide (Guía de instalación y actualización de SAP HANA).
Cambia las contraseñas temporales para el administrador del sistema de SAP HANA y el superusuario de la base de datos.
Actualiza el software SAP HANA con los últimos parches.
Instala cualquier componente adicional, como las bibliotecas de funciones de aplicaciones (AFL) o el acceso a datos inteligentes (SDA).
Configura y haz una copia de seguridad de tu base de datos de SAP HANA nueva. Para obtener más información, consulta la Guía de operaciones de SAP HANA.
¿Qué sigue?
- Para obtener más información sobre la administración y supervisión de VM, consulta la guía de operaciones de SAP HANA.