Esegui il backup e il ripristino dei dati utilizzando RPM Orchestrator

Seleziona una versione della documentazione:

Per proteggere i tuoi dati, AlloyDB Omni fornisce backup e recupero automatici dei dati utilizzando manifest dichiarativi. L'orchestratore AlloyDB Omni funziona con alloydbctl e Ansible per applicare queste configurazioni dei manifest e automatizzare i backup in Cloud Storage, nei bucket Amazon S3 standard o in software compatibili con S3 come MinIO.

Per abilitare il backup e il recupero continui di AlloyDB Omni, devi creare un piano di backup per ogni cluster di database. I backup vengono eseguiti in base alle pianificazioni di backup definite nella risorsa BackupPlan. Puoi eseguire il ripristino utilizzando una risorsa di backup o qualsiasi timestamp nella finestra di recupero con una granularità di secondi.

AlloyDB Omni gestisce backup e ripristino automatici tramite manifest:

  • BackupPlan: ogni cluster di database può avere uno o più manifest BackupPlan con configurazioni e pianificazioni diverse nei vari livelli di backup.
  • Backup: avvia backup completi, differenziali o incrementali in base ai manifest BackupPlan.
  • Restore: avvia un ripristino sul posto del cluster di database utilizzando un backup specifico o un punto nel tempo.

Prima di iniziare

Prima di configurare il piano di backup, assicurati di disporre di quanto segue:

  • Una posizione di archiviazione per i backup: AlloyDB Omni memorizza i backup in una delle seguenti opzioni di archiviazione:

    • Cloud Storage: un bucket Cloud Storage. Per informazioni su come creare bucket, vedi Crea un bucket.
    • Amazon S3: un bucket Amazon S3. Per informazioni su come creare bucket S3, consulta Creazione di un bucket.
    • Spazio di archiviazione conforme a S3: un bucket in un software conforme a S3, ad esempio MinIO. Per informazioni su come creare bucket MinIO, consulta la documentazione di MinIO.
  • Credenziali di autenticazione: se l'opzione di archiviazione richiede chiavi di autenticazione come Amazon S3, MinIO o Cloud Storage con un account di servizio specifico, devi creare una risorsa Secret contenente queste credenziali prima di creare il piano di backup. Per le istruzioni, vedi Creare una risorsa Secret per autenticare l'archiviazione.

Crea una risorsa Secret per autenticare l'archiviazione

Se lo spazio di archiviazione che utilizzi richiede l'autenticazione, devi creare una risorsa Secret prima di creare il piano di backup.

Crea una risorsa Secret per Cloud Storage

  1. Crea un service account per aggiungere i backup al bucket.
  2. Concedi il ruolo Identity and Access Management roles/storage.objectAdmin all'account di servizio nel bucket.
  3. Genera una chiave dell'account di servizio in formato JSON.
  4. Codifica i contenuti del file della chiave JSON scaricato in base64. Esegui base64 -w 0 o assicurati che il testo codificato sia una singola riga continua.
  5. Crea un manifest della risorsa Secret. Il nome della chiave nella sezione data deve essere key.json.

    Secret:
      metadata:
        name: SECRET_NAME
      spec:
        type: Opaque
        data:
          key.json: "BASE64_ENCODED_JSON_KEY"
    

    Sostituisci quanto segue:

    • SECRET_NAME: il nome della risorsa Secret.
    • BASE64_ENCODED_JSON_KEY: il contenuto codificato in base64 del file della chiave JSON del account di servizio.

Crea una risorsa Secret per S3 o per l'archiviazione compatibile con S3

  1. Codifica l'ID chiave di accesso S3 in base64.
  2. Codifica la chiave di accesso segreta di S3 in base64.
  3. Crea un manifest della risorsa Secret. I nomi delle chiavi nella sezione data devono essere access-key-id e access-key.

    Secret:
      metadata:
        name: SECRET_NAME
      spec:
        type: Opaque
        data:
          access-key-id: "BASE64_ENCODED_ACCESS_KEY_ID"
          access-key: "BASE64_ENCODED_SECRET_ACCESS_KEY"
    

    Sostituisci quanto segue:

    • SECRET_NAME: il nome della risorsa Secret.
    • BASE64_ENCODED_ACCESS_KEY_ID: l'ID chiave di accesso S3 codificato in base64.
    • BASE64_ENCODED_SECRET_ACCESS_KEY: la chiave di accesso segreta S3 codificata in base64.

