Guía de implementación de SAP MaxDB para Linux

En esta guía de implementación, se muestra cómo implementar y conectarse a una máquina virtual (VM) de Compute Engine lista para la instalación de SAP MaxDB en un sistema operativo Linux.

En las instrucciones de esta guía, se utiliza Cloud Deployment Manager a fin de implementar y configurar la VM, el sistema operativo Linux y los volúmenes de disco necesarios para SAP MaxDB.

Si deseas obtener detalles sobre la planificación de la implementación, consulta la Guía de planificación de SAP MaxDB.

Requisitos previos

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 requisitos reglamentarios, 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.

Si aún no tienes un proyecto de Google Cloud con facturación habilitada, debes crear uno antes de implementar una VM para la instalación de SAP MaxDB.

Sigue estos pasos para crear un proyecto:

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

Configurar el entorno del comando gcloud

Estas instrucciones usan Cloud Shell para ingresar comandos gcloud para implementar o configurar tus recursos de Google Cloud. Se accede a Cloud Shell a través de la consola de Google Cloud en tu navegador.

Cloud Shell se ejecuta en una VM que aprovisiona Google Cloud cada vez que inicias Cloud Shell. La primera vez que usas Cloud Shell, Google Cloud también crea un directorio $HOME persistente para ti, que se restablece cada vez que abres Cloud Shell.

La VM aprovisionada incluye la última versión de Google Cloud CLI. Por lo tanto, los comandos de gcloud que usas en Cloud Shell son los mismos que usarías en una instancia de gcloud CLI instalada a nivel local.

Si tienes instalada la gcloud CLI, puedes emitir los comandos de gcloud que se usan en estas instrucciones desde tu máquina local. Sin embargo, con una gcloud CLI instalada de forma local, siempre debes asegurarte de usar la versión más reciente de la gcloud CLI.

Ya sea que uses Cloud Shell o la gcloud CLI, puedes establecer y cambiar las propiedades del entorno del comando de gcloud y guardarlas como una configuración. Las configuraciones son conjuntos de pares clave-valor que influyen en el comportamiento de los comandos gcloud.

A continuación, se indican algunas acciones básicas que puedes realizar con una configuración en Cloud Shell:

  • Inicializa una configuración:

    gcloud init
  • Verifica los ajustes de tu configuración actual de gcloud:

    gcloud config list
  • Cambia al proyecto de Google Cloud requerido. Reemplaza PROJECT_ID por tu ID del proyecto de Google Cloud.

    gcloud config set project PROJECT_ID
  • Configura una región predeterminada. Reemplaza REGION por una región de Google Cloud.

    gcloud config set compute/region REGION
  • Configura una zona predeterminada. Reemplaza ZONE por una zona de Google Cloud.

    gcloud config set compute/zone ZONE
  • Crea una configuración nueva. Reemplaza NAME por el nombre de la configuración.

    gcloud config configurations create NAME

Para obtener más información sobre cómo trabajar con configuraciones, consulta Cómo administrar las configuraciones de la gcloud CLI.

Crea una red

Por razones de seguridad, crea una red nueva. Puedes controlar quién tiene acceso con reglas de firewall o a través de 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 de forma explícita.

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

Console

  1. En la consola de Google Cloud, ve a la página Redes de VPC.

    Ir a las redes de VPC

  2. Haz clic en Crear red de VPC.
  3. Ingresa un Nombre para la red.

    El nombre debe cumplir con la convención de nombres. Las redes de VPC usan la convención de nombres de Compute Engine.

  4. En Modo de creación de subredes, selecciona Custom.
  5. En la sección Subred nueva, especifica los siguientes parámetros de configuración para una subred:
    1. Ingresa un Nombre para la subred.
    2. En Región, selecciona la región de Compute Engine en la que deseas crear la subred.
    3. En Tipo de pila IP, selecciona IPv4 (pila única) y, luego, ingresa un rango de direcciones IP en el formato CIDR. , como 10.1.0.0/24.

      Este es el rango de IPv4 principal de la subred. 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. Haz clic en Listo.
  6. Para agregar más subredes, haz clic en Agregar subred y repite los pasos anteriores. Puedes agregar más subredes a la red después de haberla creado.
  7. Haz clic en Crear.

