Implementación automatizada de la alta disponibilidad de SAP HANA en SLES con implementación de VIP del balanceador de cargas

En esta guía, se muestra cómo automatizar la implementación de SAP HANA en un clúster de alta disponibilidad (HA) con SUSE Linux Enterprise Server (SLES) que usa el balanceo de cargas TCP/UDP interno para administrar la 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 y un clúster de HA basado en SO, según las prácticas recomendadas de Google Cloud, SAP y el proveedor del SO.

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.

Descripción general de un clúster de Linux de alta disponibilidad para un sistema SAP HANA de escalamiento vertical de un solo nodo

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
  • 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:

  • 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.
  • 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 usas un DNS interno de VPC, el valor de la variable VmDnsSetting en los metadatos del proyecto debe ser GlobalOnly o ZonalPreferred para habilitar la resolución de los nombres del nodo entre zonas. La configuración predeterminada de VmDnsSetting es ZonalOnly. 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 mediante 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 explícitamente.

Durante la implementación, las instancias de VM suelen requerir acceso a Internet para descargar el agente de supervisión de Google. 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:

  1. Ve a Cloud Shell.

    Ir a Cloud Shell

  2. Para crear una red nueva en el modo de subredes personalizadas, ejecuta el siguiente comando:

    gcloud compute networks create [YOUR_NETWORK_NAME] --subnet-mode custom

    donde [YOUR_NETWORK_NAME] es el nombre de la nueva red. El nombre de la red solo puede contener caracteres en minúsculas, dígitos y el carácter de guion (-).

    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.

  3. Crea una subred y especifica la región y el rango de IP mediante el siguiente comando:

    gcloud compute networks subnets create [YOUR_SUBNETWORK_NAME] \
            --network [YOUR_NETWORK_NAME] --region [YOUR_REGION] --range [YOUR_RANGE]

    En el ejemplo anterior, se ilustra lo siguiente:

    • [YOUR_SUBNETWORK_NAME] es la subred nueva.
    • [YOUR_NETWORK_NAME] es el nombre de la red que creaste en el paso anterior.
    • [REGION] es la región en la que deseas que esté la subred.
    • [YOUR_RANGE] es el rango de direcciones IP especificado en formato CIDR, por ejemplo, 10.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.
  4. Opcionalmente, repite el paso anterior y agrega subredes adicionales.

Configura una puerta de enlace NAT

Si planeas crear una o más VM que no tengan direcciones IP públicas, debes crear una puerta de enlace NAT a fin de que tus VM puedan acceder a Internet para descargar el agente de supervisión de Google.

Si asignarás una dirección IP pública externa a tu VM, puedes omitir este paso.