Applica la risorsa secret

Applica il manifest della risorsa Secret prima di applicare il manifest BackupPlan. Puoi applicare il manifest della risorsa Secret utilizzando uno dei seguenti metodi:

alloydbctl

Per applicare il manifest della risorsa Secret utilizzando alloydbctl, esegui questo comando:

alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "SECRET_MANIFEST"

Sostituisci le seguenti variabili:

  • DEPLOYMENT_SPEC_PATH: percorso della specifica di deployment che hai creato in Installare i componenti di AlloyDB Omni.
  • SECRET_MANIFEST: il percorso del manifest della risorsa Secret che hai creato.

Ansible

Per applicare il manifest della risorsa Secret utilizzando Ansible:

  1. Crea un playbook per il manifest delle risorse Secret:

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

    Sostituisci le seguenti variabili:

    • ANSIBLE_USER: utente OS che Ansible utilizza per accedere ai nodi AlloyDB Omni.
    • ANSIBLE_SSH_PRIVATE_KEY_FILE: la chiave privata utilizzata da Ansible per connettersi ai nodi AlloyDB Omni utilizzando SSH.
  2. Applica il manifest della risorsa Secret:

    ansible-playbook SECRET_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \
      -e resource_spec="SECRET_MANIFEST"

    Sostituisci le seguenti variabili:

    • SECRET_PLAYBOOK: percorso del playbook che hai creato per il manifest della risorsa Secret.
    • DEPLOYMENT_SPEC_PATH: percorso della specifica di deployment che hai creato in Installare i componenti di AlloyDB Omni.
    • SECRET_MANIFEST: il percorso del manifest della risorsa Secret che hai creato.

