Guía de implementación de clústeres de alta disponibilidad de IBM Db2 para SAP

En esta guía, se muestra cómo configurar los recursos de Google Cloud para un clúster de IBM Db2 (IBM Db2) de alta disponibilidad (HA) para SAP en el sistema operativo Linux.

Estas instrucciones son complementarias a las instrucciones que proporcionan IBM y SAP en IBM Db2 High Availability Solution: IBM Tivoli System Automation for Multiplatforms (Solución de IBM Db2 de alta disponibilidad: Sistema de automatización de IBM Tivoli para multiplataformas). Consulta siempre la documentación más reciente que proporcionan IBM y SAP cuando instales y configures un clúster de HA de IBM Db2 en Google Cloud.

Estas instrucciones están destinadas para un clúster de HA de IBM Db2 que usa el sistema de automatización de IBM Tivoli para multiplataformas (TSAMP) a fin de supervisar el sistema e iniciar la acción adecuada si este no responde. El clúster usa la función de recuperación ante desastres de alta disponibilidad (HADR) de IBM Db2 para replicar los cambios de datos registrados en la base de datos en espera.

El clúster usa una dirección IP flotante que implementa Google Cloud con una ruta estática o un alias de dirección IP de Google Cloud. En este contexto, el término “dirección IP flotante” es sinónimo del término “dirección IP virtual”, que se usa en la documentación de SAP.

En estas instrucciones, se muestra cómo configurar un clúster de HA de IBM Db2 que consiste en un servidor de IBM Db2 principal y uno secundario o en espera, cada uno de los cuales se implementa en una máquina virtual (VM) de Compute Engine diferente.

Esta guía está destinada a usuarios experimentados de IBM Db2 y SAP que estén familiarizados con clústeres de alta disponibilidad.

Si deseas obtener más información sobre la planificación de un clúster de HA de Db2, consulta Clústeres de IBM Db2 de alta disponibilidad en la guía de planificación de IBM Db2 para SAP.

Documentación necesaria de SAP

SAP proporciona las instrucciones para instalar y configurar los componentes de SAP y de IBM en IBM Db2 High Availability Solution: IBM Tivoli System Automation for Multiplatforms (Solución de IBM Db2 de alta disponibilidad: Sistema de automatización de IBM Tivoli para multiplataformas).

Lee la documentación de SAP y Google Cloud antes de comenzar los procedimientos de estas instrucciones. Es posible que debas consultar la documentación de SAP y Google Cloud en varias etapas de la implementación.

Requisitos previos

Antes de crear el clúster de alta disponibilidad de IBM Db2, asegúrate de que se cumplan los siguientes requisitos:

  • Tú o tu organización deben tener una cuenta de Google Cloud y tienes que haber creado un proyecto para la implementación del clúster de HA de IBM Db2. Si deseas obtener información sobre cómo crear proyectos de Google Cloud, consulta Requisitos en la guía de implementación de IBM Db2 para SAP.
  • 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. A fin de obtener más información, consulta Cumplimiento y controles soberanos para SAP en Google Cloud.
  • Debes tener una red de nube privada virtual en Google Cloud. Si deseas obtener instrucciones para configurar una red de VPC y reglas de firewall y, también, a fin de configurar una puerta de enlace NAT o un host de bastión en IBM Db2 para SAP, consulta la Guía de implementación de IBM Db2 para SAP.

  • 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, se inhabilitan las configuraciones de claves SSH basadas en metadatos. Una vez completada la implementación, puedes volver a habilitar el Acceso al SO.

    Para obtener más información, consulte:

Implementa un clúster de IBM Db2 de alta disponibilidad en Google Cloud

En estas instrucciones, se muestran cómo implementar dos VM, definir una dirección IP flotante y configurar el alias de dirección IP o las rutas de Google Cloud que admiten la dirección IP flotante. Cuando debas instalar los componentes de IBM, consulta la documentación de SAP.

Los principales servicios de Google Cloud que debes configurar para un clúster de alta disponibilidad de IBM Db2 son los siguientes:

  • Una subred y una red de VPC
  • Reglas de firewall (si no usas otra forma de control de acceso a la red)
  • VM de Compute Engine y almacenamiento en disco persistente

También debes descargar y usar una secuencia de comandos auxiliar de Google Cloud cuando defines el recurso personalizado que usa TSAMP para administrar el cambio de la dirección IP flotante entre los hosts. La secuencia de comandos permite que TSAMP interactúe con las API de Google Cloud.

Acerca de Deployment Manager

En estas instrucciones, se definen las opciones de recursos para la instalación en una plantilla de archivo de configuración de Deployment Manager.

Deployment Manager trata todos los recursos que se crean para el sistema SAP como una sola entidad denominada implementación. Puedes ver y trabajar con todas las implementaciones del proyecto en la página Implementaciones de la consola de Google Cloud.

