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 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. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyecto

  3. Comprueba que la facturación esté habilitada en tu proyecto.

    Descubre cómo puedes habilitar la facturación

Configurar el entorno del comando gcloud

Estas instrucciones usan Cloud Shell para ingresar comandos gcloud a fin de implementar o configurar tus recursos de Google Cloud. Se accede a Cloud Shell a través de Cloud Console 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 el último SDK de Cloud, que proporciona la interfaz de línea de comandos de gcloud. Por lo tanto, los comandos gcloud que usas en Cloud Shell son los mismos que usarías en una instancia de Cloud SDK instalada a nivel local.

Si tienes instalado el SDK de Cloud, puedes emitir los comandos gcloud que se usan en estas instrucciones desde tu máquina local. Sin embargo, con un SDK de Cloud instalado a nivel local, siempre debes asegurarte de usar su versión más reciente.

Ya sea que uses Cloud Shell o el SDK de Cloud, puedes establecer y cambiar las propiedades del entorno del comando 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 con gcloud init.

  • Verifica los ajustes de tu configuración actual de gcloud con gcloud config list.

  • Cambia el proyecto de Google Cloud en el que estás trabajando con gcloud config set project [PROJECT_ID], donde [PROJECT_ID] representa tu proyecto de Google Cloud.

  • Establece una región predeterminada con gcloud config set compute/region [REGION], donde [REGION] representa una región de Google Cloud.

  • Establece una zona predeterminada con gcloud config set compute/zone [ZONE], donde [ZONE] representa una zona de Google Cloud.

  • Crea una configuración nueva con gcloud config configurations create [NAME], donde [NAME] representa el nombre de la configuración.

Para obtener más información sobre cómo trabajar con configuraciones, consulta Administrar las configuraciones del SDK de Cloud.

Crea una red

Por razones de seguridad, crea una red nueva. Puedes controlar quién tiene acceso con reglas de firewall o mediante otro método de control de acceso.

Si tu proyecto tiene una red de VPC predeterminada, no la uses. En su lugar, crea tu propia red de VPC para que las únicas reglas de firewall vigentes sean aquellas que crees explícitamente.

Durante la implementación, las instancias de VM suelen requerir acceso a Internet para descargar el agente de supervisión de Google. Si usas una de las imágenes de Linux certificadas por SAP disponibles en Google Cloud, la instancia de VM también requerirá acceso a Internet para registrar la licencia y acceder a repositorios de proveedores de SO. Una configuración con una puerta de enlace NAT y con rótulos identificadores de red de VM admite este acceso, incluso si las VM de destino no tienen IP externas.

Para configurar la red, sigue estos pasos:

  1. Ve a Cloud Shell.

    Ir a Cloud Shell

  2. Para crear una red nueva en el modo de subredes personalizadas, ejecuta el siguiente comando:

    gcloud compute networks create [YOUR_NETWORK_NAME] --subnet-mode custom

    donde [YOUR_NETWORK_NAME] es el nombre de la nueva red. El nombre de la red solo puede contener caracteres en minúsculas, dígitos y el carácter de guion (-).

    Especifica --subnet-mode custom para evitar el uso del modo automático predeterminado, que crea de forma automática una subred en cada región de Compute Engine. Para obtener más información, consulta Modo de creación de subredes.

  3. Crea una subred y especifica la región y el rango de IP mediante el siguiente comando:

    gcloud compute networks subnets create [YOUR_SUBNETWORK_NAME] \
            --network [YOUR_NETWORK_NAME] --region [YOUR_REGION] --range [YOUR_RANGE]

    En el ejemplo anterior, se ilustra lo siguiente:

    • [YOUR_SUBNETWORK_NAME] es la subred nueva.
    • [YOUR_NETWORK_NAME] es el nombre de la red que creaste en el paso anterior.
    • [REGION] es la región en la que deseas que esté la subred.
    • [YOUR_RANGE] es el rango de direcciones IP especificado en formato CIDR, por ejemplo, 10.1.0.0/24. Si planeas agregar más de una subred, asigna rangos de IP de CIDR no superpuestos para cada subred de la red. Ten en cuenta que cada subred y sus rangos de IP interna se asignan a una sola región.
  4. Opcionalmente, repite el paso anterior y agrega subredes adicionales.

Configura una puerta de enlace NAT

Si necesitas crear una o más VM sin direcciones IP públicas, debes usar la traducción de direcciones de red (NAT) para permitir que las VM accedan a Internet. Usa Cloud NAT, un servicio administrado distribuido y definido por Google Cloud que permite que las VM envíen paquetes salientes a Internet y reciban cualquier paquete de respuesta entrante establecido. Como alternativa, puedes configurar una VM independiente como una puerta de enlace NAT.

A fin de crear una instancia de Cloud NAT para tu proyecto, consulta Usa Cloud NAT.

Después de configurar Cloud NAT para tu proyecto, tus instancias de VM pueden acceder a Internet de forma segura sin una dirección IP pública.

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

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 estás ejecutando 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 Cloud Console.
    linuxImageProject String El proyecto de Google Cloud que contiene la imagen que usarás. Este proyecto puede ser uno propio o un proyecto de imagen de Google Cloud, como rhel-sap-cloud o suse-sap-cloud. Para obtener una lista de proyectos de imagen de GCP, visita la página Imágenes de la documentación de Compute Engine.
    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 registro utiliza 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

En los siguientes pasos, se usa Cloud Logging, que puede generar gastos. Para obtener más información, consulta los precios de Cloud Logging.

  1. Abre Cloud Logging para buscar errores y supervisar el progreso de la instalación.

    Ir a Logging

  2. En la pestaña Recursos, selecciona Global como tu recurso de registro. Si se muestra “INSTANCE DEPLOYMENT COMPLETE” (SE COMPLETÓ LA INSTANCIA DE IMPLEMENTACIÓN) para una VM, se completa el procesamiento de Deployment Manager para la VM.

    Pantalla de Logging

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

  4. Cambia al usuario raíz.

    sudo su -
  5. 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.

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

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 de conexión a tu VM a través de SSH, asegúrate de haber creado una regla de firewall para abrir el puerto 22 en la red de GCP que estás utilizando.

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