Crea un piano di backup

  1. Crea un manifest BackupPlan utilizzando il formato per l'opzione di archiviazione:

    Cloud Storage

    Il campo gcsOptions è obbligatorio.

    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"
    

    Sostituisci le seguenti variabili:

    • BACKUP_PLAN_NAME: nome del manifest BackupPlan. Ad esempio: my-backup-plan-1.

    • DBCLUSTER_NAME: il nome del cluster di database definito in Crea un cluster.

    • BUCKET_NAME: il nome del bucket Cloud Storage che hai creato.

    • BUCKET_PATH: percorso della directory in Cloud Storage in cui devono essere scritti i backup. Devi fornire un percorso assoluto che inizia con /. Ad esempio: /backups.

    • SECRET_NAME (Facoltativo): nome della risorsa Secret che archivia le chiavi di autenticazione.

    • RETAIN_DAYS (Facoltativo): numero di giorni in cui conservare i backup prima che vengano eliminati automaticamente.

    • FULL_SCHEDULE (facoltativo): espressione di pianificazione cron per i backup completi. Ad esempio, 0 2 * * *.

    • DIFF_SCHEDULE (Facoltativo): espressione di pianificazione cron per i backup differenziali. Ad esempio, 0 2 * * *.

    • INC_SCHEDULE (Facoltativo): espressione di pianificazione cron per i backup incrementali. Ad esempio, 0 2 * * *.

    Amazon S3 o conforme a S3

    Il campo s3Options è obbligatorio.

    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"
    

    Sostituisci le seguenti variabili:

    • BACKUP_PLAN_NAME: nome del manifest BackupPlan. Ad esempio: my-backup-plan-1.

    • DBCLUSTER_NAME: il nome del cluster di database definito in Crea un cluster.

    • BUCKET_NAME: il nome del bucket S3 che hai creato.

    • BUCKET_PATH: il percorso della directory nel bucket S3 in cui devono essere scritti i backup. Devi fornire un percorso assoluto che inizia con /. Ad esempio, /backups.

    • ENDPOINT_URL: URL dell'endpoint personalizzato per la connessione a software compatibili con S3, come MinIO. Ad esempio, http://minio.example.com:9000. Per i bucket Amazon S3, non è necessario fornire alcun URL endpoint.

    • REGION_ (facoltativo): regione del bucket di archiviazione. Obbligatorio quando ci si connette a bucket Amazon S3 standard o a software conforme a S3 in cui viene applicata la convalida della regione.

    • SECRET_NAME: riferimento a una risorsa Secret che hai creato in precedenza e che contiene ACCESS_KEY_ID e SECRET_ACCESS_KEY.

    • RETAIN_DAYS (Facoltativo): numero di giorni in cui conservare i backup prima che vengano eliminati automaticamente.

    • FULL_SCHEDULE (facoltativo): espressione di pianificazione cron per i backup completi. Ad esempio, 0 2 * * *.

    • DIFF_SCHEDULE (Facoltativo): espressione di pianificazione cron per i backup differenziali. Ad esempio, 0 2 * * *.

    • INC_SCHEDULE (Facoltativo): espressione di pianificazione cron per i backup incrementali. Ad esempio, 0 2 * * *.

  2. Applica il piano di backup utilizzando uno dei seguenti metodi:

    alloydbctl

    1. Applica la risorsa BackupPlan:

      alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "BACKUP_PLAN_MANIFEST"

      Sostituisci le seguenti variabili:

      • DEPLOYMENT_SPEC_PATH: percorso della specifica di deployment che hai creato in Installare i componenti di AlloyDB Omni.

      • BACKUP_PLAN_MANIFEST: il percorso del manifest BackupPlan creato in precedenza.

    2. Verifica che il campo dello stato, status.phase, per il file manifest BackupPlan sia Ready. Se il manifest non è pronto, attendi che lo sia:

      alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t BackupPlan -n BACKUP_PLAN_NAME -o yaml

    Ansible

    1. Crea un playbook per il manifest BackupPlan:

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

      Sostituisci le seguenti variabili:

      • BACKUP_PLAN_PLAYBOOK_NAME: il nome del playbook Ansible. Ad esempio, My BackupPlan. Prendi nota del percorso del playbook, perché è necessario nel passaggio successivo.

      • ANSIBLE_USER: il nome dell'utente del sistema operativo che Ansible utilizza per accedere ai nodi AlloyDB Omni.

      • ANSIBLE_SSH_PRIVATE_KEY_FILE: la chiave privata utilizzata da Ansible per connettersi ai nodi AlloyDB Omni tramite SSH.

    2. Applica la risorsa BackupPlan:

      ansible-playbook BACKUP_PLAN_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \
        -e resource_spec="BACKUP_PLAN_MANIFEST"

      Sostituisci le seguenti variabili:

      • BACKUP_PLAN_PLAYBOOK: il percorso del playbook che hai creato in precedenza per il manifest BackupPlan.

      • DEPLOYMENT_SPEC_PATH: percorso della specifica di deployment che hai creato in Installare i componenti di AlloyDB Omni.

      • BACKUP_PLAN_MANIFEST: il percorso del manifest BackupPlan creato in precedenza.

    3. Crea un playbook status.yaml, se non l'hai già fatto. Per informazioni su come creare il playbook, vedi Visualizzare lo stato ed elencare le risorse di backup.

    4. Verifica che il campo dello stato, status.phase, per il file manifest BackupPlan sia Ready. Se il manifest non è pronto, attendi che lo sia:

      ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=BackupPlan \
        -e resource_name=BACKUP_PLAN_NAME

Aggiornare un piano di backup