Ten en cuenta los siguientes comportamientos cuando uses Deployment Manager:

  • Si se borra una implementación, se borrarán todos los recursos asociados con ella, incluidas las VM, los discos persistentes y cualquier sistema SAP instalado en las VM.
  • De forma predeterminada, Deployment Manager utiliza la política de creación de recursos ACQUIRE. Si especificas un nombre de VM que ya está en uso en tu proyecto, Deployment Manager no crea una VM nueva, sino que agrega la VM existente a tu implementación nueva. Si tu VM original se creó por una ejecución anterior de Deployment Manager, la VM se asocia a dos implementaciones.

    Si luego borras la implementación nueva, la VM adquirida se borrará de la implementación que la creó en un principio. Para evitar esta situación, establece la política de recursos de Deployment Manager en CREATE o asegúrate de usar nombres de recurso únicos en tu implementación nueva.

    Para obtener información sobre las políticas que puedes usar al momento de crear recursos con Deployment Manager y cómo especificarlas, consulta la documentación de Deployment Manager.

Implementa las VM para un clúster de HA de IBM Db2 con Deployment Manager

  1. En Cloud Shell, descarga la plantilla del archivo de configuración template_ha.yaml en tu directorio de trabajo:

    wget https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_db2/template_ha.yaml
  2. 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.

  3. De forma opcional, cambia el nombre del archivo template_ha.yaml para identificar la configuración que define. Por ejemplo, db2_ha_s123_dh1.yaml.

  4. Para abrir el archivo template_ha.yaml en el editor de código, haz doble clic en él.

  5. Define las VM y los discos persistentes en el archivo template_ha.yaml. El archivo template_ha.yaml contiene dos secciones: sap_db2_primary y sap_db2_secondary. Cada sección contiene un conjunto de pares propiedad-valor seguidos de comentarios que incluyen las propiedades que se usan con menos frecuencia.

    Cuando completas cada sección, excepto las propiedades instanceName, zone y otherHost, las definiciones para cada VM deben ser idénticas.

    En la siguiente tabla, se describen las propiedades que se incluyen en cada sección. Para usar una propiedad, reemplaza el texto del marcador de posición y los corchetes por los valores de tu instalación.

    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, y una de ellas se marca como comentario. 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 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.

    instanceName String El nombre de la instancia de VM en la que se instalará IBM Db2. El nombre debe tener 13 caracteres o menos y especificarse en letras minúsculas, números o guiones.
    instanceType String El tipo de máquina virtual de Compute Engine en la que se instalará IBM Db2. Especifica un tipo de máquina con dos o más CPU virtuales. Por ejemplo, n1-standard-4.
    zone String La zona en la que implementas la instancia de IBM Db2. Debe estar en la misma región que seleccionaste para tu subred.
    subnetwork String Nombre de la subred que creaste en un paso anterior. Si realizas la implementación en una VPC compartida, especifica este valor como shared-vpc-project/SUBNETWORK. Por ejemplo, myproject/network1
    linuxImage String El nombre de la imagen del sistema operativo Linux o la familia de imágenes que usas con IBM Db2. Para especificar una familia de imágenes, agrega el prefijo family/ al nombre de la familia. Por ejemplo: family/rhel-7-sap-apps o family/sles-12-sp3-sap. Para especificar una imagen, ingresa solo su nombre. Si deseas ver la lista de las familias de imágenes disponibles, consulta la página Imágenes en la consola de Google Cloud.
    linuxImageProject String 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, como rhel-sap-cloud o suse-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.
    db2SID String El ID de instancia de la base de datos.
    db2sidSize Número entero El tamaño en GB de /db2/DBSID, que es el directorio raíz de la instancia de la base de datos. Los valores mínimos y predeterminados para db2sidSize son de 8 GB.
    db2homeSize Número entero El tamaño en GB de /db2/db2db2sid, que es el directorio principal de la instancia de la base de datos. Los valores mínimos y predeterminados para db2homeSize son de 8 GB.
    db2dumpSize Número entero El tamaño en GB de /db2/DBSID/db2dump, que contiene los archivos de volcado de DB2 que se usan para diagnosticar problemas. Los valores mínimos y predeterminados para db2dumpSize son de 8 GB.
    db2saptmpSize Número entero El tamaño en GB de /db2/DBSID/saptmp, que contiene el espacio de la tabla temporal de la base de datos. Los valores mínimos y predeterminados para db2saptmpSize son de 8 GB.
    db2sapdataSize Número entero El tamaño de /sapdb/DBSID/sapdata, que contiene los archivos de datos de la base de datos. Los valores mínimos y predeterminados para db2sapdataSize son de 30 GB.
    db2logSize Número entero El tamaño de /db2/DBSID/logdir, que contiene los registros de transacciones de la base de datos. Los valores mínimos y predeterminados para db2logSize son de 8 GB.
    db2backupSize Número entero El tamaño del volumen de /db2backup. Esta propiedad es opcional. Si se establece en 0 o se omite, no se crea ningún disco.
    db2sapdataSSD booleano Especifica si la unidad de datos usa un disco persistente SSD (Yes) o un disco persistente HDD (No). Yes es el valor predeterminado.
    db2logSSD booleano Especifica si la unidad de registro usa un disco persistente SSD (Yes) o un disco persistente HDD (No). Yes es el valor predeterminado. Se recomienda un SSD para la unidad de registro.
    usrsapSize Número entero Solo es obligatorio si instalas IBM Db2 para ejecutarlo con SAP NetWeaver en la misma instancia de VM.
    sapmntSize Número entero Solo es obligatorio si instalas IBM Db2 para ejecutarlo con SAP NetWeaver en la misma instancia de VM.
    swapSize Número entero Solo es obligatorio si instalas IBM Db2 para ejecutarlo con SAP NetWeaver en la misma instancia de VM.
    otherHost String El nombre de la otra instancia de VM en el clúster de HA de IBM Db2. La instancia de VM debe definirse en el otro conjunto de propiedades del mismo archivo template_ha.yaml.
    networkTag String Opcional. etiqueta de red que representa tu instancia de VM para firewall o enrutamiento. Si especificas publicIP: No y no usas una etiqueta de red, asegúrate de proporcionar otro medio de acceso a Internet.
    publicIP booleano Opcional. determina si se agrega una dirección IP pública a tu instancia de VM. El valor predeterminado es Yes.
    serviceAccount String Opcional. Si creas tu propia cuenta de servicio con permisos bloqueados, ingresa el nombre de la cuenta aquí. De forma predeterminada, las VM se implementan mediante la cuenta de servicio del proyecto predeterminada. Ten en cuenta que una cuenta de servicio definida de forma incorrecta impide una implementación correcta. A continuación, se muestra un ejemplo de una cuenta de servicio personalizada: myserviceuser@myproject.iam.gserviceaccount.com
    sap_deployment_debug booleano Opcional. Si este valor se establece en Yes, la implementación genera registros de implementación con verbosidad. No actives esta configuración, a menos que un ingeniero de Atención al cliente de Google te solicite que habilites la depuración.
    post_deployment_script String Opcional. Especifica la ubicación de una secuencia de comandos que se ejecutará después de que se complete la implementación. La secuencia de comandos debe estar alojada en un servidor web o en un bucket de Cloud Storage. La URL debe comenzar con http://, https:// o gs://. Ten en cuenta que esta secuencia de comandos se ejecuta en todas las VM que crea la plantilla. Para ejecutarla solo en la instancia principal, agrega una verificación en la parte superior de la secuencia de comandos.

    En las siguientes definiciones de VM de ejemplo de un archivo de configuración template_ha.yaml, se crean dos VM para un clúster de HA de IBM Db2. Para cada VM, el archivo de configuración le indica a Deployment Manager que implemente una VM n1-standard-4 que ejecuta un sistema operativo de la familia de imágenes de SLES 12 SP3. La VM incluye todos los directorios que se necesitan para ejecutar un clúster de HA de IBM Db2. Deployment Manager no crea los directorios de SAP NetWeaver, ya que los tamaños de directorios están configurados en 0.

    resources:
    - name: sap_db2_primary
      type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_db2/sap_db2.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_db2/sap_db2.py
      #
      properties:
        instanceName: db2-ha-s1
        instanceType: n1-standard-4
        zone: us-central1-c
        subnetwork: example-sap-subnetwork
        linuxImage: family/sles-12-sp3-sap
        linuxImageProject: suse-sap-cloud
        db2SID: DH1
        db2sidSize: 16
        db2dumpSize: 16
        db2saptmpSize: 16
        db2sapdataSize: 50
        db2logSize: 16
        db2backupSize: 50
        db2sapdataSSD: Yes
        db2logSSD: Yes
        usrsapSize: 0
        sapmntSize: 0
        swapSize: 0
        otherHost: db2-ha-s2
    #
    # (Comment section omitted from example)
    #
    - name: sap_db2_secondary
      type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_db2/sap_db2.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_db2/sap_db2.py
      #
      properties:
        instanceName: db2-ha-s2
        instanceType: n1-standard-4
        zone: us-central1-f
        subnetwork: example-sap-subnetwork
        linuxImage: family/sles-12-sp3-sap
        linuxImageProject: suse-sap-cloud
        db2SID: DH1
        db2sidSize: 16
        db2dumpSize: 16
        db2saptmpSize: 16
        db2sapdataSize: 50
        db2logSize: 16
        db2backupSize: 50
        db2sapdataSSD: Yes
        db2logSSD: Yes
        usrsapSize: 0
        sapmntSize: 0
        swapSize: 0
        otherHost: db2-ha-s1
  6. Implementa la instancia de VM con Deployment Manager.

    gcloud deployment-manager deployments create DEPLOYMENT-NAME --config TEMPLATE-NAME.yaml
    

    Aquí:

    • DEPLOYMENT-NAME representa un nombre de tu elección para la implementación actual. Este nombre se usa para identificar esta implementación en la página Implementaciones de la consola de Google Cloud.
    • TEMPLATE-NAME representa el nombre que le diste al archivo de configuración o, si no cambiaste el nombre del archivo predeterminado, template_ha.yaml.

    Deployment Manager lee las especificaciones del archivo template_ha.yaml y configura la VM y los discos persistentes según corresponda. El proceso puede tomar unos minutos. Para verificar el progreso de la implementación, sigue los pasos que se indican en la próxima sección.

