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 Platform con la 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.

    Si todavía no tienes una cuenta, regístrate para obtener una nueva.

  2. Selecciona o crea un proyecto de GCP.

    Ir a la página Administrar recursos

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

    Descubre cómo puedes habilitar la facturación

Configura el entorno del comando de gcloud

En estas instrucciones, se utiliza Cloud Shell para ingresar comandos de gcloud que implementan o configuran tus recursos de GCP. Para acceder a Cloud Shell, utiliza GCP Console en tu navegador.

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

La VM aprovisionada incluye el SDK de Cloud más reciente, que proporciona la interfaz de línea de comandos de gcloud. Por lo tanto, los comandos de gcloud que usas en Cloud Shell son los mismos que utilizarías en una instancia del SDK de Cloud instalada de forma local.

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

Ya sea que utilices Cloud Shell o el SDK de Cloud, puedes configurar y cambiar las propiedades del entorno del comando de gcloud y guardarlas como una configuración. Las configuraciones son colecciones de pares clave-valor que influyen en el comportamiento de los comandos de 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 de gcloud actual con gcloud config list.

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

  • Configura una región predeterminada con gcloud config set compute/region [REGION], en el que [REGION] representa una región de GCP.

  • Define una zona predeterminada con gcloud config set compute/zone [ZONE], en el que [ZONE] representa una zona de GCP.

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

Para obtener más información sobre cómo trabajar con configuraciones, consulta cómo administrar 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 cambio, 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 generalmente requieren acceso a Internet para descargar el agente de supervisión de Google. Si usas una de las imágenes de Linux certificadas por SAP que están disponibles en GCP, la instancia de VM también requiere acceso a Internet para registrar la licencia y acceder a los repositorios del proveedor del SO. Una configuración con una puerta de enlace NAT y con etiquetas de red de VM admite este acceso, aunque las VM de destino no tengan 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

    En ese comando, [YOUR_NETWORK_NAME] es el nombre de la red nueva. 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 utilizar el modo automático predeterminado, que crea automáticamente una subred en cada región de Compute Engine. Para obtener más información, consulta Modo de creación de subred.

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

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

    En ese comando, se especifica 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 quieres que esté la subred.
    • [YOUR_RANGE] es 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 internas se mapean a una sola región.
  4. Opcionalmente, puedes repetir el paso anterior y agregar más subredes.

Configura una puerta de enlace NAT

Si pretendes crear una o más VM que no tengan direcciones IP públicas, debes crear una puerta de enlace NAT a fin de que tus VM puedan acceder a Internet para descargar el agente de supervisión de Google.

Si planeas asignar una dirección IP pública externa a tu VM, puedes omitir este paso.

