Personalizar la instalación de AlloyDB Omni

Selecciona una versión de la documentación:

AlloyDB Omni se implementa a través de una imagen de Docker, lo que permite diferentes formas de personalización. En esta página se muestran algunas de las personalizaciones habituales.

Para empezar a usar AlloyDB Omni rápidamente con la configuración predeterminada, consulta la guía de inicio rápido de AlloyDB Omni.

Antes de empezar

En la siguiente tabla se muestra la configuración de hardware y software recomendada para AlloyDB Omni.

SO/Plataforma Configuración de hardware recomendada Configuración de software recomendada
Linux
  • CPU x86-64 o Arm (*) con compatibilidad con AVX2
  • 8 GB de RAM por cada CPU asignada a AlloyDB Omni
  • 20 GB o más de espacio en disco
  • SO basado en Debian (Ubuntu, etc.) o RHEL 9
  • Versión 6.1 o posterior del kernel de Linux, o cualquier versión anterior a la 5.3 que admita las directivas MADV_COLLAPSE y MADV_POPULATE_WRITE
  • Cgroupsv2 habilitado
  • Docker Engine 25.0.0 o una versión posterior, o Podman 5.0.0 o una versión posterior
  • macOS
  • CPU Intel con compatibilidad con AVX2 o chip M
  • 8 GB de RAM por cada CPU asignada a AlloyDB Omni
  • 20 GB o más de espacio en disco
  • Docker Desktop 4.30 o versiones posteriores
  • (*) La compatibilidad con Arm está en versión preliminar.

    AlloyDB Omni se ejecuta en un contenedor. Instala un entorno de ejecución de contenedores, como Docker o Podman, en tu máquina antes de instalar AlloyDB Omni.

    Un solo servidor

    Montar un directorio de datos externo

    De forma predeterminada, el comando de la guía de inicio rápido para instalar AlloyDB Omni almacena los datos de la base de datos en un área gestionada por Docker. Es una forma cómoda de empezar, pero dificulta la búsqueda y el uso del directorio de datos. En su lugar, puedes configurar un montaje de enlace para asignar el directorio de datos a una ubicación conocida de tu disco.

    docker run --name CONTAINER_NAME \
    -e POSTGRES_PASSWORD=NEW_PASSWORD \
    -v DATA_DIR:/var/lib/postgresql/data \
    -p HOST_PORT:5432 -d google/alloydbomni:15.5.4

    Haz los cambios siguientes:

    • CONTAINER_NAME: el nombre que se asignará a este nuevo contenedor de AlloyDB Omni en el registro de contenedores de tu máquina host. Por ejemplo, my-omni.

    • NEW_PASSWORD: la contraseña asignada al usuario postgres del nuevo contenedor después de su creación.

    • DATA_DIR: la ruta del sistema de archivos que quieres que use AlloyDB Omni para su directorio de datos.

    • HOST_PORT: puerto TCP de la máquina host al que el contenedor debe publicar su propio puerto 5432. Para usar el puerto predeterminado de PostgreSQL en la máquina host, especifica 5432.

    Habilitar ulimits

    Los parámetros de ulimit especifican varios límites de procesos que puede usar el contenedor de Docker. Para ofrecer un rendimiento óptimo, AlloyDB Omni ajusta las prioridades de los procesos para permitir que los procesos críticos de PostgreSQL se ejecuten con una prioridad más alta, es decir, que obtengan una mayor asignación de las CPUs disponibles. Para permitirlo, especifica -20:-20, que elimina las limitaciones del contenedor de AlloyDB Omni.

    docker run --name CONTAINER_NAME \
    -e POSTGRES_PASSWORD=NEW_PASSWORD \
    --ulimit=nice=-20:-20 \
    -p HOST_PORT:5432 -d google/alloydbomni:15.5.4

    Especificar un controlador de registro

    De forma predeterminada, Docker no realiza rotaciones de registros. Esto puede consumir mucho espacio en disco y, con el tiempo, provocar que se agote. Puedes configurar Docker para que use otro controlador de registro. Por ejemplo, para registrarte en journald, haz lo siguiente:

    docker run --name CONTAINER_NAME \
    -e POSTGRES_PASSWORD=NEW_PASSWORD \
    --log-driver=journald \
    -p HOST_PORT:5432 -d google/alloydbomni:15.5.4

    Para obtener más información sobre Docker y los controladores de registro, consulta la documentación de Docker sobre cómo configurar controladores de registro.

    También puedes configurar el registro mediante PostgreSQL. Para obtener más información, consulta la documentación de PostgreSQL sobre informes de errores y registros.

    Montar un volumen de memoria compartida

    Si tienes previsto usar el motor de columnas de AlloyDB con AlloyDB Omni, te recomendamos que pongas la memoria compartida a disposición del contenedor de AlloyDB Omni. El método para hacerlo varía en función del sistema operativo del host, como se muestra en los siguientes ejemplos.

    Linux

    Para que el contenedor pueda acceder a la memoria compartida, monta /dev/shm:

       docker run --name CONTAINER_NAME \
         -e POSTGRES_PASSWORD=NEW_PASSWORD \
         -p HOST_PORT:5432 \
         -v /dev/shm:/dev/shm \
         -d google/alloydbomni:15.5.4

    macOS

    Para que el contenedor pueda acceder a la memoria compartida, incluye la marca --shm-size:

     docker run --name CONTAINER_NAME \
        -e POSTGRES_PASSWORD=NEW_PASSWORD \
        -p HOST_PORT:5432 \
        --shm-size=SHARED_MEMORY_SIZE \
        -d google/alloydbomni:15.5.4

    Sustituye SHARED_MEMORY_SIZE por el tamaño que quieras asignar a /dev/shm en el contenedor, con el formato descrito en Ejecutar contenedores. Por ejemplo, para especificar un gigabyte, usa el valor 1g.

    Te recomendamos que definas el tamaño de la memoria compartida en un número de megabytes igual al valor de la marca google_job_scheduler.max_parallel_workers_per_job de tu base de datos multiplicado por 250. Para obtener más información sobre el motor de columnas, consulta Configurar el motor de columnas en AlloyDB Omni.

    Por ejemplo, si la marca de base de datos google_job_scheduler.max_parallel_workers_per_job tiene el valor predeterminado 2, considera la posibilidad de añadir una marca con el valor --shm-size=500m o superior al iniciar el servidor de la base de datos.

    Para obtener más información sobre la marca --shm-size, consulta Ejecutar contenedores.