Verifica la implementación

Para verificar la implementación, revisa los registros de implementación en Cloud Logging y la configuración de la VM.

Verifica los registros

  1. En la consola de Google Cloud, abre Cloud Logging para supervisar el progreso de la instalación y verificar si hay errores.

    Ir a Cloud Logging

  2. Filtra los registros:

    Explorador de registros

    1. En la página Explorador de registros, ve al panel Consulta.

    2. 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"
      
    3. 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.
  3. 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:

      1. En IAM y administraciónCuotas Aumenta las cuotas que no cumplan con los requisitos de IBM DB2 que se indican en laGuía de planificación de IBM DB2 para SAP.

      2. En la página Implementaciones de Deployment Manager, borra la implementación para limpiar las VMs y los discos persistentes de la instalación con errores.

      3. Vuelve a ejecutar tu implementación.

Verifica la configuración de la VM

  1. Cuando finalice la implementación de VM, conéctate a cada una mediante ssh. En la página VM instances (Instancias de VM) de Compute Engine, puedes hacer clic en el botón SSH para cada instancia de VM o usar el método SSH que prefieras.

    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. Verifica que el resultado sea similar al siguiente:

    db2-ha-s1:~ # df -h
    Filesystem                     Size  Used Avail Use% Mounted on
    devtmpfs                       7.4G     0  7.4G   0% /dev
    tmpfs                           12G     0   12G   0% /dev/shm
    tmpfs                          7.4G   18M  7.4G   1% /run
    tmpfs                          7.4G     0  7.4G   0% /sys/fs/cgroup
    /dev/sda1                       30G  2.2G   26G   8% /
    /dev/mapper/vg_db2sid-vol       16G   33M   16G   1% /db2/DH1
    /dev/mapper/vg_db2dump-vol      16G   33M   16G   1% /db2/DH1/db2dump
    /dev/mapper/vg_db2sapdata-vol   50G   33M   50G   1% /db2/DH1/sapdata
    /dev/mapper/vg_db2saptmp-vol    16G   33M   16G   1% /db2/DH1/saptmp
    /dev/mapper/vg_db2log-vol       16G   33M   16G   1% /db2/DH1/log_dir
    /dev/mapper/vg_db2home-vol      16G   33M   16G   1% /db2/db2dh1
    /dev/mapper/vg_db2backup-vol    50G   33M   50G   1% /db2backup
    tmpfs                          1.5G     0  1.5G   0% /run/user/1001

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

  1. Corrige el error.
  2. En la página Implementaciones, borra la implementación para limpiar las VMs y los discos persistentes de la instalación con errores.
  3. Vuelve a ejecutar tu implementación.

