AlloyDB Omni viene implementato tramite un'immagine Docker, che consente diverse forme di personalizzazione. Questa pagina mostra alcune delle personalizzazioni comuni utilizzate.
Per iniziare rapidamente con AlloyDB Omni utilizzando la configurazione predefinita, consulta la 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 |
|
|
macOS |
|
|
(*) Il supporto per le architetture ARM è in anteprima. |
AlloyDB Omni viene eseguito in un contenitore. Prima di installare AlloyDB Omni, installa un runtime del contenitore come Docker o Podman sulla tua macchina.
I comandi Podman sono forniti per un contenitore senza root in esecuzione su Security-Enhanced Linux (SELinux) disattivato.
Single-server
Montare una directory di dati esterna
Per impostazione predefinita, il comando nella Guida rapida: installa AlloyDB Omni archivia i dati del database in un'area gestita da Docker. Questa opzione è comoda per iniziare, ma rende difficile trovare e utilizzare la directory dei dati. In alternativa, puoi configurare un montaggio di unione per mappare la directory dei dati a una posizione nota sul 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
Sostituisci quanto segue:
CONTAINER_NAME
: il nome da assegnare a questo nuovo contenitore AlloyDB Omni nel registry dei contenitori della macchina host, ad esempiomy-omni
.NEW_PASSWORD
: la password assegnata all'utentepostgres
del nuovo contenitore dopo la sua creazione.DATA_DIR
: il percorso del file system che vuoi che AlloyDB Omni utilizzi per la sua directory di dati.HOST_PORT
: la porta TCP sulla macchina host a cui il contenitore pubblica la porta 5432. Per utilizzare anche la porta predefinita di PostgreSQL sulla macchina host, specifica5432
.
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
Sostituisci quanto segue:
CONTAINER_NAME
: il nome da assegnare a questo nuovo contenitore AlloyDB Omni nel registry dei contenitori della macchina host, ad esempiomy-omni
.NEW_PASSWORD
: la password assegnata all'utentepostgres
del nuovo contenitore dopo la sua creazione.DATA_DIR
: il percorso del file system che vuoi che AlloyDB Omni utilizzi per la sua directory di dati.HOST_PORT
: la porta TCP sulla macchina host a cui il contenitore pubblica la porta 5432. Per utilizzare anche la porta predefinita di PostgreSQL sulla macchina host, specifica5432
.
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
Sostituisci quanto segue:
CONTAINER_NAME
: il nome da assegnare a questo nuovo contenitore AlloyDB Omni nel registry dei contenitori della macchina host, ad esempiomy-omni
.NEW_PASSWORD
: la password assegnata all'utentepostgres
del nuovo contenitore dopo la sua creazione.DATA_DIR
: il percorso del file system che vuoi che AlloyDB Omni utilizzi per la sua directory di dati.HOST_PORT
: la porta TCP sulla macchina host a cui il contenitore pubblica la porta 5432. Per utilizzare anche la porta predefinita di PostgreSQL sulla macchina host, specifica5432
.
Attiva ulimits
I parametri ulimit specificano i limiti di processo che il container Docker può utilizzare. Per un rendimento ottimale, ti consigliamo di impostare i seguenti ulimit:
nice=-20:-20
: AlloyDB Omni regola le priorità dei processi per consentire l'esecuzione dei processi PostgreSQL critici con una priorità più elevata. La priorità più elevata assegna ai processi una maggiore allocazione delle CPU disponibili. Per modificare le priorità dei processi, specifica--ulimit=nice=-20:-20
, che rimuove le limitazioni per il contenitore AlloyDB Omni.memlock=-1:-1
: AlloyDB Omni esegue la gestione automatica della memoria. L'impostazione--ulimit=memlock=-1:-1
consente al database di controllare meglio il modo in cui le pagine di memoria vengono scambiate, il che può comportare un miglioramento delle prestazioni.
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
Specifica un driver di logging
Per impostazione predefinita, Docker non esegue la rotazione dei log. Ciò può occupare molto spazio su disco e, alla fine, portare all'esaurimento dello spazio su disco. Puoi configurare Docker per utilizzare un driver di logging diverso. Ad esempio, per eseguire il logging in journald:
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
Per ulteriori informazioni su Docker e sui driver di logging, consulta la documentazione di Docker Configurare i driver di logging.
Puoi anche configurare la registrazione utilizzando PostgreSQL. Per ulteriori informazioni, consulta la sezione Generare report e log degli errori della documentazione di PostgreSQL.
Montare un volume di memoria condivisa
Se prevedi di utilizzare l'engine a colonne di AlloyDB con AlloyDB Omni, ti consigliamo di rendere disponibile la memoria condivisa per il contenitore AlloyDB Omni. Il metodo per eseguire questa operazione varia a seconda del sistema operativo host, come mostrato negli esempi riportati di seguito.
Linux
Per rendere disponibile la memoria condivisa al contenitore, monta /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
Per rendere disponibile la memoria condivisa per il contenitore, includi il flag --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
Sostituisci SHARED_MEMORY_SIZE
con la dimensione da impostare per /dev/shm
sul
contenutore, nel formato descritto in Eseguire i container.
Ad esempio, per specificare un gigabyte, utilizza il valore 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
Sostituisci SHARED_MEMORY_SIZE
con la dimensione da impostare per /dev/shm
sul
contenutore, nel formato descritto in Eseguire i container.
Ad esempio, per specificare un gigabyte, utilizza il valore 1g
.
Ti consigliamo di impostare la dimensione della memoria condivisa su un numero di megabyte uguale almeno al valore del flag google_job_scheduler.max_parallel_workers_per_job
del database moltiplicato per 250. Per ulteriori informazioni sul motore a colonne, consulta Configurare il motore a colonne in AlloyDB Omni.
Ad esempio, se il flag del database google_job_scheduler.max_parallel_workers_per_job
è impostato sul valore predefinito 2
, ti consigliamo di aggiungere un flag di --shm-size=500m
o superiore all'avvio del server di database.
Per ulteriori informazioni sul flag --shm-size
, consulta Eseguire i contenitori.