AlloyDB Omni-Cluster mit Barman wiederherstellen

Wählen Sie eine Dokumentationsversion aus:

Auf dieser Seite erfahren Sie, wie Sie einen AlloyDB Omni-Cluster mit einer Sicherung wiederherstellen, die mit Barman erstellt wurde, einem 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.

Hinweise

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

  • Ein Zieldatenbankserver, auf dem dieselbe Hauptversion von AlloyDB Omni wie auf dem Quelldatenbankserver ausgeführt wird. Weitere Informationen zur Installation 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.

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

  • 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.

  • Auf dem Zielserver ist genügend freier Speicherplatz für die wiederhergestellte Datenbank vorhanden.

Mit einer bestimmten Sicherung wiederherstellen

  1. Beenden Sie AlloyDB Omni auf dem Zielserver.

    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 Daten wiederherstellen möchten. Führen Sie den Befehl barman list-backups aus, um verfügbare Sicherungen aufzurufen. Wenn Sie Details zu einer bestimmten Sicherung aufrufen möchten, führen Sie den Befehl barman show-backup aus.

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

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

    Im folgenden Befehl wird die Verwendung von barman recover mit AlloyDB Omni veranschaulicht:

    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 die Wiederherstellung erfolgen 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

Stellen Sie nach dem Neustart des Dienstes eine Verbindung zu Ihrem AlloyDB Omni-Server her. Sie sollten Ihre wiederhergestellten Datenbanken und Daten sehen.

Wiederherstellung zu einem bestimmten Zeitpunkt

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

Der folgende Befehl zeigt ein Beispiel für die Verwendung von barman recover mit AlloyDB Omni mit einer Point-in-Time-Wiederherstellungsoption:

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 die Wiederherstellung erfolgen soll, die in einem vorherigen Schritt ermittelt wurde, z. B. 20230810T210200.

  • TARGET_TIMESTAMP: die Zeit, zu der die Wiederherstellung erfolgen soll, in einem beliebigen PostgreSQL-timestamp-Format, 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.