Personalizar a instalação do AlloyDB Omni

Selecione uma versão da documentação:

O AlloyDB Omni é implantado por uma imagem Docker, o que permite diferentes formas de personalização. Esta página mostra algumas das personalizações comuns usadas.

Para começar a usar o AlloyDB Omni rapidamente com a configuração padrão, consulte o Guia de início rápido: AlloyDB Omni.

Antes de começar

A tabela a seguir lista a configuração recomendada de hardware e software para o AlloyDB Omni.

SO/plataforma Configuração de hardware recomendada Configuração de software recomendada
Linux
  • CPU x86-64 ou Arm (*) com suporte a AVX2
  • 8 GB de RAM para cada CPU alocada no AlloyDB Omni
  • 20 GB ou mais de espaço em disco
  • SO baseado em Debian (Ubuntu etc.) ou RHEL 9
  • Versão 6.1 ou mais recente do kernel do Linux ou qualquer versão anterior à 5.3 que tenha suporte às diretivas MADV_COLLAPSE e MADV_POPULATE_WRITE
  • Cgroupsv2 ativado
  • Docker Engine 25.0.0 ou mais recente ou Podman 5.0.0 ou mais recente
  • macOS
  • CPU Intel com suporte a AVX2 ou chip M
  • 8 GB de RAM para cada CPU alocada no AlloyDB Omni
  • 20 GB ou mais de espaço em disco
  • Docker Desktop 4.30 ou mais recente
  • (*) O suporte ao Arm está em Pré-lançamento.

    O AlloyDB Omni é executado em um contêiner. Instale um ambiente de execução de contêineres, como Docker ou Podman, na sua máquina antes de instalar o AlloyDB Omni.

    Servidor único

    Montar um diretório de dados externo

    Por padrão, o comando no Guia de início rápido: instalar o AlloyDB Omni armazena os dados do banco de dados em uma área gerenciada pelo Docker. Isso é conveniente para começar, mas dificulta a localização e o uso do diretório de dados. Em vez disso, configure uma vinculação de montagem para mapear o diretório de dados para um local conhecido no 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

    Substitua:

    • CONTAINER_NAME: o nome a ser atribuído a esse novo contêiner do AlloyDB Omni no registro de contêineres da máquina host. Por exemplo, my-omni.

    • NEW_PASSWORD: a senha atribuída ao usuário postgres do novo contêiner após a criação dele.

    • DATA_DIR: o caminho do sistema de arquivos que você quer que o AlloyDB Omni use para o diretório de dados.

    • HOST_PORT: a porta TCP na máquina host em que o contêiner vai publicar a própria porta 5432. Para usar a porta padrão do PostgreSQL na máquina host também, especifique 5432.

    Ativar ulimits

    Os parâmetros ulimit especificam vários limites de processo que o contêiner do Docker pode usar. Para um desempenho ideal, o AlloyDB Omni ajusta as prioridades dos processos para permitir que os processos críticos do PostgreSQL sejam executados com maior prioridade, ou seja, eles recebem uma alocação maior de CPUs disponíveis. Para permitir isso, especifique -20:-20, que remove as limitações do contêiner do 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 um driver de registro

    Por padrão, o Docker não faz rotações de registros. Isso pode consumir muito espaço em disco e, eventualmente, levar ao esgotamento do espaço. É possível configurar o Docker para usar um driver de geração de registros diferente. Por exemplo, para registrar no journald:

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

    Para mais informações sobre o Docker e drivers de geração de registros, consulte a documentação do Docker Configurar drivers de geração de registros.

    Também é possível configurar o registro em log usando o PostgreSQL. Para mais informações, consulte a documentação do PostgreSQL Relatórios e geração de registros de erros (em inglês).

    Montar um volume de memória compartilhada

    Se você planeja usar o mecanismo colunar do AlloyDB com o AlloyDB Omni, recomendamos disponibilizar a memória compartilhada para o contêiner do AlloyDB Omni. O método para fazer isso varia de acordo com o sistema operacional do host, conforme mostrado nos exemplos a seguir.

    Linux

    Para disponibilizar a memória compartilhada ao contêiner, monte /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 disponibilizar a memória compartilhada ao contêiner, inclua a flag --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

    Substitua SHARED_MEMORY_SIZE pelo tamanho a ser definido para /dev/shm no contêiner, no formato descrito em Execução de contêineres. Por exemplo, para especificar um gigabyte, use o valor 1g.

    Recomendamos definir o tamanho da memória compartilhada como um número de megabytes igual a pelo menos o valor da flag google_job_scheduler.max_parallel_workers_per_job do banco de dados, multiplicado por 250. Para mais informações sobre o mecanismo colunar, consulte Configurar o mecanismo colunar no AlloyDB Omni.

    Por exemplo, se a flag google_job_scheduler.max_parallel_workers_per_job do banco de dados estiver definida como o valor padrão 2, considere adicionar uma flag de --shm-size=500m ou maior ao iniciar o servidor de banco de dados.

    Para mais informações sobre a flag --shm-size, consulte Executar contêineres.