AlloyDB Omni-Cluster mit Barman wiederherstellen

Wählen Sie eine Dokumentenversion aus:

Auf dieser Seite wird beschrieben, wie Sie einen AlloyDB Omni-Cluster mithilfe einer Sicherung wiederherstellen, die mit Barman erstellt wurde. Barman ist ein Open-Source-Datenbanksicherungsserver.

Da AlloyDB Omni mit PostgreSQL kompatibel ist, gelten die im Barman-Handbuch beschriebenen Befehle und Techniken zur Datenwiederherstellung auch für AlloyDB Omni. Auf dieser Seite werden einige häufige Wiederherstellungsaufgaben mit Beispielen für relevante Befehle beschrieben.

Weitere Informationen zum Konfigurieren von Barman für die Verwendung mit AlloyDB Omni finden Sie unter Barman für AlloyDB Omni einrichten.

Hinweis

Bevor Sie Ihre AlloyDB Omni-Daten wiederherstellen, benötigen Sie Folgendes:

  • Einen Zieldatenbankserver, auf dem dieselbe Hauptversion von AlloyDB Omni ausgeführt wird wie auf dem Quelldatenbankserver. Weitere Informationen zum Installieren von AlloyDB Omni finden Sie unter AlloyDB Omni installieren.

    Der Zielserver kann derselbe Computer wie der Quellserver sein.

  • Das Dienstprogramm rsync, das auf dem Zielserver installiert ist.

  • Einen Barman-Sicherungsserver mit mindestens einer gültigen Barman-Sicherung der AlloyDB Omni-Quelldatenbank.

  • Eine SSH-Verbindung zwischen dem Barman-Sicherungsserver und dem Zielserver.

  • SSH-Schlüssel, die so eingerichtet sind, dass sich der barman-Nutzer auf dem Barman-Server ohne Passwort als postgres-Nutzer auf dem Zielserver authentifizieren kann.

  • Genügend freier Speicherplatz auf dem Zielserver für die wiederhergestellte Datenbank.

Mit einer bestimmten Sicherung wiederherstellen

  1. Beenden Sie auf dem Zielserver AlloyDB Omni.

    Docker

     docker stop CONTAINER_NAME

    Ersetzen Sie CONTAINER_NAME durch den Namen, den Sie dem AlloyDB Omni-Container bei der Installation zugewiesen haben, z. B. my-omni.

    Podman

     podman stop CONTAINER_NAME

    Ersetzen Sie CONTAINER_NAME durch den Namen, den Sie dem AlloyDB Omni-Container bei der Installation zugewiesen haben, z. B. my-omni.

  2. Wählen Sie auf dem Barman-Server eine Sicherung aus, aus der Sie wiederherstellen möchten. Führen Sie den barman list-backups Befehl aus, um die verfügbaren Sicherungen aufzurufen. Führen Sie den barman show-backup Befehl aus, um Details zu einer bestimmten Sicherung aufzurufen.

  3. Führen Sie den barman recover Befehl aus, um die ausgewählte Sicherung auf dem AlloyDB Omni-Zielserver wiederherzustellen.

    Fügen Sie beim Ausführen des Befehls Folgendes ein:

    Der folgende Befehl zeigt ein Beispiel für die Verwendung von barman recover mit AlloyDB Omni:

    barman recover --remote-ssh-command "ssh postgres@TARGET_IP" TARGET_LABEL BACKUP_ID DATA_PATH

    Ersetzen Sie Folgendes:

    • TARGET_IP: die IP-Adresse des Zielservers.

    • TARGET_LABEL: das Label, das Sie dem Server in der Konfigurationsdatei von Barman zugewiesen haben.

    • BACKUP_ID: die ID der Sicherung, aus der wiederhergestellt werden soll, die in einem vorherigen Schritt ermittelt wurde, z. B. 20230810T210200.

    • DATA_PATH: der Pfad zum Unterverzeichnis data des Datenverzeichnisses des Zielservers, z. B. /home/your-username/alloydb-data/data.

  4. Starten Sie auf dem AlloyDB Omni-Zieldatenbankserver den Dienst:

    Docker

    docker start CONTAINER_NAME

    Podman

    podman start CONTAINER_NAME

Nachdem der Dienst neu gestartet wurde, stellen Sie eine Verbindung zu Ihrem AlloyDB Omni-Server her. Sie sollten Ihre wiederhergestellten Datenbanken und Daten sehen.

Zu einem bestimmten Zeitpunkt wiederherstellen

Führen Sie für eine Wiederherstellung zu einem bestimmten Zeitpunkt dieselben Schritte aus, die im vorherigen Abschnitt beschrieben sind, mit einer Änderung. Wenn Sie den Befehl barman recover ausführen, müssen Sie auch eine der Barman-Optionen für die Wiederherstellung zu einem bestimmten Zeitpunkt angeben.

Der folgende Befehl zeigt ein Beispiel für die Verwendung von barman recover mit AlloyDB Omni mit einer Option für die Wiederherstellung zu einem bestimmten Zeitpunkt:

barman recover --remote-ssh-command "ssh postgres@TARGET_IP" TARGET_LABEL BACKUP_ID --target-time="RESTORE_TIMESTAMP" DATA_PATH

Ersetzen Sie Folgendes:

  • TARGET_IP: die IP-Adresse des Zielservers.

  • TARGET_LABEL: das Label, das Sie dem Server in der Konfigurationsdatei von Barman zugewiesen haben.

  • BACKUP_ID: die ID der Sicherung, aus der wiederhergestellt werden soll, die in einem vorherigen Schritt ermittelt wurde, z. B. 20230810T210200.

  • TARGET_TIMESTAMP: der Zeitpunkt, zu dem die Wiederherstellung erfolgen soll, in einem beliebigen PostgreSQL-timestampFormat, das sowohl ein Datum als auch eine Uhrzeit angibt, z. B. 2024-02-06 00:00:00.

  • DATA_PATH: der Pfad zum Unterverzeichnis data des Datenverzeichnisses des Zielservers, z. B. /home/your-username/alloydb-data/data.