Personalize a instalação do AlloyDB Omni

Selecione uma versão da documentação:

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

Para começar rapidamente com o AlloyDB Omni através da configuração predefinida, consulte o Início rápido: AlloyDB Omni.

Antes de começar

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

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

    O AlloyDB Omni é executado num contentor. Instale um tempo de execução de contentores, como o Docker ou o Podman, na sua máquina antes de instalar o AlloyDB Omni.

    Servidor único

    Monte um diretório de dados externo

    Por predefinição, o comando no Início rápido: instale o AlloyDB Omni armazena os dados da base de dados numa área gerida pelo Docker. Esta opção é conveniente para começar, mas dificulta a localização e a utilização do diretório de dados. Em alternativa, pode configurar uma montagem de ligação para mapear o diretório de dados para uma localização conhecida 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 o seguinte:

    • CONTAINER_NAME: o nome a atribuir a este novo contentor do AlloyDB Omni no registo de contentores da sua máquina anfitriã, por exemplo, my-omni.

    • NEW_PASSWORD: a palavra-passe atribuída ao utilizador postgres do novo contentor após a respetiva criação.

    • DATA_DIR: o caminho do sistema de ficheiros que quer que o AlloyDB Omni use para o respetivo diretório de dados.

    • HOST_PORT: a porta TCP na máquina anfitriã para a qual o contentor deve publicar a sua própria porta 5432. Para usar também a porta predefinida do PostgreSQL na máquina anfitriã, especifique 5432.

    Ative ulimits

    Os parâmetros ulimit especificam vários limites de processos que o contentor 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 uma prioridade mais elevada, ou seja, recebem uma maior atribuição de CPUs disponíveis. Para o permitir, especifique -20:-20, que remove as limitações para o contentor 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

    Especifique um controlador de registo

    Por predefinição, o Docker não faz rotações de registos. Esta ação pode consumir muito espaço em disco e, eventualmente, levar à exaustão do espaço em disco. Pode configurar o Docker para usar um controlador de registo diferente. Por exemplo, para registar 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 controladores de registo, consulte a documentação do Docker Configure logging drivers.

    Também pode configurar o registo através do PostgreSQL. Para mais informações, consulte a documentação do PostgreSQL Relatórios de erros e registo.

    Monte um volume de memória partilhada

    Se planeia usar o motor de colunas do AlloyDB com o AlloyDB Omni, recomendamos que disponibilize memória partilhada ao contentor do AlloyDB Omni. O método para o fazer varia consoante o sistema operativo do anfitrião, conforme mostrado nos exemplos seguintes.

    Linux

    Para disponibilizar a memória partilhada ao contentor, 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 partilhada ao contentor, 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 definir para /dev/shm no contentor, no formato descrito em Executar contentores. Por exemplo, para especificar um gigabyte, use o valor 1g.

    Recomendamos que defina o tamanho da memória partilhada para um número de megabytes igual a, pelo menos, o valor do seu banco de dados da flag google_job_scheduler.max_parallel_workers_per_job, multiplicado por 250. Para mais informações acerca do motor de colunas, consulte o artigo Configure o motor de colunas no AlloyDB Omni.

    Por exemplo, se a flag google_job_scheduler.max_parallel_workers_per_jobdatabase estiver definida para o valor predefinido de 2, considere adicionar uma flag de --shm-size=500m ou superior ao iniciar o servidor da base de dados.

    Para mais informações sobre a flag --shm-size, consulte o artigo Executar contentores.