Per aggiornare un piano di backup in modo da modificare la pianificazione del backup, il periodo di conservazione o mettere in pausa i backup pianificati, modifica il manifest BackupPlan e poi applicalo di nuovo.

  1. Apri il manifest BackupPlan che hai creato in Creare un piano di backup.

  2. Modifica i campi che vuoi aggiornare.

    • Per aggiornare le pianificazioni dei backup, modifica le espressioni cron in backupSchedules.
    • Per aggiornare il periodo di conservazione, modifica backupRetainDays.
    • Per mettere in pausa i backup pianificati, aggiungi il campo paused alla sezione spec e impostalo su true. Per riprendere i backup, imposta il campo su false o rimuovilo.

    Ad esempio, il seguente esempio aggiorna i giorni di conservazione a 30, modifica le pianificazioni full e differential, aggiunge una pianificazione incremental e mette in pausa il piano di backup:

    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
    
  3. Applica il piano di backup aggiornato utilizzando uno dei seguenti metodi:

    alloydbctl

    1. Applica la risorsa BackupPlan:

      alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "BACKUP_PLAN_MANIFEST"

      Sostituisci le seguenti variabili:

      • DEPLOYMENT_SPEC_PATH: percorso della specifica di deployment che hai creato in Installare i componenti di AlloyDB Omni.

      • BACKUP_PLAN_MANIFEST: percorso del manifest BackupPlan che hai modificato.

    2. Verifica che il campo dello stato, status.phase, per il file manifest BackupPlan sia Ready. Se il manifest non è pronto, attendi che lo sia:

      alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t BackupPlan -n BACKUP_PLAN_NAME -o yaml

    Ansible

    1. Applica la risorsa BackupPlan aggiornata utilizzando il playbook che hai creato in Crea un piano di backup:

      ansible-playbook BACKUP_PLAN_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \
        -e resource_spec="BACKUP_PLAN_MANIFEST"

      Sostituisci le seguenti variabili:

      • BACKUP_PLAN_PLAYBOOK: il percorso del playbook che hai creato per il manifest BackupPlan.

      • DEPLOYMENT_SPEC_PATH: percorso della specifica di deployment che hai creato in Installare i componenti di AlloyDB Omni.

      • BACKUP_PLAN_MANIFEST: percorso del manifest BackupPlan che hai modificato.

    2. Crea un playbook status.yaml, se non l'hai già fatto. Per informazioni su come creare il playbook, vedi Visualizzare lo stato ed elencare le risorse di backup.

    3. Verifica che il campo dello stato, status.phase, per il file manifest BackupPlan sia Ready. Se il manifest non è pronto, attendi che lo sia prima della verifica:

      ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=BackupPlan \
        -e resource_name=BACKUP_PLAN_NAME

Eliminare un piano di backup

Per eliminare un piano di backup, utilizza uno dei seguenti metodi:

alloydbctl

alloydbctl delete -d "DEPLOYMENT_SPEC_PATH" -t BackupPlan -n BACKUP_PLAN_NAME

Sostituisci le seguenti variabili:

Ansible

  1. Crea un playbook per eliminare il file manifest BackupPlan.

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

    Sostituisci le seguenti variabili:

    • BACKUP_PLAN_DELETE_PLAYBOOK_NAME: il nome del playbook Ansible.

    • ANSIBLE_USER: Utente del sistema operativo utilizzato da Ansible per accedere ai nodi AlloyDB Omni.

    • ANSIBLE_SSH_PRIVATE_KEY_FILE: la chiave privata utilizzata da Ansible per connettersi ai nodi AlloyDB Omni tramite SSH.

  2. Esegui ansible-playbook per eliminare il manifest BackupPlan.

    ansible-playbook BACKUP_PLAN_DELETE_PLAYBOOK_NAME -i "DEPLOYMENT_SPEC_PATH" -e resource_type=BackupPlan \
      -e resource_name=BACKUP_PLAN_NAME

    Sostituisci le seguenti variabili:

    • BACKUP_PLAN_DELETE_PLAYBOOK_NAME: il percorso del playbook che hai creato per eliminare il manifest BackupPlan nel passaggio precedente.

    • DEPLOYMENT_SPEC_PATH: percorso della specifica di deployment che hai creato in Installare i componenti di AlloyDB Omni.

    • BACKUP_PLAN_NAME: nome del manifest BackupPlan da eliminare.

