AlloyDB Omni-Installation anpassen

Wählen Sie eine Dokumentationsversion aus:

AlloyDB Omni wird über ein Docker-Image bereitgestellt, das verschiedene Anpassungsmöglichkeiten bietet. Auf dieser Seite finden Sie einige der häufig verwendeten Anpassungen.

Eine Kurzanleitung für den schnellen Einstieg in AlloyDB Omni mit der Standardkonfiguration finden Sie unter Kurzanleitung: AlloyDB Omni.

Hinweise

In der folgenden Tabelle sind die empfohlenen Hardware- und Softwarekonfigurationen für AlloyDB Omni aufgeführt.

Betriebssystem/Plattform Empfohlene Hardwarekonfiguration Empfohlene Softwarekonfiguration
Linux
  • x86-64- oder Arm-CPU (*) mit AVX2-Unterstützung
  • 8 GB RAM für jede CPU, die AlloyDB Omni zugewiesen ist
  • Mindestens 20 GB Speicherplatz
  • Debian-basiertes Betriebssystem (Ubuntu usw.) oder RHEL 9
  • Linux-Kernel-Version 6.1 oder höher oder eine Linux-Kernel-Version vor 5.3, die die Direktiven MADV_COLLAPSE und MADV_POPULATE_WRITE unterstützt
  • Cgroupsv2 aktiviert
  • Docker Engine 25.0.0+ oder Podman 5.0.0+
  • macOS
  • Intel-CPU mit AVX2-Unterstützung oder M-Chip
  • 8 GB RAM für jede CPU, die AlloyDB Omni zugewiesen ist
  • Mindestens 20 GB Speicherplatz
  • Docker Desktop 4.30 oder höher
  • (*) Die Arm-Unterstützung befindet sich in der Vorschau.

    AlloyDB Omni wird in einem Container ausgeführt. Installieren Sie eine Container-Laufzeit wie Docker oder Podman auf Ihrem Computer, bevor Sie AlloyDB Omni installieren.

    Podman-Befehle werden für einen rootlosen Container bereitgestellt, der auf deaktiviertem Security-Enhanced Linux (SELinux) ausgeführt wird.

    Einzelserver

    Externes Datenverzeichnis bereitstellen

    Standardmäßig werden die Datenbankdaten durch den Befehl im Schnellstart: AlloyDB Omni installieren in einem von Docker verwalteten Bereich gespeichert. Das ist zwar praktisch für den Einstieg, erschwert aber das Auffinden und Verwenden des Datenverzeichnisses. Stattdessen können Sie einen Bind-Mount einrichten, um das Datenverzeichnis einem bekannten Speicherort auf Ihrer Festplatte zuzuordnen.

    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

    Ersetzen Sie Folgendes:

    • CONTAINER_NAME: Der Name, der diesem neuen AlloyDB Omni-Container in der Container-Registry Ihres Hostcomputers zugewiesen werden soll, z. B. my-omni.

    • NEW_PASSWORD: Das Passwort, das dem postgres-Nutzer des neuen Containers nach der Erstellung zugewiesen wurde.

    • DATA_DIR: Der Dateisystempfad, den AlloyDB Omni für sein Datenverzeichnis verwenden soll.

    • HOST_PORT: Der TCP-Port auf dem Hostcomputer, an den der Container Port 5432 veröffentlicht. Wenn Sie auch den PostgreSQL-Standardport auf dem Hostcomputer verwenden möchten, geben Sie 5432 an.

    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

    Ersetzen Sie Folgendes:

    • CONTAINER_NAME: Der Name, der diesem neuen AlloyDB Omni-Container in der Container-Registry Ihres Hostcomputers zugewiesen werden soll, z. B. my-omni.

    • NEW_PASSWORD: Das Passwort, das dem postgres-Nutzer des neuen Containers nach der Erstellung zugewiesen wurde.

    • DATA_DIR: Der Dateisystempfad, den AlloyDB Omni für sein Datenverzeichnis verwenden soll.

    • HOST_PORT: Der TCP-Port auf dem Hostcomputer, an den der Container Port 5432 veröffentlicht. Wenn Sie auch den PostgreSQL-Standardport auf dem Hostcomputer verwenden möchten, geben Sie 5432 an.

    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

    Ersetzen Sie Folgendes:

    • CONTAINER_NAME: Der Name, der diesem neuen AlloyDB Omni-Container in der Container-Registry Ihres Hostcomputers zugewiesen werden soll, z. B. my-omni.

    • NEW_PASSWORD: Das Passwort, das dem postgres-Nutzer des neuen Containers nach der Erstellung zugewiesen wurde.

    • DATA_DIR: Der Dateisystempfad, den AlloyDB Omni für sein Datenverzeichnis verwenden soll.

    • HOST_PORT: Der TCP-Port auf dem Hostcomputer, an den der Container Port 5432 veröffentlicht. Wenn Sie auch den PostgreSQL-Standardport auf dem Hostcomputer verwenden möchten, geben Sie 5432 an.

    ulimits aktivieren

    Die ulimit-Parameter geben Prozesslimits an, die der Docker-Container verwenden kann. Für eine optimale Leistung empfehlen wir, die folgenden Grenzwerte festzulegen:

    • nice=-20:-20: AlloyDB Omni passt die Prozessprioritäten an, damit wichtige PostgreSQL-Prozesse mit höherer Priorität ausgeführt werden können. Durch die höhere Priorität wird den Prozessen ein größerer Anteil der verfügbaren CPUs zugewiesen. Wenn Sie die Prozessprioritäten anpassen möchten, geben Sie --ulimit=nice=-20:-20 an. Dadurch werden Einschränkungen für den AlloyDB Omni-Container entfernt.

    • memlock=-1:-1: AlloyDB Omni führt automatische Speicherverwaltung durch. Wenn Sie --ulimit=memlock=-1:-1 festlegen, kann die Datenbank besser steuern, wie Speicherseiten ein- und ausgelagert werden. Das kann zu einer besseren Leistung führen.

    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

    Protokollierungstreiber angeben

    Standardmäßig führt Docker keine Logrotationen durch. Das kann viel Speicherplatz beanspruchen und schließlich zu einer Erschöpfung des Speicherplatzes führen. Sie können Docker so konfigurieren, dass ein anderer Logging-Treiber verwendet wird. So protokollieren Sie beispielsweise 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

    Weitere Informationen zu Docker und Logging-Treibern finden Sie in der Docker-Dokumentation unter Logging-Treiber konfigurieren.

    Sie können das Logging auch mit PostgreSQL konfigurieren. Weitere Informationen finden Sie in der PostgreSQL-Dokumentation unter Error reporting and logging.

    Volume für gemeinsam genutzten Arbeitsspeicher bereitstellen

    Wenn Sie die spaltenbasierte Engine von AlloyDB mit AlloyDB Omni verwenden möchten, empfehlen wir, dem AlloyDB Omni-Container gemeinsam genutzten Arbeitsspeicher zur Verfügung zu stellen. Die Methode dafür hängt vom Betriebssystem des Hosts ab, wie in den folgenden Beispielen gezeigt.

    Linux

    Damit der Container auf den freigegebenen Speicher zugreifen kann, müssen Sie /dev/shm einbinden:

    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

    Wenn Sie den freigegebenen Speicher für den Container verfügbar machen möchten, fügen Sie das Flag --shm-size ein:

    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

    Ersetzen Sie SHARED_MEMORY_SIZE durch die Größe, die für /dev/shm im Container festgelegt werden soll, im Format, das unter Container ausführen beschrieben wird. Wenn Sie beispielsweise ein Gigabyte angeben möchten, verwenden Sie den Wert 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

    Ersetzen Sie SHARED_MEMORY_SIZE durch die Größe, die für /dev/shm im Container festgelegt werden soll, im Format, das unter Container ausführen beschrieben wird. Wenn Sie beispielsweise ein Gigabyte angeben möchten, verwenden Sie den Wert 1g.

    Wir empfehlen, die Größe des gemeinsam genutzten Arbeitsspeichers auf eine Anzahl von Megabyte festzulegen, die mindestens dem 250-fachen des Werts des Flags google_job_scheduler.max_parallel_workers_per_job Ihrer Datenbank entspricht. Weitere Informationen zur spaltenbasierten Engine finden Sie unter Spaltenbasierte Engine in AlloyDB Omni konfigurieren.

    Wenn das Datenbank-Flag google_job_scheduler.max_parallel_workers_per_job beispielsweise auf den Standardwert 2 gesetzt ist, sollten Sie beim Starten des Datenbankservers ein Flag mit dem Wert --shm-size=500m oder höher hinzufügen.

    Weitere Informationen zum Flag --shm-size finden Sie unter Container ausführen.