gcloud

  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 NETWORK_NAME --subnet-mode custom

    Reemplaza NETWORK_NAME por el nombre de la red nueva. El nombre debe cumplir con la convención de nombres. Las redes de VPC usan la convención de nombres de Compute Engine.

    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 a través del siguiente comando:
    gcloud compute networks subnets create SUBNETWORK_NAME \
        --network NETWORK_NAME --region REGION --range RANGE

    Reemplaza lo siguiente:

    • SUBNETWORK_NAME: el nombre de la subred nueva
    • NETWORK_NAME: el nombre de la zona que creaste en el paso anterior
    • REGION: la región en la que deseas que esté la subred
    • RANGE: el rango de direcciones IP especificado en formato CIDR, como 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. Si quieres, puedes repetir el paso anterior y agregar más subredes.

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

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

Implementa una VM de Linux para SAP MaxDB con Deployment Manager

En las siguientes instrucciones, se utiliza Deployment Manager para implementar una instancia de VM con Linux y todos los discos persistentes que requiere SAP MaxDB.

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.

Procedimiento de implementación

  1. Abre Cloud Shell.

    Ir a Cloud Shell

  2. Descarga la plantilla del archivo de configuración template.yaml en tu directorio de trabajo. Para ello, ingresa el siguiente comando en Cloud Shell:

    wget https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_maxdb/template.yaml
  3. Opcionalmente, cambia el nombre del archivo template.yaml para identificar la configuración que define.

  4. Abre el archivo template.yaml en el editor de código de Cloud Shell.

    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.

  5. En el archivo template.yaml, actualiza los siguientes valores de propiedad. Para hacerlo, reemplaza los corchetes y su contenido con 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á SAP MaxDB. El nombre debe tener hasta 13 caracteres y especificarse en letras minúsculas, números o guiones.
    instanceType String El tipo de máquina virtual de Compute Engine en el que se instalará SAP MaxDB. Especifica un tipo de máquina con dos o más CPU virtuales. Por ejemplo, “n1-standard-4”. Si ejecutas SAP MaxDB con SAP NetWeaver en la misma VM, selecciona un tipo de máquina que incluya suficientes CPU y memoria para admitir ambos sistemas. Consulta la guía de planificación de SAP NetWeaver.
    zona String La zona en la que implementas SAP MaxDB. Debe estar en la misma región que seleccionaste para la subred.
    subred String El nombre de la subred que creaste en un paso anterior. Si realizas la implementación en una VPC compartida, especifica este valor como [SHAREDVPC_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 SAP MaxDB. Para especificar una familia de imágenes, agrega el prefijo family/ al nombre de la familia. Por ejemplo, family/rhel-7 o family/sles-12-sp3-sap. Para especificar una imagen específica, determina solo el nombre de la imagen. Si deseas ver la lista de las familias de imágenes disponibles, consulta la página Imágenes en la consola de Cloud.
    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, 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.
    maxdbSID String El ID de instancia de la base de datos.
    maxdbRootSize Entero El tamaño en GB de /sapdb, que es el directorio raíz de la instancia de la base de datos. Los valores mínimo y predeterminado para maxdbRootSize son de 8 GB.
    maxdbDataSize Entero El tamaño de /sapdb/[DBSID]/sapdata, que contiene los archivos de datos de la base de datos. Los valores mínimo y predeterminado para maxdbDataSize son de 30 GB.
    maxdbLogSize Entero El tamaño de /sapdb/[DBSID]saplog, que contiene los registros de las transacciones de la base de datos. Los valores mínimo y predeterminado para maxdbLogSize son de 8 GB.
    maxdbBackupSize Número entero El tamaño del volumen /maxdbbackup. Esta propiedad es opcional. Si se configura en 0 o se omite, no se crea ningún disco.
    maxdbDataSSD booleano Especifica si la unidad de datos utiliza un disco persistente SSD ("Yes") o un disco persistente HDD ("No"). "Yes" es el valor predeterminado.
    maxdbLogSSD booleano Especifica si la unidad de registros 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 Entero Solo es necesario si estás instalando SAP MaxDB para que se ejecute con SAP NetWeaver en la misma instancia de VM.
    sapmntSize Entero Solo es necesario si estás instalando SAP MaxDB para que se ejecute con SAP NetWeaver en la misma instancia de VM.
    swapSize Entero Solo es necesario si estás instalando SAP MaxDB para que se ejecute con SAP NetWeaver en la misma instancia de VM.

    El siguiente archivo de configuración crea una VM que está configurada para ejecutar el servidor de base de datos de SAP MaxDB y SAP NetWeaver. El archivo de configuración dirige a Deployment Manager a implementar una VM n1-standard-16 que ejecuta un sistema operativo SLES 12 SP3. La VM incluye todos los directorios necesarios para ejecutar SAP MaxDB con NetWeaver.

    resources:
    - name: sap_maxdb
      type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_maxdb/sap_maxdb.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_maxdb/sap_maxdb.py
      #
      properties:
        instanceName: xmp-maxdb-lin
        instanceType: n1-standard-16
        zone: us-central1-f
        subnetwork: example-sub-network
        linuxImage: family/sles-12-sp3-sap
        linuxImageProject: suse-sap-cloud
        maxdbSID: MD1
        maxdbRootSize: 10
        maxdbDataSize: 50
        maxdbLogSize: 30
        maxdbBackupSize: 100
        maxdbDataSSD: Yes
        maxdbLogSSD: Yes
        usrsapSize: 15
        sapmntSize: 15
        swapSize: 24
  6. Crea la instancia de VM:

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

    El comando anterior invoca a Deployment Manager, que implementa la VM según las especificaciones del archivo template.yaml. El proceso puede tardar unos minutos. Para verificar el progreso de la implementación, sigue los pasos que se indican en la siguiente 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 la página Cuotas de IAM y administración, aumenta cualquiera de las cuotas que no cumplan con los requisitos de SAP MaxDB que se enumeran en la Guía de planificación de SAP MaxDB.

      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. Después de que se implementa el sistema SAP MaxDB, conéctate a la VM con SSH. En la página de instancias de VM de Compute Engine, puedes hacer clic en el botón SSH para tu instancia de VM o puedes usar el método de 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 similar al siguiente, como el directorio //sapdb/[DBSID]/sapdata.

    Volúmenes de datos que creó la secuencia de comandos.

  4. Si instalas SAP MaxDB en la misma VM que SAP NetWeaver, ingresa el siguiente comando para confirmar que se creó el directorio de intercambio:

    cat /proc/meminfo | grep Swap

    Deberías ver resultados similares al siguiente ejemplo:

    Ejemplo de resultado de la terminal cuando hay un directorio de intercambio.

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.

Instala la base de datos

Ahora que tu sistema operativo está configurado, puedes instalar tu base de datos SAP MaxDB: Por lo general, MaxDB se instala con el producto SAP con el que está integrado.

Para instalar SAP MaxDB en tu VM, sigue estos pasos:

  1. Establece una conexión SSH a tu VM basada en Linux.
  2. Descarga SAP Software Provisioning Manager (SWPM), los medios de instalación del producto SAP y los medios de instalación de MaxDB de acuerdo con las guías de instalación de SAP.
  3. Instala tu producto SAP y la base de datos SAP MaxDB de acuerdo con las guías de instalación de SAP para tu producto. Para obtener más información, consulta la documentación de SAP MaxDB.

SAP proporciona información adicional sobre la instalación en la Nota 1020175 de SAP: Preguntas frecuentes: Instalación, actualización o aplicación de un parche en SAP MaxDB.

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 tu instancia de Compute Engine.

  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 tu instancia de SAP MaxDB te recomendamos que realices los siguientes pasos posteriores a la implementación:

  1. Actualiza el software SAP MaxDB con los parches más recientes, si están disponibles.
  2. Instala cualquier componente adicional.
  3. Configura y haz una copia de seguridad de la nueva base de datos de SAP MaxDB.

Para obtener más información, consulta Administración de la base de datos de SAP MaxDB.

Solución de problemas

En esta sección, se proporciona información sobre cómo corregir problemas comunes.

Soluciona problemas de conexión a la VM

Si tienes problemas para conectarte a tu VM a través de SSH, asegúrate de haber creado una regla de firewall a fin de abrir el puerto 22 en la red de Google Cloud que estás usando.

Para otros problemas posibles, consulta Problemas conocidos de SSH desde el navegador.