Crea backup

Per creare e avviare un backup, utilizza uno dei seguenti metodi:

alloydbctl

  1. Crea un manifest Backup utilizzando il seguente formato:

    Backup:
      metadata:
        name: BACKUP_NAME
      spec:
        backupPlanRef: BACKUP_PLAN_NAME
        dbclusterRef: DBCLUSTER_NAME
        type: full
    

    Sostituisci le seguenti variabili:

    • BACKUP_NAME: il nome del manifest Backup. Ad esempio: my-backup-1.

    • BACKUP_PLAN_NAME: il nome del manifest BackupPlan creato in precedenza. Ad esempio my-backup-plan-1.

    • DBCLUSTER_NAME: il nome del cluster di database definito in Crea un cluster.

    • (Facoltativo) type: tipo di esecuzione del backup che può essere impostato su full, diff o incr. Il valore predefinito è full.

  2. Applica il manifest Backup:

    alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "BACKUP_MANIFEST"

    Sostituisci le seguenti variabili:

  3. Verifica che il campo dello stato, status.phase, per il file manifest Backup sia Succeeded. Se il manifest non è andato a buon fine, attendi che:

    alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t Backup -n BACKUP_NAME -o yaml
  4. Verifica che i file di backup siano disponibili nel bucket controllando se esiste la cartella /backup/db.

Ansible

  1. Crea un manifest Backup utilizzando il seguente formato:

    Backup:
      metadata:
        name: BACKUP_NAME
      spec:
        backupPlanRef: BACKUP_PLAN_NAME
        dbclusterRef: DBCLUSTER_NAME
        type: full
    

    Sostituisci le seguenti variabili:

    • BACKUP_NAME: il nome del manifest Backup. Ad esempio: my-backup-1.

    • BACKUP_PLAN_NAME: il nome del manifest BackupPlan creato in precedenza. Ad esempio my-backup-plan-1.

    • DBCLUSTER_NAME: il nome del cluster di database definito in Crea un cluster.

    • (Facoltativo) type: tipo di esecuzione del backup che può essere impostato su full, diff o incr. Il valore predefinito è full.

  2. Crea un playbook per il manifest Backup:

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

    Sostituisci le seguenti variabili:

    • BACKUP_PLAYBOOK_NAME: il nome del tuo playbook Ansible. Ad esempio, My Backup.

    • ANSIBLE_USER: nome dell'utente del sistema operativo utilizzato da Ansible per accedere ai nodi AlloyDB Omni.

    • ANSIBLE_SSH_PRIVATE_KEY_FILE: la chiave privata utilizzata da Ansible per connettersi ai nodi AlloyDB Omni tramite SSH.

  3. Applica il manifest Backup:

    ansible-playbook BACKUP_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \
      -e resource_spec="BACKUP_MANIFEST"

    Sostituisci le seguenti variabili:

    • BACKUP_PLAYBOOK: percorso del playbook che hai creato per il manifest Backup che hai creato in precedenza.

    • DEPLOYMENT_SPEC_PATH: percorso della specifica di deployment che hai creato in Installare i componenti di AlloyDB Omni.

    • BACKUP_MANIFEST: percorso del manifest Backup creato in precedenza.

  4. Crea un playbook status.yaml, se non l'hai già fatto. Per informazioni su come creare il playbook, vedi Visualizzare lo stato ed elencare le risorse di backup.

  5. Verifica che il campo dello stato, status.phase, per il file manifest Backup sia Succeeded. Se il manifest non è stato completato, attendi il completamento prima della verifica:

    ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=Backup \
      -e resource_name=BACKUP_NAME
  6. Verifica che i file di backup siano disponibili nel bucket controllando se esiste la cartella /backup/db.

Eliminare un backup

Per eliminare un backup, esegui uno dei seguenti comandi:

alloydbctl

alloydbctl delete -d "DEPLOYMENT_SPEC_PATH" -t Backup -n BACKUP_NAME

Sostituisci le seguenti variabili:

Ansible

  1. Crea un playbook per eliminare il file manifest Backup.

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

    Sostituisci le seguenti variabili:

    • BACKUP_DELETE_PLAYBOOK_NAME: il nome del playbook Ansible.

    • ANSIBLE_USER: Utente del sistema operativo utilizzato da Ansible per accedere ai nodi AlloyDB Omni.

    • ANSIBLE_SSH_PRIVATE_KEY_FILE: la chiave privata utilizzata da Ansible per connettersi ai nodi AlloyDB Omni tramite SSH.

  2. Esegui ansible-playbook per eliminare il manifest Backup.

    ansible-playbook BACKUP_DELETE_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" -e resource_type=Backup \
      -e resource_name=BACKUP_NAME

    Sostituisci le seguenti variabili:

    • BACKUP_DELETE_PLAYBOOK: il percorso del playbook che hai creato per eliminare il manifest Backup nel passaggio precedente.

    • DEPLOYMENT_SPEC_PATH: percorso della specifica di deployment che hai creato in Installare i componenti di AlloyDB Omni.

    • BACKUP_NAME: il nome del manifest Backup da eliminare.

Ripristinare da un backup o da un momento specifico (PITR)

Per ripristinare i dati da un backup, applica un manifest Restore. L'orchestratore RPM esegue il recupero in loco, che modifica direttamente il cluster di database di destinazione senza avviare un cluster clonato o richiedere l'esecuzione manuale di script.

Per eseguire il ripristino da un backup, utilizza uno dei seguenti metodi:

alloydbctl

  1. Crea un manifest Restore utilizzando il seguente formato:

    • Per eseguire il ripristino da un backup denominato specifico, esegui:
    Restore:
      metadata:
        name: RESTORE_NAME
      spec:
        sourceDBCluster: DBCLUSTER_NAME
        backup: BACKUP_NAME
    
    • Per eseguire un ripristino point-in-time (PITR):

      Restore:
        metadata:
          name: RESTORE_NAME
        spec:
          sourceDBCluster: DBCLUSTER_NAME
          pointInTime: "TIMESTAMP"
      

    Sostituisci le seguenti variabili:

    • RESTORE_NAME: il nome di questo file manifest Restore. Ad esempio: my-restore-1.

    • DBCLUSTER_NAME: il nome del cluster di database di destinazione da recuperare in loco.

    • BACKUP_NAME: il nome del file manifest Backup completato da cui eseguire il ripristino.

    • TIMESTAMP: timestamp RFC 3339 che identifica il momento esatto a cui eseguire il ripristino. Ad esempio, 2026-06-19T14:30:00Z.

  2. Applica il manifest Restore:

    alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "RESTORE_MANIFEST"

    Sostituisci le seguenti variabili:

    • DEPLOYMENT_SPEC_PATH: percorso della specifica di deployment che hai creato in Installare i componenti di AlloyDB Omni.

    • RESTORE_MANIFEST: il percorso del file di specifica del manifest Restore creato nel passaggio 1.

  3. Verifica che status.phase per il file manifest Restore passi a Succeeded:

    alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t Restore -n RESTORE_NAME -o yaml