Para crear una puerta de enlace NAT, sigue estos pasos:

  1. Crea una VM para que actúe como la puerta de enlace NAT en la subred que acabas de crear mediante el siguiente comando:

    gcloud compute instances create [YOUR_VM_NAME] --can-ip-forward \
            --zone [YOUR_ZONE]  --image-family [YOUR_IMAGE_FAMILY] \
            --image-project [YOUR_IMAGE_PROJECT] \
            --machine-type=[YOUR_MACHINE_TYPE] --subnet [YOUR_SUBNETWORK_NAME] \
            --metadata startup-script="sysctl -w net.ipv4.ip_forward=1; iptables \
            -t nat -A POSTROUTING -o eth0 -j MASQUERADE" --tags [YOUR_VM_TAG]

    En el ejemplo anterior, se ilustra lo siguiente:

    • [YOUR_VM_NAME] es el nombre de la VM que estás creando y que deseas usar para la puerta de enlace NAT.
    • [YOUR_ZONE] es la zona donde deseas que esté la VM.
    • [YOUR_IMAGE_FAMILY] y [YOUR_IMAGE_PROJECT] especifican la <atrack-type="article" l10n-attrs-original-order="href,track-type,track-name,track-metadata-position" l10n-encrypted-href="KRW/ffDthaiG9c5SfN5O5oDhPGl3794Xn/DFFHy3q91TDeoe5ehmUJowtCU/wYGS" track-metadata-position="body" track-name="internalLink">imagen que quieres usar para la puerta de enlace NAT.</atrack-type="article">
    • [YOUR_MACHINE_TYPE] es cualquier tipo de máquina compatible. Si esperas que se genere un alto nivel de tráfico de red, elige un tipo de máquina que tenga, por lo menos, ocho CPU virtuales.
    • [YOUR_SUBNETWORK_NAME] es el nombre de la subred en la que deseas que esté la VM.
    • [YOUR_VM_TAG] es una etiqueta que se aplica a la VM que estás creando. Si usas esta VM como Host de bastión, este rótulo identificador se usa para aplicar la regla de firewall relacionada solo a esta VM.
  2. Crea una ruta que esté etiquetada, de manera que el tráfico pase a través de la VM de NAT en lugar de la puerta de enlace de Internet predeterminada, mediante el siguiente comando:

    gcloud compute routes create [YOUR_ROUTE_NAME] \
            --network [YOUR_NETWORK_NAME] --destination-range 0.0.0.0/0 \
            --next-hop-instance [YOUR_VM_NAME] --next-hop-instance-zone \
            [YOUR_ZONE] --tags [YOUR_TAG_NAME] --priority 800

    En el ejemplo anterior, se ilustra lo siguiente:

    • [YOUR_ROUTE_NAME] es el nombre de la ruta que estás creando.
    • [YOUR_NETWORK_NAME] es la red que creaste.
    • [YOUR_VM_NAME] es la VM que debes usar para la puerta de enlace NAT.
    • [YOUR_ZONE] es la zona donde se ubica la VM.
    • [YOUR_TAG_NAME] es rótulo identificador de la ruta que dirige el tráfico a través de la VM de NAT.
  3. Si también deseas usar la VM de la puerta de enlace NAT como Host de bastión, ejecuta el siguiente comando. Este comando crea una regla de firewall que permite el acceso SSH entrante a esta instancia desde Internet:

    gcloud compute firewall-rules create allow-ssh --network [YOUR_NETWORK_NAME] --allow tcp:22 --source-ranges 0.0.0.0/0 --target-tags "[YOUR_VM_TAG]"

    En el ejemplo anterior, se ilustra lo siguiente:

    • [YOUR_NETWORK_NAME] es la red que creaste.
    • [YOUR_VM_TAG] es el rótulo identificador que especificaste cuando creaste la VM de la puerta de enlace NAT. Este rótulo identificador se usa para que esta regla de firewall se aplique solo a la VM que aloja la puerta de enlace NAT, y no a todas las VM de la red.

Agrega 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). A fin de 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 mediante 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 desde el navegador.
  • Conexión a tu VM mediante 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:

Console

  1. En Cloud Console, ve a la página Reglas de firewall.

    ABRIR REGLAS DE FIREWALL

  2. 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 e ingresa tcp:[PORT_NUMBER].
  3. 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 SLES de Linux con dos sistemas 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.

