alloydbctl und Ansible zusammen, um diese Manifestkonfigurationen anzuwenden und Sicherungen in Cloud Storage, Standard-Amazon S3-Buckets oder S3-kompatibler Software wie MinIO zu automatisieren.
Wenn Sie die kontinuierliche Sicherung und Wiederherstellung von AlloyDB Omni aktivieren möchten, müssen Sie für jeden Datenbankcluster einen Sicherungsplan erstellen. Sicherungen werden gemäß den in der BackupPlan-Ressource definierten Sicherungszeitplänen erstellt. Sie können die Wiederherstellung mit einer Backup-Ressource oder mit einem beliebigen Zeitstempel im Wiederherstellungszeitraum mit einem Detaillierungsgrad von Sekunden durchführen.
In AlloyDB Omni werden automatische Sicherungen und die Wiederherstellung über Manifeste verwaltet:
BackupPlan: Jeder Datenbankcluster kann ein oder mehrereBackupPlan-Manifeste mit unterschiedlichen Konfigurationen und Zeitplänen für die verschiedenen Sicherungsebenen haben.Backup: Startet Vollsicherungen, differenzielle oder inkrementelle Sicherungen basierend auf IhrenBackupPlan-Manifesten.Restore: Startet eine In-Place-Wiederherstellung Ihres Datenbankclusters mit einer bestimmten Sicherung oder einem bestimmten Zeitpunkt.
Hinweis
Bevor Sie Ihren Sicherungsplan einrichten und konfigurieren, benötigen Sie Folgendes:
Speicherort für Ihre Sicherungen: AlloyDB Omni speichert Sicherungen in einer der folgenden Speicheroptionen:
- Cloud Storage: Ein Cloud Storage-Bucket. Informationen zum Erstellen von Buckets finden Sie unter Bucket erstellen.
- Amazon S3: Ein Amazon S3-Bucket. Informationen zum Erstellen von S3-Buckets finden Sie unter Bucket erstellen.
- S3-kompatibler Speicher: Ein Bucket in S3-kompatibler Software wie MinIO. Informationen zum Erstellen von MinIO-Buckets finden Sie in der MinIO-Dokumentation.
Authentifizierungsanmeldedaten: Wenn für Ihre Speicheroption Authentifizierungsschlüssel wie Amazon S3, MinIO oder Cloud Storage mit einem bestimmten Dienstkonto erforderlich sind, müssen Sie vor dem Erstellen des Sicherungsplans eine
Secret-Ressource mit diesen Anmeldedaten erstellen. Eine Anleitung finden Sie unter Secret-Ressource zum Authentifizieren des Speichers erstellen.
Secret-Ressource zum Authentifizieren des Speichers erstellen
Wenn für den von Ihnen verwendeten Speicher eine Authentifizierung erforderlich ist, müssen Sie eine Secret-Ressource erstellen, bevor Sie den Sicherungsplan erstellen.
Secret-Ressource für Cloud Storage erstellen
- Erstellen Sie ein Dienstkonto, um dem Bucket Sicherungen hinzuzufügen.
- Weisen Sie dem Dienstkonto die IAM-Rolle (Identity and Access Management)
roles/storage.objectAdminfür den Bucket zu. - Generieren Sie einen Dienstkontoschlüssel im JSON-Format.
- Codieren Sie den Inhalt der heruntergeladenen JSON-Schlüsseldatei in Base64. Führen Sie
base64 -w 0aus oder sorgen Sie dafür, dass der codierte Text eine einzelne durchgehende Zeile ist. Erstellen Sie ein
Secret-Ressourcenmanifest. Der Schlüsselname im Abschnittdatamusskey.jsonsein.Secret: metadata: name: SECRET_NAME spec: type: Opaque data: key.json: "BASE64_ENCODED_JSON_KEY"Ersetzen Sie Folgendes:
SECRET_NAME: Der Name IhrerSecret-Ressource.BASE64_ENCODED_JSON_KEY: der base64-codierte Inhalt Ihrer JSON-Schlüsseldatei für das Dienstkonto.
Secret-Ressource für S3- oder S3-kompatiblen Speicher erstellen
- Codieren Sie Ihre S3-Zugriffsschlüssel-ID in Base64.
- Codieren Sie Ihren geheimen Zugriffsschlüssel für S3 in Base64.
Erstellen Sie ein
Secret-Ressourcenmanifest. Die Schlüsselnamen im Abschnittdatamüssenaccess-key-idundaccess-keysein.Secret: metadata: name: SECRET_NAME spec: type: Opaque data: access-key-id: "BASE64_ENCODED_ACCESS_KEY_ID" access-key: "BASE64_ENCODED_SECRET_ACCESS_KEY"Ersetzen Sie Folgendes:
SECRET_NAME: Der Name IhrerSecret-Ressource.BASE64_ENCODED_ACCESS_KEY_ID: Die base64-codierte S3-Zugriffsschlüssel-ID.BASE64_ENCODED_SECRET_ACCESS_KEY: Der base64-codierte geheime S3-Zugriffsschlüssel.
Secret-Ressource anwenden
Wenden Sie das Secret-Ressourcenmanifest an, bevor Sie das BackupPlan-Manifest anwenden.
Sie können das Secret-Ressourcenmanifest mit einer der folgenden Methoden anwenden:
alloydbctl
Führen Sie den folgenden Befehl aus, um das Secret-Ressourcenmanifest mit alloydbctl anzuwenden:
alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "SECRET_MANIFEST"Ersetzen Sie die folgenden Variablen:
DEPLOYMENT_SPEC_PATH: Pfad zur Bereitstellungsspezifikation, die Sie in AlloyDB Omni-Komponenten installieren erstellt haben.SECRET_MANIFEST: Pfad zum erstelltenSecret-Ressourcenmanifest.
Ansible
So wenden Sie das Secret-Ressourcenmanifest mit Ansible an:
Erstellen Sie ein Playbook für das Manifest Ihrer
Secret-Ressource:- name: Create Secret hosts: localhost become: true vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.backupErsetzen Sie die folgenden Variablen:
ANSIBLE_USER: Betriebssystemnutzer, den Ansible verwendet, um sich in Ihren AlloyDB Omni-Knoten anzumelden.ANSIBLE_SSH_PRIVATE_KEY_FILE: Der private Schlüssel, den Ansible verwendet, um über SSH eine Verbindung zu Ihren AlloyDB Omni-Knoten herzustellen.
Wenden Sie das
Secret-Ressourcenmanifest an:ansible-playbook SECRET_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="SECRET_MANIFEST"Ersetzen Sie die folgenden Variablen:
SECRET_PLAYBOOK: Pfad zum Playbook, das Sie für dasSecret-Ressourcenmanifest erstellt haben.DEPLOYMENT_SPEC_PATH: Pfad zur Bereitstellungsspezifikation, die Sie in AlloyDB Omni-Komponenten installieren erstellt haben.SECRET_MANIFEST: Pfad zum erstelltenSecret-Ressourcenmanifest.
Sicherungsplan erstellen
Erstellen Sie ein
BackupPlan-Manifest im Format für Ihre Speicheroption:Cloud Storage
gcsOptionsist ein Pflichtfeld.BackupPlan: metadata: name: BACKUP_PLAN_NAME spec: dbclusterRef: DBCLUSTER_NAME backupLocation: type: GCS gcsOptions: bucket: BUCKET_NAME key: BUCKET_PATH secretRef: name: SECRET_NAME backupRetainDays: RETAIN_DAYS backupSchedules: full: "FULL_SCHEDULE" differential: "DIFF_SCHEDULE" incremental: "INC_SCHEDULE"Ersetzen Sie die folgenden Variablen:
BACKUP_PLAN_NAME: Name desBackupPlan-Manifests. Beispiel:my-backup-plan-1DBCLUSTER_NAME: Der Name Ihres Datenbankclusters, den Sie in Cluster erstellen definiert haben.BUCKET_NAME: Name des Cloud Storage-Bucket, den Sie erstellt haben.BUCKET_PATH: Pfad zum Verzeichnis in Cloud Storage, in das Back-ups geschrieben werden sollen. Sie müssen einen absoluten Pfad angeben, der mit/beginnt. Beispiel:/backupsSECRET_NAME(Optional): Name derSecret-Ressource, in der die Authentifizierungsschlüssel gespeichert werden.RETAIN_DAYS(optional): Anzahl der Tage, die Sicherungen aufbewahrt werden sollen, bevor sie automatisch gelöscht werden.FULL_SCHEDULE(optional): Cron-Ausdruck für den Zeitplan für Vollsicherungen. Beispiel:0 2 * * *DIFF_SCHEDULE(optional): Cron-Zeitplanausdruck für differenzielle Sicherungen. Beispiel:0 2 * * *INC_SCHEDULE(optional): Cron-Zeitplanausdruck für inkrementelle Sicherungen. Beispiel:0 2 * * *
Amazon S3 oder S3-kompatibel
s3Optionsist ein Pflichtfeld.BackupPlan: metadata: name: BACKUP_PLAN_NAME spec: dbclusterRef: DBCLUSTER_NAME backupLocation: type: S3 s3Options: bucket: BUCKET_NAME key: BUCKET_PATH endpoint: ENDPOINT_URL region: REGION secretRef: name: SECRET_NAME backupRetainDays: RETAIN_DAYS backupSchedules: full: "FULL_SCHEDULE" differential: "DIFF_SCHEDULE" incremental: "INC_SCHEDULE"Ersetzen Sie die folgenden Variablen:
BACKUP_PLAN_NAME: Name desBackupPlan-Manifests. Beispiel:my-backup-plan-1DBCLUSTER_NAME: Der Name Ihres Datenbankclusters, den Sie in Cluster erstellen definiert haben.BUCKET_NAME: Name des von Ihnen erstellten S3-Buckets.BUCKET_PATH: Pfad zum Verzeichnis im S3-Bucket, in das Sicherungen geschrieben werden sollen. Sie müssen einen absoluten Pfad angeben, der mit/beginnt. Beispiel:/backups.ENDPOINT_URL: Benutzerdefinierte Endpunkt-URL für die Verbindung zu S3-kompatibler Software wie MinIO. Beispiel:http://minio.example.com:9000. Für Amazon S3-Buckets müssen Sie keine Endpunkt-URL angeben.REGION_(Optional): Region des Speicher-Buckets. Erforderlich, wenn Sie eine Verbindung zu Standard-Amazon S3-Buckets oder S3-kompatibler Software herstellen, in der die Regionsvalidierung erzwungen wird.SECRET_NAME: Verweis auf eineSecret-Ressource, die Sie zuvor erstellt haben und die IhreACCESS_KEY_IDundSECRET_ACCESS_KEYenthält.RETAIN_DAYS(optional): Anzahl der Tage, die Sicherungen aufbewahrt werden sollen, bevor sie automatisch gelöscht werden.FULL_SCHEDULE(optional): Cron-Ausdruck für den Zeitplan für Vollsicherungen. Beispiel:0 2 * * *DIFF_SCHEDULE(optional): Cron-Zeitplanausdruck für differenzielle Sicherungen. Beispiel:0 2 * * *INC_SCHEDULE(optional): Cron-Zeitplanausdruck für inkrementelle Sicherungen. Beispiel:0 2 * * *
Wenden Sie den Sicherungsplan mit einer der folgenden Methoden an:
alloydbctlWenden Sie die
BackupPlan-Ressource an:alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "BACKUP_PLAN_MANIFEST"Ersetzen Sie die folgenden Variablen:
DEPLOYMENT_SPEC_PATH: Pfad zur Bereitstellungsspezifikation, die Sie in AlloyDB Omni-Komponenten installieren erstellt haben.BACKUP_PLAN_MANIFEST: Pfad zumBackupPlan-Manifest, das Sie zuvor erstellt haben.
Prüfen Sie, ob das Statusfeld
status.phasefür IhrBackupPlan-ManifestReadylautet. Wenn das Manifest noch nicht bereit ist, warten Sie, bis es bereit ist:alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t BackupPlan -n BACKUP_PLAN_NAME -o yaml
Ansible
Erstellen Sie ein Playbook für Ihr
BackupPlan-Manifest:- name: BACKUP_PLAN_PLAYBOOK_NAME hosts: localhost vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.backupErsetzen Sie die folgenden Variablen:
BACKUP_PLAN_PLAYBOOK_NAME: Name Ihres Ansible-Playbooks. Beispiel:My BackupPlan. Notieren Sie sich den Pfad zum Playbook, da er im nächsten Schritt benötigt wird.ANSIBLE_USER: Name des Betriebssystemnutzers, den Ansible verwendet, um sich bei Ihren AlloyDB Omni-Knoten anzumelden.ANSIBLE_SSH_PRIVATE_KEY_FILE: Der private Schlüssel, den Ansible verwendet, um über SSH eine Verbindung zu Ihren AlloyDB Omni-Knoten herzustellen.
Wenden Sie die
BackupPlan-Ressource an:ansible-playbook BACKUP_PLAN_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="BACKUP_PLAN_MANIFEST"Ersetzen Sie die folgenden Variablen:
BACKUP_PLAN_PLAYBOOK: Pfad zum Playbook, das Sie zuvor für IhrBackupPlan-Manifest erstellt haben.DEPLOYMENT_SPEC_PATH: Pfad zur Bereitstellungsspezifikation, die Sie in AlloyDB Omni-Komponenten installieren erstellt haben.BACKUP_PLAN_MANIFEST: Pfad zumBackupPlan-Manifest, das Sie zuvor erstellt haben.
Erstellen Sie ein
status.yaml-Playbook, falls Sie das noch nicht getan haben. Informationen zum Erstellen des Playbooks finden Sie unter Status ansehen und Sicherungsressourcen auflisten.Prüfen Sie, ob das Statusfeld
status.phasefür IhrBackupPlan-ManifestReadylautet. Wenn das Manifest noch nicht bereit ist, warten Sie, bis es bereit ist:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=BackupPlan \ -e resource_name=BACKUP_PLAN_NAME
Sicherungsplan aktualisieren
Wenn Sie einen Sicherungsplan aktualisieren möchten, um den Sicherungszeitplan zu ändern, die Aufbewahrungsdauer zu ändern oder geplante Sicherungen zu pausieren, ändern Sie das BackupPlan-Manifest und wenden Sie es dann noch einmal an.
Öffnen Sie das
BackupPlan-Manifest, das Sie unter Sicherungsplan erstellen erstellt haben.Ändern Sie die Felder, die Sie aktualisieren möchten.
- Wenn Sie die Sicherungszeitpläne aktualisieren möchten, ändern Sie die Cron-Ausdrücke unter
backupSchedules. - Wenn Sie die Aufbewahrungsdauer aktualisieren möchten, ändern Sie
backupRetainDays. - Wenn Sie geplante Sicherungen pausieren möchten, fügen Sie das Feld
pauseddem Abschnittspechinzu und legen Sie es auftruefest. Wenn Sie die Sicherungen fortsetzen möchten, legen Sie das Feld auffalsefest oder entfernen Sie es.
Im folgenden Beispiel werden die Aufbewahrungstage auf
30aktualisiert, die Zeitplänefullunddifferentialgeändert, einincremental-Zeitplan hinzugefügt und der Sicherungsplan pausiert:BackupPlan: metadata: name: BACKUP_PLAN_NAME spec: dbclusterRef: DBCLUSTER_NAME backupLocation: type: GCS gcsOptions: bucket: BUCKET_NAME key: BUCKET_PATH secretRef: name: SECRET_NAME backupRetainDays: 30 backupSchedules: full: "0 4 * * *" differential: "0 0 * * 0" incremental: "0 12 * * *" paused: true- Wenn Sie die Sicherungszeitpläne aktualisieren möchten, ändern Sie die Cron-Ausdrücke unter
Wenden Sie den aktualisierten Sicherungsplan mit einer der folgenden Methoden an:
alloydbctlWenden Sie die
BackupPlan-Ressource an:alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "BACKUP_PLAN_MANIFEST"Ersetzen Sie die folgenden Variablen:
DEPLOYMENT_SPEC_PATH: Pfad zur Bereitstellungsspezifikation, die Sie in AlloyDB Omni-Komponenten installieren erstellt haben.BACKUP_PLAN_MANIFEST: Pfad zum geändertenBackupPlan-Manifest.
Prüfen Sie, ob das Statusfeld
status.phasefür IhrBackupPlan-ManifestReadylautet. Wenn das Manifest noch nicht bereit ist, warten Sie, bis es bereit ist:alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t BackupPlan -n BACKUP_PLAN_NAME -o yaml
Ansible
Wenden Sie die aktualisierte
BackupPlan-Ressource mit dem Playbook an, das Sie unter Sicherungsplan erstellen erstellt haben:ansible-playbook BACKUP_PLAN_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="BACKUP_PLAN_MANIFEST"Ersetzen Sie die folgenden Variablen:
BACKUP_PLAN_PLAYBOOK: Pfad zum Playbook, das Sie für IhrBackupPlan-Manifest erstellt haben.DEPLOYMENT_SPEC_PATH: Pfad zur Bereitstellungsspezifikation, die Sie in AlloyDB Omni-Komponenten installieren erstellt haben.BACKUP_PLAN_MANIFEST: Pfad zum geändertenBackupPlan-Manifest.
Erstellen Sie ein
status.yaml-Playbook, falls Sie das noch nicht getan haben. Informationen zum Erstellen des Playbooks finden Sie unter Status ansehen und Sicherungsressourcen auflisten.Prüfen Sie, ob das Statusfeld
status.phasefür IhrBackupPlan-ManifestReadylautet. Wenn das Manifest noch nicht bereit ist, warten Sie, bis es bereit ist, bevor Sie die Überprüfung durchführen:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=BackupPlan \ -e resource_name=BACKUP_PLAN_NAME
Sicherungsplan löschen
Sie haben folgende Möglichkeiten, einen Sicherungsplan zu löschen:
alloydbctl
alloydbctl delete -d "DEPLOYMENT_SPEC_PATH" -t BackupPlan -n BACKUP_PLAN_NAMEErsetzen Sie die folgenden Variablen:
DEPLOYMENT_SPEC_PATH: Pfad zur Bereitstellungsspezifikation, die Sie in AlloyDB Omni-Komponenten installieren erstellt haben.BACKUP_PLAN_NAME: Name des zu löschendenBackupPlan-Manifests.
Ansible
Erstellen Sie ein Playbook zum Löschen des
BackupPlan-Manifests.- name: BACKUP_PLAN_DELETE_PLAYBOOK_NAME hosts: localhost vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.deleteErsetzen Sie die folgenden Variablen:
BACKUP_PLAN_DELETE_PLAYBOOK_NAME: Name Ihres Ansible-Playbooks.ANSIBLE_USER: Betriebssystemnutzer, den Ansible verwendet, um sich in Ihren AlloyDB Omni-Knoten anzumelden.ANSIBLE_SSH_PRIVATE_KEY_FILE: Der private Schlüssel, den Ansible verwendet, um über SSH eine Verbindung zu Ihren AlloyDB Omni-Knoten herzustellen.
Führen Sie
ansible-playbookaus, um das ManifestBackupPlanzu löschen.ansible-playbook BACKUP_PLAN_DELETE_PLAYBOOK_NAME -i "DEPLOYMENT_SPEC_PATH" -e resource_type=BackupPlan \ -e resource_name=BACKUP_PLAN_NAMEErsetzen Sie die folgenden Variablen:
BACKUP_PLAN_DELETE_PLAYBOOK_NAME: Pfad zum Playbook, das Sie im vorherigen Schritt zum Löschen desBackupPlan-Manifests erstellt haben.DEPLOYMENT_SPEC_PATH: Pfad zur Bereitstellungsspezifikation, die Sie in AlloyDB Omni-Komponenten installieren erstellt haben.BACKUP_PLAN_NAME: Name des zu löschendenBackupPlan-Manifests.
Sicherung erstellen
Verwenden Sie eine der folgenden Methoden, um eine Sicherung zu erstellen und zu starten:
alloydbctl
Erstellen Sie ein
Backup-Manifest im folgenden Format:Backup: metadata: name: BACKUP_NAME spec: backupPlanRef: BACKUP_PLAN_NAME dbclusterRef: DBCLUSTER_NAME type: fullErsetzen Sie die folgenden Variablen:
BACKUP_NAME: Name desBackup-Manifests. Beispiel:my-backup-1BACKUP_PLAN_NAME: Name des zuvor erstelltenBackupPlan-Manifests. Beispiel:my-backup-plan-1.DBCLUSTER_NAME: Der Name Ihres Datenbankclusters, den Sie in Cluster erstellen definiert haben.type(optional): Der Typ der Sicherungsausführung, der auffull,diffoderincrfestgelegt werden kann. Die Standardeinstellung istfull.
Wenden Sie das
Backup-Manifest an:alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "BACKUP_MANIFEST"Ersetzen Sie die folgenden Variablen:
DEPLOYMENT_SPEC_PATH: Pfad zur Bereitstellungsspezifikation, die Sie in AlloyDB Omni-Komponenten installieren erstellt haben.BACKUP_MANIFEST: Pfad zum zuvor erstelltenBackup-Manifest.
Prüfen Sie, ob das Statusfeld
status.phasefür IhrBackup-ManifestSucceededlautet. Wenn das Manifest nicht erfolgreich war, warten Sie, bis es:alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t Backup -n BACKUP_NAME -o yamlPrüfen Sie, ob die Sicherungsdateien in Ihrem Bucket verfügbar sind, indem Sie nachsehen, ob der Ordner
/backup/dbvorhanden ist.
Ansible
Erstellen Sie ein
Backup-Manifest im folgenden Format:Backup: metadata: name: BACKUP_NAME spec: backupPlanRef: BACKUP_PLAN_NAME dbclusterRef: DBCLUSTER_NAME type: fullErsetzen Sie die folgenden Variablen:
BACKUP_NAME: Name desBackup-Manifests. Beispiel:my-backup-1BACKUP_PLAN_NAME: Name des zuvor erstelltenBackupPlan-Manifests. Beispiel:my-backup-plan-1.DBCLUSTER_NAME: Der Name Ihres Datenbankclusters, den Sie in Cluster erstellen definiert haben.type(optional): Der Typ der Sicherungsausführung, der auffull,diffoderincrfestgelegt werden kann. Die Standardeinstellung istfull.
Erstellen Sie ein Playbook für Ihr
Backup-Manifest:- name: BACKUP_PLAYBOOK_NAME hosts: localhost vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.backupErsetzen Sie die folgenden Variablen:
BACKUP_PLAYBOOK_NAME: Name Ihres Ansible-Playbooks. Beispiel:My Backup.ANSIBLE_USER: Name des Betriebssystemnutzers, mit dem sich Ansible in Ihren AlloyDB Omni-Knoten anmeldet.ANSIBLE_SSH_PRIVATE_KEY_FILE: Der private Schlüssel, den Ansible verwendet, um über SSH eine Verbindung zu Ihren AlloyDB Omni-Knoten herzustellen.
Wenden Sie das
Backup-Manifest an:ansible-playbook BACKUP_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="BACKUP_MANIFEST"Ersetzen Sie die folgenden Variablen:
BACKUP_PLAYBOOK: Pfad zum Playbook, das Sie für das zuvor erstellteBackup-Manifest erstellt haben.DEPLOYMENT_SPEC_PATH: Pfad zur Bereitstellungsspezifikation, die Sie in AlloyDB Omni-Komponenten installieren erstellt haben.BACKUP_MANIFEST: Pfad zum zuvor erstelltenBackup-Manifest.
Erstellen Sie ein
status.yaml-Playbook, falls Sie das noch nicht getan haben. Informationen zum Erstellen des Playbooks finden Sie unter Status ansehen und Sicherungsressourcen auflisten.Prüfen Sie, ob das Statusfeld
status.phasefür IhrBackup-ManifestSucceededlautet. Wenn das Manifest nicht erfolgreich war, warten Sie, bis es erfolgreich ist, bevor Sie die Überprüfung durchführen:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=Backup \ -e resource_name=BACKUP_NAMEPrüfen Sie, ob die Sicherungsdateien in Ihrem Bucket verfügbar sind, indem Sie nachsehen, ob der Ordner
/backup/dbvorhanden ist.
Sicherung löschen
Führen Sie einen der folgenden Befehle aus, um eine Sicherung zu löschen:
alloydbctl
alloydbctl delete -d "DEPLOYMENT_SPEC_PATH" -t Backup -n BACKUP_NAMEErsetzen Sie die folgenden Variablen:
DEPLOYMENT_SPEC_PATH: Pfad zur Bereitstellungsspezifikation, die Sie in AlloyDB Omni-Komponenten installieren erstellt haben.BACKUP_NAME: Name des zu löschendenBackup-Manifests.
Ansible
Erstellen Sie ein Playbook zum Löschen des
Backup-Manifests.- name: BACKUP_DELETE_PLAYBOOK_NAME hosts: localhost vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.deleteErsetzen Sie die folgenden Variablen:
BACKUP_DELETE_PLAYBOOK_NAME: Name Ihres Ansible-Playbooks.ANSIBLE_USER: Betriebssystemnutzer, den Ansible verwendet, um sich in Ihren AlloyDB Omni-Knoten anzumelden.ANSIBLE_SSH_PRIVATE_KEY_FILE: Der private Schlüssel, den Ansible verwendet, um über SSH eine Verbindung zu Ihren AlloyDB Omni-Knoten herzustellen.
Führen Sie
ansible-playbookaus, um das ManifestBackupzu löschen.ansible-playbook BACKUP_DELETE_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" -e resource_type=Backup \ -e resource_name=BACKUP_NAMEErsetzen Sie die folgenden Variablen:
BACKUP_DELETE_PLAYBOOK: Pfad zum Playbook, das Sie im vorherigen Schritt zum Löschen desBackup-Manifests erstellt haben.DEPLOYMENT_SPEC_PATH: Pfad zur Bereitstellungsspezifikation, die Sie in AlloyDB Omni-Komponenten installieren erstellt haben.BACKUP_NAME: Name des zu löschendenBackup-Manifests.
Aus einer Sicherung oder zu einem bestimmten Zeitpunkt (PITR) wiederherstellen
Wenn Sie Daten aus einer Sicherung wiederherstellen möchten, wenden Sie ein Restore-Manifest an. Der RPM-Orchestrator führt die Wiederherstellung direkt aus. Dabei wird Ihr Zieldatenbankcluster direkt geändert, ohne dass ein geklonter Cluster gestartet oder ein manuelles Skript ausgeführt werden muss.
Sie haben folgende Möglichkeiten, Daten aus einer Sicherung wiederherzustellen:
alloydbctl
Erstellen Sie ein
Restore-Manifest im folgenden Format:- So stellen Sie Daten aus einer bestimmten benannten Sicherungsausführung wieder her:
Restore: metadata: name: RESTORE_NAME spec: sourceDBCluster: DBCLUSTER_NAME backup: BACKUP_NAMESo führen Sie eine Wiederherstellung zu einem bestimmten Zeitpunkt durch:
Restore: metadata: name: RESTORE_NAME spec: sourceDBCluster: DBCLUSTER_NAME pointInTime: "TIMESTAMP"
Ersetzen Sie die folgenden Variablen:
RESTORE_NAME: Name für diesesRestore-Manifest. Beispiel:my-restore-1DBCLUSTER_NAME: Name des Zieldatenbankclusters, in dem die In-Place-Wiederherstellung erfolgen soll.BACKUP_NAME: Name des abgeschlossenenBackup-Manifests, aus dem die Wiederherstellung erfolgen soll.TIMESTAMP: RFC 3339-Zeitstempel, der den genauen Zeitpunkt für die Wiederherstellung angibt. Beispiel:2026-06-19T14:30:00Z.
Wenden Sie das
Restore-Manifest an:alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "RESTORE_MANIFEST"Ersetzen Sie die folgenden Variablen:
DEPLOYMENT_SPEC_PATH: Pfad zur Bereitstellungsspezifikation, die Sie in AlloyDB Omni-Komponenten installieren erstellt haben.RESTORE_MANIFEST: Pfad zurRestore-Manifestspezifikationsdatei, die Sie in Schritt 1 erstellt haben.
Prüfen Sie, ob
status.phasefür IhrRestore-Manifest zuSucceededwechselt:alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t Restore -n RESTORE_NAME -o yaml
Ansible
Erstellen Sie ein
Restore-Manifest im folgenden Format:- So stellen Sie Daten aus einer bestimmten benannten Sicherungsausführung wieder her:
Restore: metadata: name: RESTORE_NAME spec: sourceDBCluster: DBCLUSTER_NAME backup: BACKUP_NAMESo führen Sie eine Wiederherstellung zu einem bestimmten Zeitpunkt durch:
Restore: metadata: name: RESTORE_NAME spec: sourceDBCluster: DBCLUSTER_NAME pointInTime: "TIMESTAMP"
Ersetzen Sie die folgenden Variablen:
RESTORE_NAME: Name für diesesRestore-Manifest. Beispiel:my-restore-1DBCLUSTER_NAME: Name des Zieldatenbankclusters, in dem die In-Place-Wiederherstellung erfolgen soll.BACKUP_NAME: Name des abgeschlossenenBackup-Manifests, aus dem die Wiederherstellung erfolgen soll.TIMESTAMP: RFC 3339-Zeitstempel, der den genauen Zeitpunkt für die Wiederherstellung angibt. Beispiel:2026-06-19T14:30:00Z.
Erstellen Sie ein Playbook für Ihr
Restore-Manifest:- name: RESTORE_PLAYBOOK_NAME hosts: localhost vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.restoreErsetzen Sie die folgenden Variablen:
RESTORE_PLAYBOOK_NAME: Name Ihres Ansible-Playbooks.ANSIBLE_USER: Betriebssystemnutzer, den Ansible verwendet, um sich in Ihren AlloyDB Omni-Knoten anzumelden.ANSIBLE_SSH_PRIVATE_KEY_FILE: Der private Schlüssel, den Ansible verwendet, um über SSH eine Verbindung zu Ihren AlloyDB Omni-Knoten herzustellen.
Wenden Sie das
Restore-Manifest an:ansible-playbook RESTORE_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="RESTORE_MANIFEST"Ersetzen Sie die folgenden Variablen:
RESTORE_PLAYBOOK: Pfad zum Playbook, das Sie in Schritt 2 für IhrRestore-Manifest erstellt haben.DEPLOYMENT_SPEC_PATH: Pfad zur Bereitstellungsspezifikation.RESTORE_MANIFEST: Pfad zurRestore-Manifestspezifikationsdatei, die Sie in Schritt 1 erstellt haben.
Erstellen Sie ein
status.yaml-Playbook, falls Sie das noch nicht getan haben. Informationen zum Erstellen des Playbooks finden Sie unter Status ansehen und Sicherungsressourcen auflisten.Prüfen Sie, ob
status.phasefür IhrRestore-Manifest zuSucceededwechselt:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=Restore \ -e resource_name=RESTORE_NAME
Status ansehen und Sicherungsressourcen auflisten
So können Sie den Status Ihrer BackupPlan-, Backup- und Restore-Ressourcen aufrufen oder sie auflisten:
alloydbctl
Führen Sie den Befehl alloydbctl get aus, um alle Ressourcen eines bestimmten Typs aufzulisten:
alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t RESOURCE_TYPEWenn Sie den Status einer bestimmten Ressource aufrufen möchten, führen Sie den Befehl alloydbctl get mit dem Ressourcennamen aus und legen Sie das Ausgabeformat auf yaml fest:
alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t RESOURCE_TYPE -n RESOURCE_NAME -o yamlErsetzen Sie die folgenden Variablen:
DEPLOYMENT_SPEC_PATH: Pfad zur Bereitstellungsspezifikation.RESOURCE_TYPE: der Ressourcentyp. Legen Sie dafürBackupPlan,BackupoderRestorefest.RESOURCE_NAME: Der Name der Ressource, deren Status Sie aufrufen möchten.
Ansible
Wenn Sie den Status von Ressourcen mit Ansible aufrufen oder Ressourcen auflisten möchten, verwenden Sie die Rolle google.alloydbomni_orchestrator.status.
Erstellen Sie ein Playbook, z. B.
status.yaml, im folgenden Format:- name: Get resource status hosts: localhost vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.statusErsetzen Sie die folgenden Variablen:
ANSIBLE_USER: Betriebssystemnutzer, den Ansible für die Anmeldung bei Ihren Knoten verwendet.ANSIBLE_SSH_PRIVATE_KEY_FILE: Der private Schlüssel, den Ansible verwendet, um über SSH eine Verbindung zu Ihren Knoten herzustellen.
Führen Sie das Playbook aus.
Wenn Sie alle Ressourcen eines bestimmten Typs auflisten möchten, führen Sie das Playbook mit der Variablen
resource_typeaus:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=RESOURCE_TYPESo rufen Sie den Status einer bestimmten Ressource auf:
resource_typeresource_nameansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=RESOURCE_TYPE \ -e resource_name=RESOURCE_NAMEErsetzen Sie die folgenden Variablen:
DEPLOYMENT_SPEC_PATH: Pfad zur Bereitstellungsspezifikation.RESOURCE_TYPE: der Ressourcentyp. Legen Sie dafürBackupPlan,BackupoderRestorefest.RESOURCE_NAME: Der Name der Ressource, deren Status Sie aufrufen möchten.
Beschränkungen
- Wenn der Status
BackupPlanConfigurationFailedmitfailed to create stanza(Exit-Code39) anzeigt, können Sie den Abgleich fortsetzen, indem Sie dem Bucket die Rolleroles/storage.objectAdminzuweisen und das Manifest noch einmal anwenden. Sie müssenBackupPlannicht löschen.