Reserva una dirección IP flotante

Debes seleccionar una IP para usar como dirección IP flotante. Necesitarás esta dirección IP más adelante cuando configures los metadatos de la instancia de VM del host y cuando instales y configures IBM Db2 y el clúster de HA.

Los requisitos para la dirección IP flotante son diferentes en función de si eliges un tipo de implementación de ruta o de alias de IP.

Si usas la implementación de ruta estática para la dirección IP flotante, la IP debe estar fuera del rango de direcciones IP de la subred y ninguna otra entidad de la red ampliada de tu organización puede usarla. Consulta con el administrador de la red para determinar una dirección IP adecuada.

Si usas la implementación de alias de dirección IP para la IP flotante, debes reservar una IP del rango de direcciones IP de la subred que usan los hosts.

Solo para implementaciones de alias de direcciones IP debes reservar un alias de IP:

  1. Abre una terminal en una VM host o abre Cloud Shell.

    Ir a Cloud Shell

  2. Reserva una dirección IP.

    gcloud compute addresses create vip-name --region region --subnet subnet-name \
      --addresses ip-addr-optional

    Especificar la propiedad de direcciones es opcional. Si no ingresas una dirección IP, Compute Engine selecciona una IP de tu subred.

  3. Observa y anota la dirección IP que se reservó para usarla cuando instales el servidor de base de datos y configures el clúster de HA.

    gcloud compute addresses describe vip-name --region=region

    Por ejemplo:

    db2-ha-s1:~ # gcloud compute addresses describe db2-ha-vip-dh1 --region=us-central1
    address: 10.1.0.30
    addressType: INTERNAL
    creationTimestamp: '2018-11-28T11:34:14.478-08:00'
    description: ''
    id: '6558342813288977241'
    kind: compute#address
    name: db2-ha-vip-dh1
    region: https://www.googleapis.com/compute/v1/projects/solutions-writers/regions/us-central1
    selfLink: https://www.googleapis.com/compute/v1/projects/solutions-writers/regions/us-central1/addresses/db2-ha-vip-dh1
    status: RESERVED
    subnetwork: https://www.googleapis.com/compute/v1/projects/solutions-writers/regions/us-central1/subnetworks/example-sap-   subnetwork

