Personaliza 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 comunes que se usan.

Para comenzar rápidamente con AlloyDB Omni usando la configuración predeterminada, consulta la Guía de inicio rápido: AlloyDB Omni.

Antes de comenzar

En la siguiente tabla, se enumeran las configuraciones de hardware y software recomendadas 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 para cada CPU asignada a AlloyDB Omni
  • Más de 20 GB 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 del kernel de Linux anterior a la 5.3 que admita las directivas MADV_COLLAPSE y MADV_POPULATE_WRITE
  • Cgroupsv2 habilitado
  • Docker Engine 25.0.0 o posterior, o Podman 5.0.0 o posterior
  • macOS
  • CPU Intel con compatibilidad con AVX2 o chip M
  • 8 GB de RAM para cada CPU asignada a AlloyDB Omni
  • Más de 20 GB de espacio en disco
  • Docker Desktop 4.30 o versiones posteriores
  • (*) La compatibilidad con Arm se encuentra 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.

    Se proporcionan comandos de Podman para un contenedor sin permisos de administrador que se ejecuta en Security-Enhanced Linux (SELinux) inhabilitado.

    Un solo servidor

    Cómo activar un directorio de datos externo

    De forma predeterminada, el comando del inicio rápido para instalar AlloyDB Omni almacena los datos de la base de datos en un área administrada por Docker. Esto es conveniente para comenzar, pero dificulta encontrar y usar el directorio de datos. En su lugar, puedes configurar una vinculación de montaje para asignar el directorio de datos a una ubicación conocida en tu disco.

    Docker

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

    Reemplaza lo siguiente:

    • CONTAINER_NAME: Es el nombre que se le asignará a este nuevo contenedor de AlloyDB Omni en el registro de contenedores de tu máquina anfitrión, por ejemplo, my-omni.

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

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

    • HOST_PORT: Es el puerto TCP en la máquina anfitrión al que el contenedor publica el puerto 5432. Para usar el puerto predeterminado de PostgreSQL en la máquina anfitrión también, especifica 5432.

    Podman

    podman 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.5

    Reemplaza lo siguiente:

    • CONTAINER_NAME: Es el nombre que se le asignará a este nuevo contenedor de AlloyDB Omni en el registro de contenedores de tu máquina anfitrión, por ejemplo, my-omni.

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

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

    • HOST_PORT: Es el puerto TCP en la máquina anfitrión al que el contenedor publica el puerto 5432. Para usar el puerto predeterminado de PostgreSQL en la máquina anfitrión también, especifica 5432.

    Podman

    podman 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.5

    Reemplaza lo siguiente:

    • CONTAINER_NAME: Es el nombre que se le asignará a este nuevo contenedor de AlloyDB Omni en el registro de contenedores de tu máquina anfitrión, por ejemplo, my-omni.

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

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

    • HOST_PORT: Es el puerto TCP en la máquina anfitrión al que el contenedor publica el puerto 5432. Para usar el puerto predeterminado de PostgreSQL en la máquina anfitrión también, especifica 5432.

    Habilita los límites de usuario

    Los parámetros de ulimit especifican los límites de proceso que puede usar el contenedor de Docker. Para obtener un rendimiento óptimo, te recomendamos que establezcas los siguientes límites de usuario:

    • nice=-20:-20: AlloyDB Omni ajusta las prioridades de los procesos para permitir que los procesos críticos de PostgreSQL se ejecuten con mayor prioridad. La mayor prioridad les otorga a los procesos una mayor asignación de las CPUs disponibles. Para ajustar las prioridades del proceso, especifica --ulimit=nice=-20:-20, lo que quita las limitaciones del contenedor de AlloyDB Omni.

    • memlock=-1:-1: AlloyDB Omni realiza la administración automática de la memoria. Establecer --ulimit=memlock=-1:-1 permite que la base de datos controle mejor cómo se intercambian las páginas de memoria, lo que puede generar un mejor rendimiento.

    Docker

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

    Podman

    podman run --name CONTAINER_NAME \
    -e POSTGRES_PASSWORD=NEW_PASSWORD \
    --ulimit=nice=-20:-20 --ulimit=memlock=-1:-1 \
    -p HOST_PORT:5432 -d google/alloydbomni:15.5.5

    Cómo especificar un controlador de registro

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

    Docker

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

    Podman

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

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

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

    Cómo activar un volumen de memoria compartida

    Si planeas usar el motor de columnas de AlloyDB con AlloyDB Omni, te recomendamos que la memoria compartida esté disponible para el contenedor de AlloyDB Omni. El método para hacerlo difiere según el sistema operativo del host, como se muestra en los siguientes ejemplos.

    Linux

    Para que la memoria compartida esté disponible para el contenedor, activa /dev/shm:

    Docker

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

    Podman

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

    macOS

    Para que la memoria compartida esté disponible para el contenedor, incluye la marca --shm-size:

    Docker

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

    Reemplaza SHARED_MEMORY_SIZE por el tamaño que se establecerá para /dev/shm en el contenedor, en el formato que se describe en Cómo ejecutar contenedores. Por ejemplo, para especificar un gigabyte, usa el valor 1g.

    Podman

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

    Reemplaza SHARED_MEMORY_SIZE por el tamaño que se establecerá para /dev/shm en el contenedor, en el formato que se describe en Cómo ejecutar contenedores. Por ejemplo, para especificar un gigabyte, usa el valor 1g.

    Te recomendamos que establezcas el tamaño de la memoria compartida en una cantidad de megabytes igual a, al menos, el 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 Cómo 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 está establecida en su valor predeterminado de 2, considera agregar una marca de --shm-size=500m o superior cuando inicies el servidor de la base de datos.

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