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
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
Para abrir el editor de código de Cloud Shell, haz clic en el ícono de lápiz (edit) en la esquina superior derecha de la ventana de la terminal de Cloud Shell.
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
.Para abrir el archivo
template_ha.yaml
en el editor de código, haz doble clic en él.Define las VM y los discos persistentes en el archivo
template_ha.yaml
. El archivotemplate_ha.yaml
contiene dos secciones:sap_db2_primary
ysap_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
yotherHost
, 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óntype
que está activa de forma predeterminada especifica la versión de la plantilla comolatest
. La especificacióntype
que se marca como comentario especifica una versión específica de la plantilla con una marca de tiempo.Si necesitas que todas tus implementaciones usen la misma versión de plantilla, usa la especificación
type
, que incluye la marca de tiempo.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
ofamily/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
osuse-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://
ogs://
. 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 VMn1-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 en0
.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
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
En la consola de Google Cloud, abre Cloud Logging para supervisar el progreso de la instalación y verificar si hay errores.
Filtra los registros:
Explorador de registros
En la página Explorador de registros, ve al panel Consulta.
En el menú desplegable Recurso, selecciona Global y, luego, haz clic en Agregar.
Si no ves la opción Global, ingresa la siguiente consulta en el editor de consultas:
resource.type="global" "Deployment"
Haz clic en Ejecutar consulta.
Visor de registros heredado
- En la página Visor de registros heredado, en el menú del selector básico, selecciona Global como tu recurso de registro.
Analiza los registros filtrados:
- Si se muestra
"--- Finished"
, el proceso de implementación está completo y puedes continuar con el siguiente paso. Si ves un error de cuota, sigue estos pasos:
En 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.
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.
Vuelve a ejecutar tu implementación.
- Si se muestra
Verifica la configuración de la VM
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.Cambia al usuario raíz.
sudo su -
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:
- Corrige el error.
- En la página Implementaciones, borra la implementación para limpiar las VMs y los discos persistentes de la instalación con errores.
- 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:
Abre una terminal en una VM host o abre Cloud Shell.
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.
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:
Abre una terminal en una VM host o abre Cloud Shell.
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:
Abre una terminal en una VM host o abre Cloud Shell.
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:
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).
1984787: SUSE LINUX Enterprise Server 12: Notas de instalación
2002167: Red Hat Enterprise Linux 7.x: instalación y actualización
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.
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
Descarga o copia el conjunto completo de medios de SAP para Db2 en la VM desde el Portal de asistencia de SAP.
En la VM del host principal, usa SAP Software Provisioning Manager (SWPM) para instalar el servidor de base de datos de IBM Db2.
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.
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).
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.
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.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.
Sal de la herramienta de configuración de clústeres de SAP y de Korn Shell.
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
Cambia al usuario de la instancia de base de datos.
sudo su - db2sid
Inicia la utilidad db2haicu.
db2haicusid
En la interfaz de db2haicu, selecciona la opción 5 y sigue las indicaciones.
Sal de la utilidad db2haicu.
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.
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:
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.sh -O gcp_floating_ip.sh
wget https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_db2/utility/gcp_floating_ip_svpc.sh -O gcp_floating_ip.sh
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.
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"}
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
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
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:
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
En el host principal, cambia al usuario de la instancia de Db2.
sudo su - db2sid
Inicia la utilidad db2haicu.
db2haicu
En la interfaz de la utilidad db2haicu, selecciona la opción 5 para activar la conmutación por error y sigue las indicaciones.
Una vez que la utilidad db2haicu termine de procesarse, sal de ella.
Cambia al usuario raíz.
sudo su -
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:
Establece una conexión SSH con la instancia de VM del host.
Ejecuta el siguiente comando:
systemctl status google-cloud-sap-agent
Si el agente funciona de forma correcta, el resultado contendrá
active (running)
. Por ejemplo:google-cloud-sap-agent.service - Google Cloud Agent for SAP Loaded: loaded (/usr/lib/systemd/system/google-cloud-sap-agent.service; enabled; vendor preset: disabled) Active: active (running) since Fri 2022-12-02 07:21:42 UTC; 4 days ago Main PID: 1337673 (google-cloud-sa) Tasks: 9 (limit: 100427) Memory: 22.4 M (max: 1.0G limit: 1.0G) CGroup: /system.slice/google-cloud-sap-agent.service └─1337673 /usr/bin/google-cloud-sap-agent
Si el agente no está en ejecución, reinicia el agente.
Verifica que el agente de host SAP reciba métricas
Para verificar que el Agente de Google Cloud para SAP recopile las métricas de infraestructura y que se envíen de forma correcta al agente de host SAP, sigue estos pasos:
- En el sistema SAP, ingresa la transacción
ST06
. En el panel de descripción general, revisa la disponibilidad y el contenido de los siguientes campos para verificar la configuración completa y correcta de la infraestructura de supervisión de SAP y Google:
- Proveedor de servicios en la nube:
Google Cloud Platform
- Acceso de supervisión mejorada:
TRUE
- Detalles de supervisión mejorada:
ACTIVE
- Proveedor de servicios en la nube:
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).
Valida el clúster de la base de datos.
Crea una copia de seguridad de la política básica de TSAMP.
Actualiza los paquetes de ajuste de la base de datos.
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.