
Abstracto
Este documento se centra en enumerar los detalles técnicos y la secuencia de pasos que se necesitan para lograr la automatización de la implementación de la máquina virtual de Google Cloud junto con la instalación de la instancia de base de datos de SAP HANA mediante los scripts de Terraform y Ansible. La intención no es enseñar sobre terraform o ansible scripting o SAP HANA, sino compartir mi experiencia práctica asumiendo que el lector tiene conocimientos básicos de terraform/ansible y SAP Basis. También se puede leer como una extensión de mi blog anterior. Automatización del Despliegue de Aplicaciones SAP en Google Cloud https://blogs.sap.com/2021/09/01/automation-of-sap-applications-deployment-in-google-cloud/
La forma convencional de tener instalada una instancia de la base de datos de SAP HANA es implementar la máquina virtual en función del dimensionamiento calculado mediante Google Console o Terraform/Google Deployment Manager como herramienta IaC con el sistema operativo subyacente identificado (SLES/RHEL), crear los puntos de montaje en el sistema operativo. capa y asigne el almacenamiento necesario para los respectivos puntos de montaje de HANA DB, descargue los medios de SAP HANA, descomprímalos y establezca la propiedad y los permisos de los archivos de instalación y, al final, inicie la instalación interactiva de HANA con entradas manuales intermitentes cuando sea necesario. se solicita. Usando ambas herramientas, es decir, Terraform y Ansible, con pocos intentos y pruebas iniciales, pudimos crear con éxito un script de un solo clic para realizar esta tarea de una sola vez. Probamos este script de automatización con ambos sistemas operativos, SUSE Linux Enterprise Server, SLES y Red Hat Enterprise Linux, RHEL, que son sistemas operativos certificados para SAP HANA DB en Google Cloud. https://cloud.google.com/solutions/sap/docs/sap-hana-os-support.
Tareas de automatización
Dividimos la tarea en cuatro pasos principales como se muestra a continuación. En los primeros dos pasos, estamos capturando todas las entradas obligatorias que se necesitan para la creación de VM y la instalación de la instancia de SAP HANA DB. Aparentemente, estas entradas/valores, pasados al script durante la ejecución de las variables definidas, se almacenan en una plantilla que acepta el entorno de tiempo de ejecución de Terraform/Ansible. Los siguientes pasos se encargan de armar la lógica de automatización y luego implementar el script.
Preparación
Paso 1 – Como primer paso, decidimos los parámetros de entrada para la creación de VM, como el tipo de máquina, el nombre de host, la imagen del sistema operativo, los discos, la red, la región y la zona y otros detalles obligatorios necesarios para poner en marcha una VM en GCP. Grabó estos valores de parámetros en un archivo de parámetros de entrada. La pantalla de muestra se muestra a continuación:
#-------INPUT VARIABLES FOR TERRAFORM RESOURCE PROVISIONING---------------- #Instance# instance_name =sap-hana-vm project =sap-automation-112233 vm_network =default zone =us-central1-a boot_disk_size =20 image =rhel-sap-cloud/rhel-8-4-sap-ha machine_type =n1-highmem-32 device_name =sap-hana-vm-OS disktype =pd-balanced #address# address_name =hana-ip address_type =EXTERNAL region =us-central1 network_tier =STANDARD
Paso 2 – El valor de los parámetros de entrada para la instalación de HANA DB, como ID de base de datos, número de instancia, uso del sistema – producción/prueba/desarrollo, contraseña de usuario del SISTEMA para SYSTEMDB y Tenant DB, etc., se capturan en el mismo archivo input.patameters en el repositorio de origen del proyecto . Muestra dada a continuación:
#Enter SAP HANA System ID: var6 sap_hana_system_id =HDB #Enter Instance Number [00]: var7 sap_hana_instance_number =00 #Index | System Usage | Description #----------------------------------------------------------------------------- #1 | production | System is used in a production environment #2 | test | System is used for testing, not production #3 | development | System is used for development, not production #4 | custom | System usage is neither production, test nor development #Select System Usage / Enter Index [4]: var9 sap_hana_system_usage =3 #Enter System Administrator (sidadm) Password: var17 system_administrator_password =<passwd> #Confirm System Administrator (sidadm) Password: var18 confirm_system_adm_password =<passwd> #Enter System Database User (SYSTEM) Password: var19 system_database_user_password =<passwd> #Confirm System Database User (SYSTEM) Password: var20 confirm_system_db_user_password =<passwd>
Además de capturar los valores de entrada en el archivo de parámetros de entrada, también se realizan las siguientes tareas durante la preparación:
> Cálculo del almacenamiento necesario para cada punto de montaje de HANA /hana/data, /hana/logs, /hana/shared, /usr/sap
> Descargar los medios de instalación del servidor SAP HANA DB desde el portal de SAP y guardarlos en el depósito de almacenamiento de Google
Paso 3 – secuencias de comandos
El script de Terraform (.tf) se utiliza para la implementación de la máquina virtual (VM) y el script de Ansible (.yaml) se utiliza para la instalación de SAP HANA. Además de los scripts, también se están creando algunos archivos de soporte, como el archivo de entrada de parámetros, el archivo de clave de cuenta de servicio, etc.
Toda la lógica se construye aquí en este paso:
Necesitamos ejecutar solo main.sh y el resto de las tareas se ejecutarán dentro de él. El flujo de ejecución del script de un solo clic es así: .
main.sh ↓ main.tf ↓ hanadbinstall.yaml ↓ hanaddbinstall.sh (bash)
Paso 4: implementación
Pruebas
Conéctese a la VM usando ssh y cambie al usuario sidadm. Verifique el estado de todos los servicios de HANA (daemon, servidor de nombres, preprocesador, servidor de índices, etc.) usando el comando sapcontrol. El estado VERDE indica que un servicio en particular está funcionando.
Otra forma de probar el estado de los servicios de la instancia de base de datos de HANA es conectar la base de datos de HANA mediante la herramienta front-end de SAP HANA «Hana Studio» con el sistema de usuario de base de datos. Compruebe el estado de los servicios de HANA (debe ser «Activo») en la pestaña «Horizontal» de la perspectiva Administrativa.
Conclusión
Ejecutamos este script con éxito tanto con el sistema operativo (SLES y RHEL) como con HANA DB versión 2.0 SP6 y nos llevó menos de 25 minutos implementar una VM de Linux con la instancia de SAP HANA DB instalada, en funcionamiento. Todo el proceso tomó alrededor de un 40% menos de tiempo en comparación con la instalación manual convencional.
Este script de automatización es bastante útil para activar la instancia de base de datos de SAP HANA para cualquier instalación estándar o cualquier escenario brownfield, reutilizable con cambios menores y se puede usar como plantilla para el modelo de fábrica.
Quisiera agradecer la gran ayuda brindada por mi colega Sudipta Kundu, desarrollador de la nube, al compilar y probar esos scripts de automatización.
Espero que este blog técnico lo ayude a comprender las diversas entradas, tareas y su secuencia para lograr la automatización de la instalación de la base de datos de SAP HANA junto con la implementación de la máquina virtual subyacente mediante secuencias de comandos terraform/ansible de una sola vez en Google Cloud Platform (GCP).
Por favor, siéntase libre de compartir sus valiosos comentarios.
Salud !!
Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010
Paseo de la Reforma 26
Colonia Juárez, Cuauhtémoc
Ciudad de México 06600
Real Cariari
Autopista General Cañas,
San José, SJ 40104
Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073