Ansible

  1. Crea un manifest Restore utilizzando il seguente formato:

    • Per eseguire il ripristino da un backup denominato specifico, esegui:
    Restore:
      metadata:
        name: RESTORE_NAME
      spec:
        sourceDBCluster: DBCLUSTER_NAME
        backup: BACKUP_NAME
    
    • Per eseguire un ripristino point-in-time (PITR):

      Restore:
        metadata:
          name: RESTORE_NAME
        spec:
          sourceDBCluster: DBCLUSTER_NAME
          pointInTime: "TIMESTAMP"
      

    Sostituisci le seguenti variabili:

    • RESTORE_NAME: il nome di questo file manifest Restore. Ad esempio: my-restore-1.

    • DBCLUSTER_NAME: il nome del cluster di database di destinazione da recuperare in loco.

    • BACKUP_NAME: il nome del file manifest Backup completato da cui eseguire il ripristino.

    • TIMESTAMP: timestamp RFC 3339 che identifica il momento esatto a cui eseguire il ripristino. Ad esempio, 2026-06-19T14:30:00Z.

  2. Crea un playbook per il manifest Restore:

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

    Sostituisci le seguenti variabili:

    • RESTORE_PLAYBOOK_NAME: il nome del playbook Ansible.

    • ANSIBLE_USER: Utente del sistema operativo utilizzato da Ansible per accedere ai nodi AlloyDB Omni.

    • ANSIBLE_SSH_PRIVATE_KEY_FILE: la chiave privata utilizzata da Ansible per connettersi ai nodi AlloyDB Omni tramite SSH.

  3. Applica il manifest Restore:

    ansible-playbook RESTORE_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \
      -e resource_spec="RESTORE_MANIFEST"

    Sostituisci le seguenti variabili:

    • RESTORE_PLAYBOOK: il percorso del playbook che hai creato per il manifest Restore nel passaggio 2.

    • DEPLOYMENT_SPEC_PATH: percorso della specifica di deployment.

    • RESTORE_MANIFEST: il percorso del file di specifica del manifest Restore creato nel passaggio 1.

  4. Crea un playbook status.yaml, se non l'hai già fatto. Per informazioni su come creare il playbook, vedi Visualizzare lo stato ed elencare le risorse di backup.

  5. Verifica che status.phase per il file manifest Restore passi a Succeeded:

    ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=Restore \
      -e resource_name=RESTORE_NAME

Visualizzare lo stato ed elencare le risorse di backup

Per visualizzare lo stato o elencare le risorse BackupPlan, Backup e Restore, utilizza uno dei seguenti metodi:

alloydbctl

Per elencare tutte le risorse di un tipo specifico, esegui il comando alloydbctl get:

alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t RESOURCE_TYPE

Per visualizzare lo stato di una risorsa specifica, esegui il comando alloydbctl get con il nome della risorsa e il formato di output impostato su yaml:

alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t RESOURCE_TYPE -n RESOURCE_NAME -o yaml

Sostituisci le seguenti variabili:

  • DEPLOYMENT_SPEC_PATH: il percorso della specifica di deployment.
  • RESOURCE_TYPE: il tipo di risorsa. Imposta questo valore su BackupPlan, Backup o Restore.
  • RESOURCE_NAME: il nome della risorsa di cui vuoi visualizzare lo stato.

Ansible

Per visualizzare lo stato delle risorse o elencarle utilizzando Ansible, utilizza il ruolo google.alloydbomni_orchestrator.status.

  1. Crea un playbook, ad esempio status.yaml, utilizzando il seguente formato:

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

    Sostituisci le seguenti variabili:

    • ANSIBLE_USER: l'utente del sistema operativo che Ansible utilizza per accedere ai nodi.
    • ANSIBLE_SSH_PRIVATE_KEY_FILE: la chiave privata utilizzata da Ansible per connettersi ai nodi tramite SSH.
  2. Esegui il playbook.

    Per elencare tutte le risorse di un tipo specifico, esegui il playbook con la variabile resource_type:

    ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=RESOURCE_TYPE

    Per visualizzare lo stato di una risorsa specifica, esegui il playbook con le variabili resource_type e resource_name:

    ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=RESOURCE_TYPE \
      -e resource_name=RESOURCE_NAME

    Sostituisci le seguenti variabili:

    • DEPLOYMENT_SPEC_PATH: il percorso della specifica di deployment.
    • RESOURCE_TYPE: il tipo di risorsa. Imposta questo valore su BackupPlan, Backup o Restore.
    • RESOURCE_NAME: il nome della risorsa di cui vuoi visualizzare lo stato.

Limitazioni

  • Se lo stato BackupPlan mostra ConfigurationFailed con failed to create stanza (codice di uscita 39), puoi riprendere la riconciliazione concedendo il ruolo roles/storage.objectAdmin sul bucket e riapplicando il manifest. Non è necessario eliminare BackupPlan.