Personalizar a instalação do AlloyDB Omni

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

Para começar rapidamente a usar o AlloyDB Omni com a configuração padrão, consulte 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 recomendada do software
Linux
  • CPU x86-64 ou Arm (*) com suporte a AVX2
  • 8 GB de RAM para cada CPU alocada para o AlloyDB Omni
  • Mais de 20 GB de espaço em disco
  • SO baseado em Debian (Ubuntu etc.) ou RHEL 9
  • Kernel do Linux versão 6.1 ou mais recente ou qualquer kernel do Linux com versão anterior à 5.3 que ofereça 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 para o AlloyDB Omni
  • Mais de 20 GB de espaço em disco
  • Docker Desktop 4.30 ou mais recente
  • (*) O suporte a Arm está em Pré-lançamento.

    O AlloyDB Omni é executado em um contêiner. Instale um ambiente de execução de contêineres, como o Docker ou o 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, você pode configurar um bind mount 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 para atribuir a este 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.

    • 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 precisa publicar a própria porta 5432. Para usar a porta padrão do PostgreSQL na máquina host, 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 de processo para permitir que os processos críticos do PostgreSQL sejam executados com prioridade mais alta, 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 executa rotações de registro. Isso pode usar muito espaço em disco e, eventualmente, levar ao esgotamento do espaço em disco. É possível configurar o Docker para usar um driver de registro diferente. Por exemplo, para fazer login 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 os drivers de geração de registros, consulte a documentação do Docker Configurar drivers de geração de registros.

    Também é possível configurar a geração de registros usando o PostgreSQL. Para mais informações, consulte a documentação do PostgreSQL Relatórios e geração de registros de erros.

    Montar um volume de memória compartilhada

    Se você planeja usar o motor 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 Como executar contêineres. Por exemplo, para especificar um gigabyte, use o valor 1g.

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

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

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