Agrega la dirección IP flotante a los metadatos para cada instancia de VM de host

Debes especificar la información sobre la dirección IP flotante, incluido el tipo de implementación de ruta o alias de IP que elijas, como metadatos personalizados para cada instancia de VM en el clúster. Si deseas obtener más información sobre cómo elegir un tipo de implementación para la dirección IP flotante, consulta Direcciones IP flotantes para clústeres de HA de IBM Db2 en Google Cloud.

Según el tipo de implementación, los parámetros de metadatos que debes establecer son diferentes. En las siguientes dos secciones, sigue las instrucciones que se aplican a la implementación de la dirección IP flotante.

Configura metadatos para la implementación de ruta de la dirección IP flotante

Si usas una implementación de ruta para la dirección IP flotante, usa los parámetros de la siguiente tabla y el procedimiento que sigue a la tabla para establecer los metadatos de la instancia.

Parámetro Valor Objetivo
sap_ibm_vip_solution route Indica que esta es una implementación de varias zonas que usa una ruta estática de Google Cloud para admitir el cambio de la dirección IP flotante entre los hosts.
sap_ibm_db2_vip ip-address Especifica la dirección IP flotante que reservaste en el paso anterior.
sap_ibm_db2_routename route-name Especifica un nombre arbitrario para la ruta estática. Por ejemplo, puedes usar db2-dh1-vip-route.
sap_ibm_db2_routenet vpc-network-name Especifica la red de VPC que contiene el clúster de HA de IBM Db2.

Si quieres establecer los metadatos de la instancia para una implementación de ruta estática de la dirección IP flotante, sigue estos pasos:

  1. Abre una terminal en una VM host o abre Cloud Shell.

    Ir a Cloud Shell

  2. En cada instancia de VM del host en el clúster, especifica los mismos metadatos para la implementación de la ruta de la dirección IP flotante.

    gcloud compute instances add-metadata instance-name \
    --metadata sap_ibm_vip_solution=route,sap_ibm_db2_vip=ip-address,\
    sap_ibm_db2_routename=route-name,sap_ibm_db2_routenet=vpc-network-name \
    --zone instance-zone

Configura metadatos para la implementación de un alias de dirección IP de la dirección IP flotante

Si usas una implementación de alias de dirección IP para la IP flotante, usa los parámetros de la siguiente tabla y el procedimiento que sigue a la tabla para establecer los metadatos de la instancia.

Parámetro Valor Objetivo
sap_ibm_vip_solution alias Indica que es una implementación de una sola zona que usa una dirección IP de alias de Google Cloud para admitir el cambio de la dirección IP flotante entre los hosts.
sap_ibm_db2_vip ip-address Especifica la dirección IP flotante que reservaste en el paso anterior.
sap_ibm_db2_vip_range alias-ip-range-name De forma opcional, especifica un nombre arbitrario para el rango de IP de alias. Por ejemplo, puedes usar db2-dh1-vip-alias. El valor predeterminado es el nombre de la subred.

A fin de establecer los metadatos de la instancia para una implementación de alias de IP de la IP flotante, sigue estos pasos:

  1. Abre una terminal en una VM host o abre Cloud Shell.

    Ir a Cloud Shell

  2. Para cada instancia de VM del host en el clúster, especifica los mismos metadatos de la implementación del alias de dirección IP de la IP flotante.

    gcloud compute instances add-metadata instance-name \
    --metadata sap_ibm_vip_solution=alias,sap_ibm_db2_vip=ip-address,\
    sap_ibm_db2_vip_range=alias-ip-range-name --zone instance-zone