Las siguientes instrucciones se usan con Cloud Shell, pero se pueden aplicar al SDK de Cloud en términos generales.

  1. 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.

    Ir a la página Cuotas

  2. Abre Cloud Shell o, si instalaste el SDK de Cloud en la estación de trabajo local, abre una terminal.

    Ir a Cloud Shell

  3. Ingresa el siguiente comando en Cloud Shell o en el SDK de Cloud a fin de descargar la plantilla de archivo de configuración template.yaml para el clúster de alta disponibilidad de SAP HANA al directorio de trabajo:

    $ wget https://storage.googleapis.com/sapdeploy/dm-templates/sap_hana_ha_ilb/template.yaml
  4. De manera opcional, cambia el nombre del archivo template.yaml para identificar la configuración que define.

  5. Abre el archivo template.yaml en el editor de código de Cloud Shell o, si usas el SDK de Cloud, 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.

  6. 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
    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.

    subred 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/sles-12-sp3-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 Cloud Console.
    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 SLES, especifica suse-sap-cloud. Para obtener una lista de proyectos de imagen de GCP, visita la página Imágenes de la documentación de Compute Engine.
    sap_hana_deployment_bucket String El nombre del bucket de almacenamiento de GCP 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 Número 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 como mínimo 8 caracteres y deben incluir al menos una letra mayúscula, una letra minúscula y un número.
    sap_hana_scaleout_nodes Entero La cantidad de hosts de trabajador adicionales de SAP HANA que necesitas. Especifica 0, ya que, por el momento, los hosts de escalamiento horizontal no son compatibles con las opciones de configuración de alta disponibilidad.
    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.

    En el siguiente ejemplo, se muestra un archivo de configuración completo que le indica a Deployment Manager que implemente un clúster de alta disponibilidad con el sistema SAP HANA principal instalado en la zona us-central1-a y el sistema SAP HANA secundario instalado en la zona us-central1-c. Ambos sistemas se instalarán en las VM n1-highmem-96 que ejecutan el sistema operativo SLES 15 SP1.

    El archivo de plantilla hace referencia a la carpeta sap_hana_ha_ilb en el bucket sapdeploy de Google Cloud, que contiene las secuencias de comandos para una implementación de alta disponibilidad de SAP HANA que usa una implementación VIP del balanceador de cargas.

    imports:
    ‐ path: https://storage.googleapis.com/sapdeploy/dm-templates/sap_hana_ha_ilb/sap_hana_ha.py
    
    resources:
    ‐ name: sap_hana_ha
     type: https://storage.googleapis.com/sapdeploy/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: n1-highmem-96
       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: hana2-sp4-rev46
       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
    
  7. Crea las instancias:

    $ gcloud deployment-manager deployments create deployment-name --config template-name.yaml

    El 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 invoca la secuencia de comandos, los mensajes de estado se escriben en Logging y se pueden ver en Cloud Console, como se describe en Verifica los registros de Logging.

    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 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

  1. Abre Logging para verificar si hay errores y supervisar el progreso de la instalación.

    Ir a Cloud Logging

  2. En la página Explorador de registros, selecciona Global como tu recurso en el Compilador de consultas y ejecuta la consulta.

    • Si se muestra "--- Finished" en ambas instancias de VM, continúa con el paso siguiente.

      Pantalla de Logging

    • Si los registros contienen errores:

      1. Corrija los errores.

        Para ver los errores de cuotas, ve a página de Cuotas de IAM y administración en Cloud Console y aumenta las cuotas que no cumplan con los requisitos de SAP HANA que se indican en la Guía de planificación para SAP HANA.

      2. En la página Implementaciones de Deployment Manager en Cloud Console, borra la implementación para limpiar toda la infraestructura de la instalación con errores.

      3. Vuelve a ejecutar Deployment Manager.

Verifica la configuración de la VM y la instalación de SAP HANA

  1. Después de que el sistema SAP HANA se implemente sin errores, conéctate a cada VM mediante 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.

    Botón SSH de la página Instancias de VM de Compute Engine

  2. Cambia al usuario raíz.

    sudo su -
  3. En el símbolo del sistema, ingresa df -h. Asegúrate de ver un resultado que incluya los directorios /hana, como /hana/data.

    example-ha-vm1:~ # df -h
    Filesystem                        Size  Used Avail Use% Mounted on
    devtmpfs                          308G  8.0K  308G   1% /dev
    tmpfs                             461G   54M  461G   1% /dev/shm
    tmpfs                             308G  250M  307G   1% /run
    tmpfs                             308G     0  308G   0% /sys/fs/cgroup
    /dev/sda3                          30G  3.2G   27G  11% /
    /dev/sda2                          20M  3.6M   17M  18% /boot/efi
    /dev/mapper/vg_hana-shared        614G   50G  565G   9% /hana/shared
    /dev/mapper/vg_hana-sap            32G  278M   32G   1% /usr/sap
    /dev/mapper/vg_hana-data          951G  7.9G  943G   1% /hana/data
    /dev/mapper/vg_hana-log           307G  5.5G  302G   2% /hana/log
    /dev/mapper/vg_hanabackup-backup  1.3T  409G  840G  33% /hanabackup
  4. Verifica el estado del clúster nuevo:

    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:

    example-ha-vm1:~ # crm status
    Stack: corosync
    Current DC: example-ha-vm1 (version 2.0.1+20190417.13d370ca9-3.15.1-2.0.1+20190417.13d370ca9) - partition with quorum
    Last updated: Thu Nov 19 16:34:14 2020
    Last change: Thu Nov 19 16:34:04 2020 by root via crm_attribute on example-ha-vm1
    
    2 nodes configured
    8 resources configured
    
    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 ]
    
  5. Para cambiar al usuario administrador de SAP, reemplaza [SID] en el siguiente comando por el valor [SID] que especificaste en la plantilla del archivo de configuración.

    su - [SID]adm
    
  6. Asegúrate de que los servicios de SAP HANA, como hdbnameserver, hdbindexserver y otros, se ejecuten en la instancia si ingresas el siguiente comando:

    HDB info
    

