Personalizzare l'installazione di AlloyDB Omni

Seleziona una versione della documentazione:

AlloyDB Omni viene eseguito tramite un'immagine Docker, che consente diverse forme di personalizzazione. Questa pagina mostra alcune delle personalizzazioni comuni utilizzate.

Per iniziare rapidamente a utilizzare AlloyDB Omni con la configurazione predefinita, consulta Guida rapida: AlloyDB Omni.

Prima di iniziare

La tabella seguente elenca la configurazione hardware e software consigliata per AlloyDB Omni.

Sistema operativo/piattaforma Configurazione hardware consigliata Configurazione software consigliata
Linux
  • CPU x86-64 o Arm (*) con supporto AVX2
  • 8 GB di RAM per ogni CPU allocata ad AlloyDB Omni
  • Più di 20 GB di spazio su disco
  • Sistema operativo basato su Debian (Ubuntu e così via) o RHEL 9
  • Versione kernel Linux 6.1 o successive o qualsiasi versione kernel Linux precedente alla 5.3 che supporti le direttive MADV_COLLAPSE e MADV_POPULATE_WRITE
  • Cgroupsv2 attivato
  • Docker Engine 25.0.0+ o Podman 5.0.0+
  • macOS
  • CPU Intel con supporto AVX2 o chip M
  • 8 GB di RAM per ogni CPU allocata ad AlloyDB Omni
  • Più di 20 GB di spazio su disco
  • Docker Desktop 4.30 o versioni successive
  • (*) Il supporto di Arm è in anteprima.

    AlloyDB Omni viene eseguito in un container. Installa un runtime del container come Docker o Podman sulla tua macchina prima di installare AlloyDB Omni.

    Server singolo

    Monta una directory di dati esterni

    Per impostazione predefinita, il comando in Guida rapida: installa AlloyDB Omni archivia i dati del database in un'area gestita da Docker. Questa operazione è utile per iniziare, ma rende difficile trovare e utilizzare la directory dei dati. In alternativa, puoi configurare un montaggio di binding per mappare la directory dei dati a una posizione nota sul 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

    Sostituisci quanto segue:

    • CONTAINER_NAME: il nome da assegnare a questo nuovo container AlloyDB Omni nel registro dei container della macchina host, ad esempio my-omni.

    • NEW_PASSWORD: la password assegnata all'utente postgres del nuovo container dopo la sua creazione.

    • DATA_DIR: il percorso del file system che vuoi che AlloyDB Omni utilizzi per la directory dei dati.

    • HOST_PORT: la porta TCP sulla macchina host a cui il container deve pubblicare la propria porta 5432. Per utilizzare anche la porta predefinita di PostgreSQL sulla macchina host, specifica 5432.

    Attiva ulimits

    I parametri ulimit specificano vari limiti di processo che il container Docker è autorizzato a utilizzare. Per prestazioni ottimali, AlloyDB Omni regola le priorità dei processi per consentire ai processi PostgreSQL critici di essere eseguiti con una priorità più alta, ovvero di ottenere una maggiore allocazione delle CPU disponibili. Per consentire questa operazione, specifica -20:-20, che rimuove le limitazioni per il container 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

    Specifica un driver di logging

    Per impostazione predefinita, Docker non esegue rotazioni dei log. Questa operazione può utilizzare una grande quantità di spazio su disco e, alla fine, portare all'esaurimento dello spazio su disco. Puoi configurare Docker in modo che utilizzi un driver di logging diverso. Ad esempio, per eseguire il logging in journald:

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

    Per ulteriori informazioni su Docker e sui driver di logging, consulta la documentazione di Docker Configurare i driver di logging.

    Puoi anche configurare il logging utilizzando PostgreSQL. Per ulteriori informazioni, consulta la documentazione di PostgreSQL Segnalazione degli errori e logging.

    Monta un volume di memoria condivisa

    Se prevedi di utilizzare il motore colonnare AlloyDB con AlloyDB Omni, ti consigliiamo di rendere disponibile la memoria condivisa per il container AlloyDB Omni. Il metodo per farlo varia a seconda del sistema operativo host, come mostrato negli esempi seguenti.

    Linux

    Per rendere disponibile la memoria condivisa per il container, 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

    Per rendere disponibile la memoria condivisa per il container, includi il 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

    Sostituisci SHARED_MEMORY_SIZE con le dimensioni da impostare per /dev/shm nel container, nel formato descritto in Esecuzione di container. Ad esempio, per specificare un gigabyte, utilizza il valore 1g.

    Ti consigliamo di impostare le dimensioni della memoria condivisa su un numero di megabyte pari a almeno il valore del database per il flag google_job_scheduler.max_parallel_workers_per_job, moltiplicato per 250. Per ulteriori informazioni sul motore colonnare, consulta Configurare il motore colonnare in AlloyDB Omni.

    Ad esempio, se il flag del database google_job_scheduler.max_parallel_workers_per_job è impostato sul valore predefinito 2, valuta la possibilità di aggiungere un flag --shm-size=500m o superiore quando avvii il server di database.

    Per ulteriori informazioni sul flag --shm-size, consulta Esecuzione di container.