Implementación automatizada de HA de SAP HANA 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) de Red Hat Enterprise Linux (RHEL) o SUSE Linux Enterprise Server (SLES) que usa balanceo de cargas TCP/UDP 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 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
  • En clústeres de HA de RHEL:
    • 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:

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

A fin de 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.

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

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/cloudsapdeploy/deploymentmanager/latest/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
    tipo 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, una de las cuales se comenta. La especificación type que está activa de forma predeterminada especifica la versión de la plantilla como latest. La especificación type que se comenta 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.

    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/rhel-8-2-sap-ha o family/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 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 RHEL, especifica rhel-sap-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 al menos 8 caracteres y, a su vez, 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 cada una de las siguientes pestañas, se muestra un ejemplo de un archivo de configuración completo que le indica a Deployment Manager que implemente dos VM n2-highmem-32 para un clúster de alta disponibilidad, una en la zona us-central1-a y el sistema SAP HANA secundario instalado en la zona us-central1-c. Luego, las secuencias de comandos de inicio implementan un sistema SAP HANA en cada VM, configuran la replicación del sistema de SAP HANA y el clúster de HA de Linux.

    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.

    Haz clic en la pestaña de RHEL o SLES para ver un ejemplo de cómo especificar el sistema operativo en el archivo de configuración.

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

    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:09:23 2021
    * Last change:  Fri Mar 19 21:08:27 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: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-vm1
      * rsc_vip_HA1_00  (ocf::heartbeat:IPaddr2):   Started example-ha-vm1
    * 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-vm1 ]
      * Slaves: [ example-ha-vm2 ]
    
    Daemon Status:
    corosync: active/enabled
    pacemaker: active/enabled
    pcsd: active/enabled

    SLES

    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 "1/1" y el secundario indicado por "0/1".

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. 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 del host secundario.

    • En RHEL, ingresa pcs status.
    • En SLES, ingresa crm status.

    En los siguientes ejemplos, se muestra que cambiaron las funciones en 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

    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 "ig-example-ha-vm2" que muestra "1/1" 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

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?