Verificar 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 correctamente, verifica el balanceador de cargas y los grupos de instancias en Cloud Console.

  1. Abra la página Balanceo de cargas en Cloud Console:

    Ir a Cloud Load Balancing

  2. En la lista de balanceadores de cargas, confirma que se creó un balanceador de cargas para tu clúster de alta disponibilidad.

  3. 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.

    Aquí se muestra la página de detalles del balanceador de cargas con el grupo de instancias principal activo indicado por &quot;1/1&quot; y el secundario indicado por &quot;0/1&quot;.

Comprueba el sistema SAP HANA con SAP HANA Studio

  1. 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).

  2. 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.

    Captura de pantalla del panel de navegación en SAP HANA Studio

  3. 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”)

    Captura de pantalla de la pestaña Overview en SAP HANA Studio

  4. 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 mediante SYNCMEM en la columna REPLICATION_MODE de la pestaña Replicación del sistema (System Replication).

    Captura de pantalla de la pestaña Estado de replicación del sistema (System Replication Status) en SAP HANA Studio

Si alguno de los pasos de la validación muestra que la instalación falló, haz lo siguiente:

  1. Resuelve los errores.
  2. Borra la implementación de la página Implementaciones.
  3. 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:

  1. 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.

  2. 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.

  3. Vuelve a conectarte a cualquier host mediante SSH y cambia al usuario raíz.

  4. Ingresa crm status para confirmar 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, como se muestra en la siguiente captura de pantalla.

    Captura de pantalla del resultado de crm status que muestra que los hosts principal y secundario cambiaron las VM

  5. 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.

    Ir a Cloud Load Balancing

    Por ejemplo:

    Muestra la página de detalles del balanceador de cargas con la instancia &quot;ig-example-ha-vm2&quot; que muestra &quot;1/1&quot; en la columna En buen estado.

  6. 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 a fin de actualizar la información del sistema.

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

    Captura de pantalla de la pestaña Estado de replicación del sistema (System Replication Status) en SAP HANA Studio

Finaliza la instalación de la puerta de enlace NAT

Si creaste una puerta de enlace NAT, sigue estos pasos.

  1. Agrega etiquetas a todas las instancias, incluidos los hosts de trabajador:

    export NETWORK_NAME="[YOUR_NETWORK_NAME]"
    export TAG="[YOUR_TAG_TEXT]"
    gcloud compute instances add-tags "[PRIMARY_VM_NAME]" --tags="$TAG" --zone=[PRIMARY_VM_ZONE]
    gcloud compute instances add-tags "[SECONDARY_VM_NAME]" --tags="$TAG" --zone=[SECONDARY_VM_ZONE]
  2. Borra IP externas:

    gcloud compute instances delete-access-config "[PRIMARY_VM_NAME]" --access-config-name "external-nat" --zone=[PRIMARY_VM_ZONE]
    gcloud compute instances delete-access-config "[SECONDARY_VM_NAME]" --access-config-name "external-nat" --zone=[SECONDARY_VM_ZONE]

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 mediante conexiones SSH o a través de Windows Server mediante 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 mediante 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.

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).

  1. Cambia las contraseñas temporales para el administrador del sistema de SAP HANA y el superusuario de la base de datos.

  2. Actualiza el software SAP HANA con los últimos parches.

  3. Instala cualquier componente adicional, como las bibliotecas de funciones de aplicaciones (AFL) o el acceso a datos inteligentes (SDA).

  4. 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?