Auf dieser Seite erfahren Sie, wie Sie einen AlloyDB Omni-Cluster mit einer Sicherung wiederherstellen, die mit Barman, einem Open-Source-Datenbanksicherungsserver, erstellt wurde.
Da AlloyDB Omni mit PostgreSQL kompatibel ist, gelten die im Barman-Handbuch beschriebenen Befehle und Verfahren zur Datenwiederherstellung auch für AlloyDB Omni. Auf dieser Seite werden einige gängige Wiederherstellungsaufgaben mit Beispielen für relevante Befehle veranschaulicht.
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, müssen Sie Folgendes tun:
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 mit dem Quellserver identisch sein.
Das Dienstprogramm
rsync
, das auf dem Zielserver installiert ist.Einen Barman-Sicherungsserver mit mindestens einer gültigen Barman-Sicherung der Quell-AlloyDB Omni-Datenbank.
SSH-Verbindung zwischen dem Barman-Sicherungsserver und dem Zielserver
SSH-Schlüssel, die so eingerichtet sind, dass sich der Nutzer
barman
auf dem Barman-Server ohne Passwort als Nutzerpostgres
beim Zielserver authentifizieren kann.Auf dem Zielserver muss genügend freier Speicherplatz für die wiederhergestellte Datenbank vorhanden sein.
Wiederherstellung mit einer bestimmten Sicherung
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
.Wählen Sie auf dem Barman-Server eine Sicherung aus, aus der Sie wiederherstellen möchten. Führen Sie den Befehl
barman list-backups
aus, um die verfügbaren Sicherungen aufzurufen. Führen Sie den Befehlbarman show-backup
aus, um Details zu einer bestimmten Sicherung aufzurufen.Führen Sie den Befehl
barman recover
aus, um die ausgewählte Sicherung auf dem Ziel-AlloyDB Omni-Server wiederherzustellen.Fügen Sie beim Ausführen des Befehls Folgendes ein:
- Verwenden Sie die Option zur Remotewiederherstellung.
- Geben Sie das Datenverzeichnis des Zielservers als Zielverzeichnis an.
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 wiederhergestellt werden soll, die Sie in einem vorherigen Schritt angegeben haben, z. B.20230810T210200
.DATA_PATH
: der Pfad zum Unterverzeichnisdata
des Datenverzeichnisses des Zielservers, z. B./home/your-username/alloydb-data/data
.
Starten Sie den Dienst auf dem AlloyDB Omni-Zieldatenbankserver:
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 die wiederhergestellten Datenbanken und Daten sehen.
Wiederherstellung zu einem bestimmten Zeitpunkt
Führen Sie zum Ausführen einer Wiederherstellung zu einem bestimmten Zeitpunkt die im vorherigen Abschnitt aufgeführten Schritte aus, mit einer Ausnahme: Wenn Sie den Befehl barman recover
ausführen, müssen Sie auch eine der Point-in-Time-Wiederherstellungsoptionen von Barman angeben.
Im folgenden Befehl wird die Verwendung von barman recover
mit AlloyDB Omni mit einer Option zur Wiederherstellung eines bestimmten Zeitpunkts veranschaulicht:
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 Sie in einem vorherigen Schritt angegeben haben, z. B.20230810T210200
.TARGET_TIMESTAMP
: Zeitpunkt der Wiederherstellung 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 Unterverzeichnisdata
des Datenverzeichnisses des Zielservers, z. B./home/your-username/alloydb-data/data
.