Para crear una puerta de enlace NAT, sigue estos pasos:

  1. Crea una VM para que funcione como la puerta de enlace NAT en la subred que acabas de crear:

    gcloud compute instances create [YOUR_VM_NAME] --can-ip-forward \
            --zone [YOUR_ZONE]  --image-family [YOUR_IMAGE_FAMILY] \
            --image-project [YOUR_IMAGE_PROJECT] \
            --machine-type=[YOUR_MACHINE_TYPE] --subnet [YOUR_SUBNETWORK_NAME] \
            --metadata startup-script="sysctl -w net.ipv4.ip_forward=1; iptables \
            -t nat -A POSTROUTING -o eth0 -j MASQUERADE" --tags [YOUR_VM_TAG]

    En ese comando, se especifica lo siguiente:

    • [YOUR_VM_NAME] es el nombre de la VM que estás creando y que quieres usar para la puerta de enlace NAT.
    • [YOUR_ZONE] es la zona donde quieres que esté la VM.
    • [YOUR_IMAGE_FAMILY] y [YOUR_IMAGE_PROJECT] especifican la imagen que quieres usar para la puerta de enlace NAT.
    • [YOUR_MACHINE_TYPE] es cualquier tipo de máquina compatible. Si esperas un tráfico de red alto, elige un tipo de máquina que tenga por lo menos ocho CPU virtuales.
    • [YOUR_SUBNETWORK_NAME] es el nombre de la subred en la que quieres que esté la VM.
    • [YOUR_VM_TAG] es una etiqueta que se aplica a la VM que estás creando. Si usas esta VM como Host de bastión, esta etiqueta se usa para aplicar la regla de firewall relacionada solo a esta VM.
  2. Crea una ruta que esté etiquetada, de manera que el tráfico pase a través de la VM de NAT en lugar de la puerta de enlace de Internet predeterminada:

    gcloud compute routes create [YOUR_ROUTE_NAME] \
            --network [YOUR_NETWORK_NAME] --destination-range 0.0.0.0/0 \
            --next-hop-instance [YOUR_VM_NAME] --next-hop-instance-zone \
            [YOUR_ZONE] --tags [YOUR_TAG_NAME] --priority 800

    En ese comando, se especifica lo siguiente:

    • [YOUR_ROUTE_NAME] es el nombre de la ruta que estás creando.
    • [YOUR_NETWORK_NAME] es la red que creaste.
    • [YOUR_VM_NAME] es la VM que estás utilizando para la puerta de enlace NAT.
    • [YOUR_ZONE] es la zona donde se ubica la VM.
    • [YOUR_TAG_NAME] es la etiqueta en la ruta que dirige el tráfico a través de la VM de NAT.
  3. Si también quieres utilizar la VM de la puerta de enlace NAT como Host de bastión, ejecuta el siguiente comando. Este comando crea una regla de firewall que permite el acceso SSH entrante a esta instancia desde Internet:

    gcloud compute firewall-rules create allow-ssh --network [YOUR_NETWORK_NAME] --allow tcp:22 --source-ranges 0.0.0.0/0 --target-tags "[YOUR_VM_TAG]"

    En el comando, se especifica lo siguiente:

    • [YOUR_NETWORK_NAME] es la red que creaste.
    • [YOUR_VM_TAG] es la etiqueta que especificaste en el momento de crear la VM de la puerta de enlace NAT. Esta etiqueta se usa para que esta regla de firewall se aplique solo a la VM que aloja la puerta de enlace NAT, y no a todas las VM de la red.

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 llamada implementación. Puedes ver y trabajar con todas las implementaciones para tu proyecto en la página Implementaciones en GCP Console.

Ten en cuenta los siguientes comportamientos cuando utilices Deployment Manager:

  • Si se borra una implementación, se borrarán todos los recursos asociados con la implementación, incluidas las VM, los discos persistentes y cualquier sistema SAP que esté instalado en la VM.
  • De forma predeterminada, Deployment Manager utiliza la política de creación de recursos de 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ó originalmente. Para evitar esta situación, establece la política de recursos de Deployment Manager en CREATE o asegúrate de usar nombres de recursos ú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 a tu directorio de trabajo ingresando el siguiente comando en Cloud Shell:

    wget https://storage.googleapis.com/sapdeploy/dm-templates/sap_maxdb/template.yaml
    
  3. Si quieres, puedes cambiar 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
    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 tu 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 estás usando 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 GCP que contiene la imagen que utilizarás. Este puede ser tu propio proyecto o un proyecto de imagen de GCP, 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 Número 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 Número 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 Número 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 Número entero Solo es necesario si estás instalando SAP MaxDB para que se ejecute con SAP NetWeaver en la misma instancia de VM.
    sapmntSize Número entero Solo es necesario si estás instalando SAP MaxDB para que se ejecute con SAP NetWeaver en la misma instancia de VM.
    swapSize Número 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.

     imports:
     - path: https://storage.googleapis.com/sapdeploy/dm-templates/sap_maxdb/sap_maxdb.py
    
     resources:
     - name: sap_maxdb
       type: https://storage.googleapis.com/sapdeploy/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

Los siguientes pasos usan Stackdriver Logging, que puede generar gastos. Para obtener más información, consulta los precios de Stackdriver.

  1. Abre Stackdriver Logging para verificar que no haya 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 "SE COMPLETÓ LA INSTANCIA DE IMPLEMENTACIÓN" (INSTANCE DEPLOYMENT COMPLETE) 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 de 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 creados por 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 se sale del directorio de intercambio

Si alguno de los pasos de la validación muestra que la instalación falló, sigue estos pasos:

  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.

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...