Revisa o cambia los metadatos de tu instancia

Para revisar los metadatos de la instancia que estableciste, ejecuta lo siguiente:

gcloud compute instances describe instance-name --zone instance-zone

Si necesitas cambiar los metadatos personalizados, ejecuta lo siguiente:

gcloud compute instances add-metadata instance-name --metadata  parm-name=parm-value

Agrega nombres de host y direcciones IP a /etc/hosts

Durante la configuración del clúster, la herramienta de configuración de clústeres de SAP valida los nombres de host y las direcciones IP internas de cada VM de host y de la dirección IP flotante. Para asegurarte de que la validación se realice de forma correcta, agrega la dirección IP, el nombre de host y el nombre de DNS interno de la VPC de cada VM de host y la dirección IP flotante al archivo /etc/hosts en cada VM de host mediante el editor que desees.

Por ejemplo, como raíz, en el siguiente ejemplo, se actualiza /etc/hosts:

echo "#Db2 HA floating IP additions" >> /etc/hosts
echo 10.2.0.24 db2-ha-vip-dh1 db2-ha-vip-dh1.c.solutions-writers.internal >> /etc/hosts
echo 10.1.0.3 db2-ha-s1 db2-ha-s1.us-central1-c.c.db2-ha-project.internal >> /etc/hosts
echo 10.1.0.2 db2-ha-s2 db2-ha-s2.us-central1-f.c.db2-ha-project.internal >> /etc/hosts

En el ejemplo anterior, la string entre el nombre de host y >> en cada línea es un nombre de DNS interno de VPC, que el servicio de DNS interno de VPC usa.

Las VM del host usan un nombre de DNS interno zonal, que incluye un campo para la zona. La dirección IP flotante usa un nombre de DNS interno global, que no incluye un campo de zona.

Para un host de VM, puedes recuperar el nombre de DNS interno si ingresas el siguiente comando desde una terminal en la VM de host:

curl "http://metadata.google.internal/computeMetadata/v1/instance/hostname" \
-H "Metadata-Flavor: Google"

Para una dirección IP flotante, puedes ingresarlo tú mismo con el siguiente formato.

vip-host-name.c.project-name.internal

Después de actualizar el archivo /etc/hosts, la información correspondiente en el archivo /etc/hosts debería ser similar al siguiente ejemplo:

#Db2 HA floating IP additions
10.2.0.24 db2-ha-vip-dh1 db2-ha-vip-dh1.c.solutions-writers.internal
10.1.0.3 db2-ha-s1 db2-ha-s1.us-central1-c.c.db2-ha-project.internal
10.1.0.2 db2-ha-s2 db2-ha-s2.us-central1-f.c.db2-ha-project.internal

Prepara el sistema operativo

Después de crear la VM, prepara el sistema operativo para el clúster de HA de IBM Db2.

IBM y SAP definen los requisitos. En la documentación de SAP, se requiere que instales software, como Perl y Korn Shell, que podría no estar preinstalado en las VM de host de Compute Engine.

Consulta los siguientes documentos para conocer los requisitos más recientes:

Instala el servidor de base de datos y crea el clúster de IBM Db2 de alta disponibilidad

Antes de comenzar a seguir las instrucciones en IBM Db2 High availability solution: IBM Tivoli System Automation for Multiplatforms (Solución de IBM Db2 de alta disponibilidad: Automatización de sistemas de IBM Tivoli para multiplataformas) para instalar y configurar IBM Db2 y el clúster de HA, consulta la descripción general del siguiente procedimiento y presta atención a las notas.

Para instalar SAP NetWeaver y el servidor de aplicaciones principal, consulta la documentación de SAP NetWeaver y las guías de instalación de SAP correspondientes disponibles en el Portal de ayuda de SAP.

