Sie können Ihre AlloyDB Omni-Daten mit jeder Datenbanksicherungstechnologie schützen, die mit PostgreSQL funktioniert. Sie können AlloyDB Omni beispielsweise so konfigurieren, dass Verbindungen von einem von Ihnen gesteuerten Barman-Server zugelassen werden. So kann der Barman-Server kontinuierliche Sicherungen der auf Ihrem AlloyDB Omni-Server gespeicherten Daten durchführen.
Nachdem Sie Ihre Barman- und AlloyDB Omni-Server für die Zusammenarbeit konfiguriert haben, können Sie anschließend Barman-Befehle ausführen, um eine Vielzahl von Aufgaben zur Datensicherung und Notfallwiederherstellung auszuführen, darunter:
- Erstellen Sie eine bedarfsorientierte Sicherung Ihrer Daten.
- Richten Sie synchrones WAL-Streaming Ihrer Datenänderungen auf Ihrem Sicherungsserver ein.
- Aus einer bestimmten Sicherung wiederherstellen.
- Wiederherstellung zu einem bestimmten Zeitpunkt durchführen.
Weitere Informationen zur Funktionsweise von Barman finden Sie in der Barman-Dokumentation.
Hinweis
Bevor Sie AlloyDB Omni für die Verwendung mit Barman konfigurieren, benötigen Sie Folgendes:
AlloyDB Omni ist installiert und wird ausgeführt auf einem von Ihnen gesteuerten Server.
Barman ist installiert auf einem separaten Server. Der Server, auf dem Sie Barman installiert haben, muss über TCP mit dem AlloyDB Omni-Server kommunizieren können.
AlloyDB Omni für die Verwendung mit Barman konfigurieren
Führen Sie die folgenden Befehle auf dem Server aus, auf dem Sie AlloyDB Omni installiert haben, um Ihren AlloyDB Omni-Server für die Verwendung mit Barman vorzubereiten.
Erstellen Sie den Datenbanknutzer
barmanmit den entsprechenden Berechtigungen:Docker
docker exec CONTAINER_NAME psql -h localhost -U postgres -c " CREATE USER barman; GRANT EXECUTE ON FUNCTION pg_backup_start(text, boolean) to barman; GRANT EXECUTE ON FUNCTION pg_backup_stop(boolean) to barman; GRANT EXECUTE ON FUNCTION pg_switch_wal() to barman; GRANT EXECUTE ON FUNCTION pg_create_restore_point(text) to barman; GRANT pg_read_all_settings TO barman; GRANT pg_read_all_stats TO barman; CREATE USER streaming_barman WITH REPLICATION; "Ersetzen Sie
CONTAINER_NAMEdurch den Namen, den Sie dem AlloyDB Omni-Container bei der Installation zugewiesen haben.Podman
podman exec CONTAINER_NAME psql -h localhost -U postgres -c " CREATE USER barman; GRANT EXECUTE ON FUNCTION pg_backup_start(text, boolean) to barman; GRANT EXECUTE ON FUNCTION pg_backup_stop(boolean) to barman; GRANT EXECUTE ON FUNCTION pg_switch_wal() to barman; GRANT EXECUTE ON FUNCTION pg_create_restore_point(text) to barman; GRANT pg_read_all_settings TO barman; GRANT pg_read_all_stats TO barman; CREATE USER streaming_barman WITH REPLICATION; "Ersetzen Sie
CONTAINER_NAMEdurch den Namen, den Sie dem AlloyDB Omni-Container bei der Installation zugewiesen haben.Fügen Sie der Datei
DATA_DIR/pg_hba.confdie folgenden Zeilen vor der Zeilehost all all all scram-sha-256hinzu, die in der Datei vorhanden ist:host all barman BARMAN_IP/32 AUTHN_METHOD host replication streaming_barman BARMAN_IP/32 AUTHN_METHODErsetzen Sie Folgendes:
DATA_DIR: Der Dateisystempfad, der für das AlloyDB Omni-Datenverzeichnis verwendet wird.BARMAN_IP: Die IP-Adresse des Barman-Servers.AUTHN_METHOD: Die PostgreSQL-Authentifizierungsmethode, die Ihr AlloyDB for PostgreSQL-Server vom Barman-Server erwartet. Wir empfehlen einen der folgenden Werte:Verwenden Sie
trust, damit sich der Barman-Server ohne Passwort authentifizieren kann.Verwenden Sie
scram-sha-256, um ein Passwort vom Barman-Server anzufordern.
Fügen Sie der Datei
DATA_DIR/postgresql.confdie folgenden Zeilen hinzu:archive_command='/bin/true' archive_mode=on listen_addresses='*' wal_level='replica'Starten Sie den AlloyDB Omni-Dienst neu:
Docker
docker restart CONTAINER_NAMEPodman
podman restart CONTAINER_NAMEErsetzen Sie
CONTAINER_NAMEdurch den Namen, den Sie dem AlloyDB Omni-Container bei der Installation zugewiesen haben.Prüfen Sie mit dem folgenden Befehl, ob alle erforderlichen Parameter richtig festgelegt sind:
Docker
docker exec CONTAINER_NAME psql -h localhost -U postgres -c " SELECT name, setting FROM pg_catalog.pg_settings WHERE name IN ('archive_command', 'archive_mode', 'listen_addresses', 'wal_level') ORDER BY name;"Podman
podman exec CONTAINER_NAME psql -h localhost -U postgres -c " SELECT name, setting FROM pg_catalog.pg_settings WHERE name IN ('archive_command', 'archive_mode', 'listen_addresses', 'wal_level') ORDER BY name;"Die Ausgabe sieht so aus:
name | setting ------------------|----------- archive_command | /bin/true archive_mode | on listen_addresses | * wal_level | replica (4 rows)
Barman-Sicherungsserver einrichten
Führen Sie die folgenden Befehle auf Ihrem Barman-Server aus, um Barman für die Verwendung mit Ihrem AlloyDB Omni-Server einzurichten und zu konfigurieren.
Prüfen Sie, ob die Streaming-Replikationsverbindung funktioniert:
psql -h DATABASE_IP -U streaming_barman -c "IDENTIFY_SYSTEM" replication=1Die Ausgabe sieht etwa so aus:
systemid | timeline | xlogpos | dbname ---------------------+----------+------------+-------- 7265722823667040273 | 1 | 0/1F0AFCD0 | (1 row)Achten Sie darauf, dass Barman als Datenbanknutzer
barmaneine Verbindung zum AlloyDB Omni-Server herstellen kann.psql -t -h DATABASE_IP -U barman -d postgres -c "SELECT 'Connected as: '||current_user"Ersetzen Sie
DATABASE_IPdurch die IP-Adresse Ihres AlloyDB Omni-Servers.Die Ausgabe sieht etwa so aus:
Connected as: barmanKonfigurieren Sie den Barman-Sicherungsserver nach Ihren Anforderungen und Vorlieben.
Ihre Konfiguration muss die folgenden Einstellungen enthalten:
- Legen Sie
conninfofest, um als Nutzerbarmaneine Verbindung zur AlloyDB Omni-Datenbankpostgresherzustellen. - Legen Sie
streaming_conninfofest, um den Nutzerstreaming_barmanzu verwenden. - Konfigurieren Sie weitere Direktiven, die zum Aktivieren von WAL-Streaming erforderlich sind, wie in der Barman-Dokumentation beschrieben.
Das folgende minimale, aber vollständige Beispiel ändert ein Beispiel für die Streaming-Konfiguration aus der Barman-Dokumentation:
[CONFIGURATION_TAG] description = "Backup settings for my AlloyDB Omni server" conninfo = host=DATABASE_IP user=barman dbname=postgres streaming_conninfo = host=DATABASE_IP user=streaming_barman backup_method = postgres streaming_archiver = on slot_name = barmanErsetzen Sie Folgendes:
CONFIGURATION_TAG: Ein kurzes Tag zur Identifizierung dieser Serverkonfiguration beim Ausführen vonbarman-Befehlen, z. B.omni.DATABASE_IP: Die IP-Adresse Ihres AlloyDB Omni-Servers.
- Legen Sie
Wechseln Sie zum Nutzer
barman.sudo su - barmanVerwenden Sie den
barman receive-walBefehl, um einen Replikationsslot zu erstellen und dann einen WAL-Stream vom Datenbankserver zu empfangen:barman receive-wal --create-slot CONFIGURATION_TAGbarman receive-wal CONFIGURATION_TAG &Ersetzen Sie
CONFIGURATION_TAGdurch das Konfigurationstag, das Sie im vorherigen Schritt ausgewählt haben.
Barman ist jetzt für die Verwendung mit Ihrem AlloyDB Omni-Server konfiguriert. Informationen zum Prüfen des Replikationsstatus, zum Erstellen manueller Sicherungen und zum Ausführen anderer Aufgaben finden Sie unter Allgemeine Befehle.
Führen Sie beispielsweise den barman backup Befehl aus, um eine manuelle Sicherung zu erstellen.