AlloyDB Omni für die Produktion einrichten

Wählen Sie eine Dokumentationsversion aus:

Auf dieser Seite finden Sie allgemeine Einstellungen für die Verwendung von AlloyDB Omni für Produktionsarbeitslasten.

Große Seiten aktivieren

AlloyDB Omni unterstützt wie PostgreSQL die Verwendung von Huge Pages. Dazu müssen auf Ihrem Computer Huge Pages aktiviert sein. Außerdem müssen Sie die Datenbankeinstellung huge_pages aktivieren.

  1. Führen Sie das bereitgestellte Skript aus, um auf Ihrem Computer große Seiten zu aktivieren:

    Docker

    docker run --rm --privileged google/alloydbomni setup-host
    

    Docker

    docker run --rm --privileged google/alloydbomni setup-host
    

    Podman

    podman run --rm --privileged google/alloydbomni setup-host
    

    Podman

    podman run --rm --privileged google/alloydbomni setup-host
    
  2. Fügen Sie Ihrem postgresql.conf die folgende Zeile hinzu, um große Seiten zu aktivieren:

      huge_pages=on
    

Tauschen aktivieren

Durch das Auslagern im Betriebssystem kann der verfügbare physische Arbeitsspeicher erweitert werden, indem inaktive Speicherseiten zwischen dem Arbeitsspeicher (RAM) und der Festplatte verschoben werden, um RAM-Speicherplatz für aktive Prozesse freizugeben. AlloyDB Omni verwendet Swapping, wenn die Last hoch ist und zusätzlicher Arbeitsspeicher benötigt wird.

So prüfen Sie, wie viel Auslagerungsspeicher auf Ihrem System aktiviert ist:

   cat /proc/meminfo | grep SwapTotal

Die Ausgabe sieht dann ungefähr so aus:

   SwapTotal:      165748732 kB

Wenn der Ausgabewert 0 ist, können Sie das Swapping in Ihrem Betriebssystem so aktivieren:

Core Dumps aktivieren

Wenn in AlloyDB Omni ein nicht behebbarer Fehler auftritt und das System abstürzt, ist es hilfreich, einen Core-Dump zur Analyse zu haben. Ein Core-Dump ist ein Snapshot des Speichers des AlloyDB Omni-Prozesses zum Zeitpunkt des Absturzes.

So richten Sie Core-Dumps ein:kernel.core_pattern

  1. Verwenden Sie den Befehl sysctl, um Laufzeit-Kernelparameter zu konfigurieren.
  2. Wenn Sie kernel.core_pattern sofort festlegen möchten, verwenden Sie:

    sysctl -w kernel.core_pattern="CORE_PATTERN"

    Ersetzen Sie CORE_PATTERN durch ein Muster für den Core-Dateinamen, z. B. „%e-%t.core“.

    Weitere Informationen zu den wichtigsten Dateinamenmustern finden Sie unter Dateinamen für Prozesskerne festlegen.

    Mit dem systemd-coredump-Handler können Sie die Coredump-Einstellungen weiter konfigurieren. Das Tool ist standardmäßig in RHEL installiert. Führen Sie auf Debian- und Ubuntu-Systemen sudo apt install coredumpctl aus, um das Tool zu installieren.

    Wenn Sie AlloyDB Omni starten, müssen Sie das Argument --ulimit=core:-1:-1 im Befehl docker run übergeben:

    Docker

    docker run --name CONTAINER_NAME \
    -e POSTGRES_PASSWORD=NEW_PASSWORD \
    --ulimit=core:-1:-1 \
    -p HOST_PORT:5432 -d google/alloydbomni
    

    Docker

    docker run --name CONTAINER_NAME \
    -e POSTGRES_PASSWORD=NEW_PASSWORD \
    --ulimit=core:-1:-1 \
    -p HOST_PORT:5432 -d google/alloydbomni
    

    Podman

    podman run --name CONTAINER_NAME \
    -e POSTGRES_PASSWORD=NEW_PASSWORD \
    --ulimit=core:-1:-1 \
    -p HOST_PORT:5432 -d google/alloydbomni
    

    Podman

    podman run --name CONTAINER_NAME \
    -e POSTGRES_PASSWORD=NEW_PASSWORD \
    --ulimit=core:-1:-1 \
    -p HOST_PORT:5432 -d google/alloydbomni
    

    Ersetzen Sie Folgendes:

    • CONTAINER_NAME: Der Name eines neuen AlloyDB Omni-Containers, z. B. my-omni-1.
    • NEW_PASSWORD: Das Passwort, das dem postgres-Nutzer des neuen Containers nach der Passwortgenerierung zugewiesen wurde.

Internes Logging aktivieren

AlloyDB Omni bietet zusätzlich zu den regulären PostgreSQL-Logs weitere Meldungen. Diese Nachrichten sind aufgrund ihrer technischen Natur für den AlloyDB for PostgreSQL-Support vorgesehen. Zusätzliche Informationen können jedoch beim Debuggen von Datenbankproblemen hilfreich sein.

So aktivieren Sie das interne Logging:

  1. Legen Sie den Datenbankparameter enable_alloydb_internal_log auf on fest:

      ALTER SYSTEM SET enable_alloydb_internal_log=on;
    

    Weitere Informationen zum Ändern von AlloyDB Omni-Einstellungen finden Sie unter AlloyDB Omni-Datenbankparameter konfigurieren.

  2. Zum Übernehmen der Änderungen neu starten:

    Docker

    docker restart CONTAINER_NAME
    

    Docker

    docker restart CONTAINER_NAME
    

    Podman

    podman restart CONTAINER_NAME
    

    Podman

    podman restart CONTAINER_NAME
    

Wenn Sie das interne Logging weiter anpassen möchten, z. B. durch Konfigurieren von Logdateinamen und Rotationsrichtlinien, verwenden Sie PostgreSQL-Parameter.

Mit dem Parameter log_directory wird beispielsweise das Verzeichnis angegeben, in dem eine Logdatei gespeichert werden soll, und mit dem Parameter log_filename wird der Name der einzelnen Logdatei definiert.

In AlloyDB Omni werden die Parameter log_directory und log_filename kombiniert und interne Logs werden so gespeichert:

LOG_DIRECTORY/LOG_FILENAME.internal

Systemd-Units einrichten, um Vorgänge automatisch auszuführen

Wenn Sie AlloyDB Omni auf einem dedizierten Server ausführen, können Sie bestimmte Vorgänge so konfigurieren, dass sie beim Start des Servers automatisch gestartet werden. Eine Möglichkeit dazu sind systemd-Einheiten.

Mit den folgenden Schritten wird beispielsweise systemd so konfiguriert, dass große Seiten automatisch aktiviert werden, wenn der Server hochgefahren wird.

  1. Erstellen Sie eine Datei in /etc/systemd/system/alloydb-setup-env.service:

      [Unit]
      Description=Setup huge pages for AlloyDB Omni
    
      [Service]
      Type=oneshot
    
      ExecStart=/usr/bin/docker run --rm --privileged google/alloydbomni setup-host
    
      [Install]
      WantedBy=multi-user.target
    
  2. So aktivieren Sie den Dienst:

      sudo systemctl enable alloydb-setup-env.service

Nächste Schritte