Los siguientes pasos son una descripción general del procedimiento de instalación. Consulta la documentación de SAP para obtener más detalles.

  1. Establece conectividad SSH basada en claves entre la instancia principal y la secundaria, y entre cada instancia, como se describe en la documentación de SAP. La herramienta de configuración de clústeres de SAP usa la conexión SSH. Prueba todas las conexiones en cada host. Por ejemplo, en db2-ha-s1 prueba las siguientes opciones.

    • ssh db2-ha-s1
    • ssh db2-ha-s2
  2. Descarga o copia el conjunto completo de medios de SAP para Db2 en la VM desde el Portal de asistencia de SAP.

  3. En la VM del host principal, usa SAP Software Provisioning Manager (SWPM) para instalar el servidor de base de datos de IBM Db2.

  4. En la VM del host secundaria, configura la base de datos en espera mediante un método, como la copia del sistema homogénea de SAP.

  5. En ambas VM del host, instala los archivos de licencia de IBM TSAMP y de IBM Db2. Para obtener más información sobre la instalación de las licencias de IBM que obtuviste de SAP, consulta SAP Note 816773 - DB6: Installing a SAP OEM license (Nota de SAP 816773 - DB6: Instala una licencia de OEM de SAP).

  6. En ambas VM del host, instala la versión más reciente de TSAMP, según lo que admita la versión de tu base de datos y del sistema operativo.

  7. En la VM del host principal, usa la versión más reciente de la herramienta de configuración de clústeres de SAP sapdb2cluster.sh para configurar y crear el clúster de HA de IBM Db2.

  8. Después de crear el clúster, usa la utilidad de configuración de instancias de alta disponibilidad (db2haicu) de Db2 en el host principal para comprobar que el clúster pueda conmutar por error.

    1. Sal de la herramienta de configuración de clústeres de SAP y de Korn Shell.

    2. En la instancia principal, confirma que el servidor de base de datos principal esté en línea.

      lssam

      En el siguiente extracto de ejemplo del resultado de lssam, la instancia de la base de datos principal está en línea:

      Online IBM.ResourceGroup:db2_db2dh1_db2dh1_DH1-rg Nominal=Online
              '- Online IBM.Application:db2_db2dh1_db2dh1_DH1-rs
                      |- Online IBM.Application:db2_db2dh1_db2dh1_DH1-rs:db2-ha-s1
                      '- Offline IBM.Application:db2_db2dh1_db2dh1_DH1-rs:db2-ha-s2

    3. Cambia al usuario de la instancia de base de datos.

      sudo su - db2sid

    4. Inicia la utilidad db2haicu.

      db2haicusid

    5. En la interfaz de db2haicu, selecciona la opción 5 y sigue las indicaciones.

    6. Sal de la utilidad db2haicu.

    7. En el host principal, comprueba que el host secundario esté en línea.

      lssam

      En el siguiente extracto de ejemplo del resultado de lssam, la instancia de base de datos secundaria está en línea:

      Online IBM.ResourceGroup:db2_db2dh1_db2dh1_DH1-rg Nominal=Online
              '- Online IBM.Application:db2_db2dh1_db2dh1_DH1-rs
                      |- Offline IBM.Application:db2_db2dh1_db2dh1_DH1-rs:db2-ha-s1
                      '- Online IBM.Application:db2_db2dh1_db2dh1_DH1-rs:db2-ha-s2

A fin de completar la configuración del clúster, sigue las instrucciones en la siguiente sección para crear un recurso de TSAMP personalizado para la dirección IP flotante y asociarlo en TSAMP con el recurso de instancia de IBM Db2.

Crea un recurso de TSAMP personalizado para la dirección IP flotante

Para permitir que TSAMP administre la dirección IP flotante, debes crear un recurso personalizado de TSAMP. Para permitir que TSAMP interactúe con Google Cloud mientras administra el recurso de dirección IP flotante, debes descargar y configurar una secuencia de comandos auxiliar de Google Cloud.

Descarga la secuencia de comandos auxiliar de Google Cloud

En cada host del clúster, descarga la secuencia de comandos auxiliar de Google Cloud y configura sus permisos.

  1. En el host principal y el de reserva, como usuario raíz del directorio /root en la VM principal, descarga la secuencia de comandos.

    Para instancias que no usan una configuración de VPC compartida, haz lo siguiente:

    wget https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_db2/utility/gcp_floating_ip.sh -O gcp_floating_ip.sh
    Para instancias que usan una configuración de VPC compartida, haz lo siguiente:
    wget https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_db2/utility/gcp_floating_ip_svpc.sh -O gcp_floating_ip.sh

  2. En ambos hosts, configura los permisos en la secuencia de comandos.

    chmod 744 gcp_floating_ip.sh

Crea y configura un recurso de TSAMP personalizado para la dirección IP flotante

En cualquier host del clúster, crea y configura recursos de TSAMP personalizados para la dirección IP flotante.

  1. En cualquier host, usa el método que prefieras para crear un archivo de configuración llamado cluster_res.conf y pega el siguiente texto en él después de actualizar el parámetro NodeNameList con los nombres del host.

    PersistentResourceAttributes::
      Name="gcp_floating_ip-rs"
      ResourceType=1
      StartCommand="/root/gcp_floating_ip.sh start"
      StopCommand="/root/gcp_floating_ip.sh stop"
      MonitorCommand="/root/gcp_floating_ip.sh status"
      MonitorCommandPeriod=30
      MonitorCommandTimeout=30
      StartCommandTimeout=600
      StopCommandTimeout=600
      UserName="root"
      RunCommandsSync=1
      ProtectionMode=0
      NodeNameList={"host-1","host-2"}

  2. En el host principal como usuario raíz, crea el recurso de TSAMP personalizado con los siguientes comandos.

    export CT_MANAGEMENT_SCOPE=2
    mkrsrc -f cluster_res.conf IBM.Application
    mkrg -l None gcp_floating_ip-rg
    chrg -o Online gcp_floating_ip-rg
    addrgmbr -g gcp_floating_ip-rg -m F IBM.Application:gcp_floating_ip-rs
    rgreq -o start gcp_floating_ip-rg

  3. En el host principal como usuario raíz, confirma que el recurso de la instancia de Db2 que está en línea se encuentre en el mismo host que el recurso de IP flotante en línea.

    lssam

    En el resultado, todos los recursos en línea deben estar en las mismas VM del host:

    Online IBM.ResourceGroup:db2_db2dh1_db2dh1_DH1-rg Nominal=Online
            '- Online IBM.Application:db2_db2dh1_db2dh1_DH1-rs
                    |- Online IBM.Application:db2_db2dh1_db2dh1_DH1-rs:db2-ha-s1
                    '- Offline IBM.Application:db2_db2dh1_db2dh1_DH1-rs:db2-ha-s2
    Online IBM.ResourceGroup:gcp_floating_ip.sh_rg Nominal=Online
            '- Online IBM.Application:gcp_floating_ip.sh_rs
                    |- Online IBM.Application:gcp_floating_ip.sh_rs:db2-ha-s1
                    '- Offline IBM.Application:gcp_floating_ip.sh_rs:db2-ha-s2

    Si el recurso de dirección IP flotante no está en línea en el mismo host que la instancia de base de datos, mueve el recurso de dirección IP flotante.

    rgreq -o move -n host-to-move-from gcp_floating_ip-rg

  4. Como usuario raíz del host principal, establece una relación en TSAMP entre el recurso de instancia de base de datos y el recurso de dirección IP flotante.

    rgreq -o lock gcp_floating_ip-rg
    rgreq -o lock db2_db2sid_db2sid_SID-rg
    mkrel -o NoCondition -p Collocated \
      -S IBM.Application:gcp_floating_ip-rs -G IBM.Application:db2_db2sid_db2sid_SID-rs \
      db2hadr_colo_gcp_floating_ip
    rgreq -o unlock db2_db2sid_db2sid_SID-rg
    rgreq -o unlock gcp_floating_ip-rg

    Después de establecer una relación entre el recurso de instancia de base de datos y el recurso de dirección IP flotante, puedes volver a probar la conmutación por error, como se describe en la siguiente sección.

Verifica la implementación del clúster de HA de Db2 para SAP en Google Cloud

Para confirmar que el clúster de HA de IBM Db2 esté configurado de forma correcta, activa una conmutación por error y verifica que todos los recursos en línea se muevan de una VM del host a la otra.

Para realizar una prueba de conmutación por error, sigue estos pasos:

  1. En el host principal como usuario raíz, toma nota en qué VM del host se encuentran los recursos en línea en ese momento.

    lssam

  2. En el host principal, cambia al usuario de la instancia de Db2.

    sudo su - db2sid

  3. Inicia la utilidad db2haicu.

    db2haicu

  4. En la interfaz de la utilidad db2haicu, selecciona la opción 5 para activar la conmutación por error y sigue las indicaciones.

  5. Una vez que la utilidad db2haicu termine de procesarse, sal de ella.

  6. Cambia al usuario raíz.

    sudo su -

  7. Confirma que los recursos en línea se hayan trasladado a la otra VM del host.

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:

  1. Establece una conexión SSH con la instancia de VM del host.

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

  1. En el sistema SAP, ingresa la transacción ST06.
  2. 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

Realiza tareas posteriores a la implementación

Antes de usar el sistema de alta disponibilidad de IBM Db2 en Google Cloud, te recomendamos que completes todas las actividades posteriores a la instalación que se documentan en IBM Db2 High Availability Solution: IBM Tivoli System Automation for Multiplatforms (Solución de IBM Db2 de alta disponibilidad: Sistema de automatización de IBM Tivoli para multiplataformas).

  1. Valida el clúster de la base de datos.

  2. Crea una copia de seguridad de la política básica de TSAMP.

  3. Actualiza los paquetes de ajuste de la base de datos.

  4. Actualiza las conexiones de cliente de Db2 para usar el nombre de host y la dirección IP de la dirección IP flotante. Por ejemplo, actualiza el archivo db2cli.ini en los servidores de aplicaciones de SAP ABAP.

Si usas una puerta de enlace NAT con el clúster de HA de Db2, completa la configuración de la puerta de enlace NAT, como se describe en Completa la instalación de la puerta de enlace NAT en la guía de implementación de IBM Db2 para SAP.