Gestisci backup

Questa pagina descrive le operazioni di backup di Bigtable e spiega come eseguire il backup di una tabella e ripristinarla in una nuova tabella. Prima di leggere questa pagina, dovresti avere familiarità con la funzionalità Backup.

Puoi lavorare con i backup di Bigtable utilizzando quanto segue:

  • La console Google Cloud.
  • Google Cloud CLI.
  • Le librerie client di Cloud Bigtable.

Puoi anche accedere direttamente all'API, ma ti consigliamo vivamente di farlo solo se devi utilizzare una lingua non supportata dal Librerie client di Cloud Bigtable.

Prima di iniziare

Assicurati che tu o l'account utente che stai utilizzando abbiate la le autorizzazioni richieste per l'azione da eseguire.

Se prevedi di utilizzare gcloud CLI, installare la gcloud CLI per Bigtable.

Usa backup automatico

Puoi utilizzare gcloud CLI per abilitare il backup automatico quando crei o aggiorna una tabella. I passaggi per eliminare, aggiornare copia e ripristini di un backup sono le stesse indipendentemente dal fatto che il backup venga creato manualmente o in seguito a un backup automatico.

Durante l'anteprima, tieni presente quanto segue se prevedi di abilitare il backup automatico:

  • Se viene aggiunto un cluster a un'istanza che contiene una tabella backup abilitato, i backup giornalieri non vengono creati nel cluster aggiunto. Per creare backup giornalieri su tutti i cluster, incluso quello appena aggiunto, disattivano backup automatico per la tabella e poi riattivalo.
  • Se una tabella con il backup automatico abilitato viene eliminata e successivamente non eliminata, devi riattivare il backup automatico .
  • Il ripristino di un backup automatico di una tabella non abilita automaticamente backup automatico nella tabella ripristinata. Devi attivare manualmente le funzionalità backup.

Abilita backup automatico

Per abilitare il backup automatico per una tabella, esegui il comando gcloud bigtable instances tables update. Per ulteriori informazioni sull'attivazione backup automatico quando crei una tabella, consulta Creare una tabella.

Dopo aver abilitato il criterio di backup automatico per una tabella, lo stato aggiornato può richiedere fino a un'ora prima di diventare effettiva.

gcloud bigtable instances tables update TABLE_ID \
--instance=INSTANCE_ID \
--enable-automated-backup

Sostituisci quanto segue:

  • TABLE_ID: ID della tabella di cui eseguire il backup.
  • INSTANCE_ID: L'identificatore permanente dell'istanza.
  1. Se non conosci l'ID istanza, utilizza Comando bigtable instances list per visualizzare un elenco delle istanze del progetto:

      gcloud bigtable instances list
    
  2. Visualizza l'elenco delle tabelle per confermare l'ID della tabella da ripristinare verso l'alto.

        gcloud bigtable instances tables list --instances=INSTANCE_ID
    

Ai backup creati come parte di un backup automatico vengono assegnati ID che iniziano con auto. Ad esempio: una tabella con ID my-table avrà un ID backup automatico come auto.my-table.c7x3.20230220-1455, dove my-table è la tabella troncata ID, c7x3 è l'ID hash univoco, mentre 20230220-1455 è la data e l'ora. nel formato UTC.

Disabilita backup automatico

Per disabilitare il backup automatico per una tabella esistente, esegui il comando gcloud bigtable instances tables update.

Una volta disabilitato il criterio di backup automatico per una tabella, il valore può richiedere fino a un'ora prima di diventare effettiva. L'operazione potrebbe richiedere fino a 24 ore affinché il primo backup sia disponibile.

gcloud bigtable instances tables update TABLE_ID \
--instance=INSTANCE_ID \
--disable-automated-backup

Sostituisci quanto segue:

  • TABLE_ID: ID della tabella.
  • INSTANCE_ID: L'identificatore permanente dell'istanza.

Visualizza criterio di backup automatico

Per visualizzare il criterio di backup automatico per una tabella, esegui il comando gcloud bigtable instances tables describe.

gcloud bigtable instances tables describe TABLE_ID \
--instance=INSTANCE_ID

Sostituisci quanto segue:

  • TABLE_ID: ID della tabella.
  • INSTANCE_ID: L'identificatore permanente dell'istanza.

L'output è simile al seguente:

automatedBackupPolicy:
  retentionPeriod: 3d
  frequency: 24h
columnFamilies:
  my-family: {}
createTime: '2023-02-07T20:10:55.613546Z'
granularity: MILLIS
name: projects/my-project/instances/my-instance/tables/my-table
updateTime: '2023-02-07T20:10:55.613546Z'

Tieni presente quanto segue:

  • Il campo automatedBackupPolicy non è presente quando il backup automatico non è abilitato per una tabella.
  • L'attributo retentionPeriod indica il periodo di conservazione dei backup creati automaticamente. Puoi modificare il periodo di conservazione di un backup fino a 90 giorni dalla data di creazione del backup. Per aggiornare il periodo di conservazione del backup, consulta Modificare un backup.

Crea backup

Console

  1. Vai alla pagina Istanze Bigtable nella nella console Google Cloud.

    Apri l'elenco delle istanze

  2. Fai clic sull'istanza che contiene la tabella di cui vuoi eseguire il backup.

  3. Nel riquadro di navigazione a sinistra, fai clic su Tabelle.

  4. Fai clic su Crea backup per la tabella di cui vuoi eseguire il backup.

  5. Se utilizzi la replica, usa il menu a discesa per scegliere il cluster ID per il cluster in cui deve archiviare il backup. Se hai fatto clic su Crea accanto a un ID cluster anziché a un ID istanza nelle Tabelle il cluster è preselezionato.)

  6. Inserisci un ID univoco per il backup.

  7. Imposta una data di scadenza.

  8. Fai clic su Crea.

    Nella console viene visualizzata la pagina Backup filtrata in modo da mostrare il backup e i relativi dettagli.

  9. Fai clic su Attività per visualizzare lo stato del backup.

    La colonna dello stato mostra Backup completato quando il backup è stato completata.

gcloud

Per tutti i comandi, sostituisci i valori effettivi con i seguenti valori:

  • INSTANCE_ID: L'identificatore permanente dell'istanza.
  • CLUSTER_ID: L'identificatore permanente per il cluster.
  • TABLE_ID: l'ID della tabella di cui eseguire il backup.
  • BACKUP_ID: l'ID assegnato al backup.
  • EXPIRATION_DATE: una data non superiore a 90 giorni nel futuro, formattata come "Zulu" Timestamp UTC, preciso in nanosecondi.

    Esempio: 2022-10-02T15:01:23.045123456Z

  • RETENTION_PERIOD: un periodo di massimo 90 giorni, espresso in numero con un'unità di m, h o d (minuti, ore o giorni).

    Esempi: 36h o 89d

  1. Se non conosci l'ID istanza, utilizza Comando bigtable instances list per visualizzare un elenco delle istanze del progetto:

    gcloud bigtable instances list
    
  2. Visualizza l'elenco dei backup per l'istanza che contiene la tabella che eseguire il backup, quindi puoi scegliere un ID backup che non sia già da utilizzare sul cluster previsto.

    gcloud bigtable backups list --instance=INSTANCE_ID \
      --cluster=CLUSTER_ID
    
  3. Visualizza l'elenco delle tabelle per confermare l'ID della tabella da ripristinare verso l'alto.

    gcloud bigtable instances tables list --instances=INSTANCE_ID
    
  4. Esegui il comando gcloud bigtable instances backup create per creare un backup dalla tabella, fornendo una data di scadenza oppure per un periodo di conservazione della durata massima di 90 giorni.

    gcloud bigtable backups create BACKUP_ID --instance=INSTANCE_ID \
      --cluster=CLUSTER_ID \
      --table=TABLE_ID \
      --async /
      --expiration-date=EXPIRATION_DATE \
      --retention-period=RETENTION_PERIOD
    

    Il flag --async è facoltativo. Utilizzala se desideri che il terminale restituisca l'ID operazione prima del completamento dell'operazione. È utile se vuoi controllare lo stato dell'operazione.

  5. Visualizza l'elenco dei backup per verificare se è stato creato.

    gcloud bigtable backups list --instance=INSTANCE_ID \
      --cluster=CLUSTER_ID
    
  6. Se il backup non è presente nell'elenco, controlla lo stato dell'operazione.

    Lo stato Ready indica che il backup è stato completato.

Ripristina da un backup

Console

Non puoi ripristinare un progetto diverso utilizzando la console Google Cloud. Se necessario, utilizza invece gcloud CLI.

  1. Vai alla pagina Istanze Bigtable nella nella console Google Cloud.

    Apri l'elenco delle istanze

  2. Fai clic sull'istanza che contiene il backup da ripristinare.

  3. Nel riquadro di navigazione a sinistra, fai clic su Backup.

  4. Fai clic su Ripristina in corrispondenza del backup che vuoi ripristinare.

  5. Seleziona l'istanza in cui vuoi eseguire il ripristino.

    Le istanze che non hanno spazio di archiviazione sufficiente per la nuova tabella non disponibile. Se non hai l'autorizzazione per creare una tabella in un non è disponibile. Passa il mouse sopra Icona per ulteriori informazioni.

    Se esegui il ripristino da un backup protetto da CMEK, la destinazione anche l'istanza deve essere protetta da CMEK.

    Non puoi eseguire il ripristino in un altro progetto utilizzando nella console Google Cloud. Se necessario, utilizza gcloud CLI .

  6. Inserisci un ID univoco per la tabella che verrà creata dal backup. Non potrai modificare questo ID in un secondo momento.

  7. Fai clic su Ripristina.

    Nella console viene visualizzata la pagina Tabelle filtrata per mostrare la nuova tabella.

    La console mostra lo stato di ripristino per ciascun cluster. Quando per tutti i cluster mostra lo stato Pronto. La tabella è stata ripristinato e replicato in tutti i cluster nell'istanza.

gcloud

Per tutti i comandi, sostituisci i valori effettivi con i seguenti valori:

  • PROJECT_ID_SOURCE: l'ID del progetto contenente il backup da cui eseguire il ripristino.
  • INSTANCE_ID_SOURCE: l'ID permanente dell'istanza di origine.
  • PROJECT_ID_DESTINATION: l'ID del progetto in cui vuoi eseguire il ripristino. Questo flag è facoltativo. Se non specifichi questa opzione, il backup viene ripristinato su nella stessa istanza in cui è stata creata.
  • INSTANCE_ID_DESTINATION: l'ID permanente dell'istanza di destinazione.
  • CLUSTER_ID: L'identificatore permanente per il cluster.
  • BACKUP_ID: l'ID del backup da cui vuoi eseguire il ripristino.
  • TABLE_ID_NEW: l'ID della nuova tabella.
  1. Se non conosci l'ID istanza, utilizza Comando bigtable instances list per visualizzare un elenco delle istanze del progetto:

    gcloud bigtable instances list
    
  2. Visualizza l'elenco dei backup per l'istanza che contiene il backup, per verificare che il backup esista.

    gcloud bigtable backups list --instance=INSTANCE_ID_SOURCE \
      --cluster=CLUSTER_ID_SOURCE
    
  3. Visualizzare l'elenco delle tabelle nell'istanza di destinazione, così puoi scegliere un ID per la nuova tabella che non sia già in uso.

    gcloud bigtable instances tables list --instances=INSTANCE_ID_DESTINATION
    
  4. Esegui il comando gcloud bigtable instances table restore per eseguire il ripristino dal backup a una nuova tabella.

    gcloud bigtable instances tables restore \
    --source=projects/PROJECT_ID_SOURCE/instances/INSTANCE_ID_SOURCE/clusters/CLUSTER_ID/backups/BACKUP_ID \
    --async \
    --destination=TABLE_ID_NEW \
    --destination-instance=INSTANCE_ID_DESTINATION \
    --project=PROJECT_ID_DESTINATION
    

    Il flag --async è facoltativo. Utilizzala se desideri che il terminale restituisca l'ID operazione prima del completamento dell'operazione. È utile se vuoi controllare lo stato dell'operazione.

  5. Visualizza l'elenco delle tabelle per verificare se è stata creata.

    gcloud bigtable instances tables list --instances=INSTANCE_ID_DESTINATION
    
  6. Se il backup non è presente nell'elenco, controlla lo stato dell'operazione.

Crea una copia di un backup

Console

Non puoi creare una copia di un backup in un altro progetto utilizzando la console. Se necessario, utilizza con gcloud CLI.

  1. Vai alla pagina Istanze Bigtable nella nella console Google Cloud.

    Apri l'elenco delle istanze

  2. Fai clic sull'istanza che contiene il backup da copiare.

  3. Nel riquadro di navigazione a sinistra, fai clic su Backup.

  4. Per il backup che vuoi copiare, espandi il menu Altro accanto all'icona parola Ripristina e fai clic su Copia.

  5. Fai clic su Copia per il backup di cui vuoi creare una copia.

    Se il backup è una copia di un altro backup, il valore di Copia non sarà disponibili.

  6. Seleziona l'istanza di destinazione.

    Non puoi creare una copia di un backup in un altro progetto utilizzando la console. Se necessario, utilizza con gcloud CLI.

    Le istanze che non dispongono di spazio di archiviazione sufficiente per la copia di backup vengono non disponibile. Se non hai l'autorizzazione per creare un backup in un non è disponibile. Tieni il puntatore sopra Icona per ulteriori informazioni.

    Se copi un backup protetto da CMEK, l'istanza di destinazione devono essere a loro volta protette da CMEK.

  7. Seleziona il cluster di destinazione.

    Come ogni backup, una copia di backup viene archiviata in un solo cluster in un anche se utilizza la replica.

  8. Inserisci un ID univoco per la copia che verrà creata dal backup. Tu non potrai modificare questo ID in un secondo momento.

  9. Imposta una scadenza per la copia di backup, fornendo un valore per Tempo e selezionando un'Unità dal menu a discesa.

  10. Fai clic su Copia.

  11. Per visualizzare la copia, fai clic su Visualizza copia.

    Nella console viene visualizzata la pagina Backup per l'istanza di destinazione. filtrato in base alla copia di backup appena creata. Quando viene visualizzata la colonna Stato Pronta: la copia è completa ed è pronta per ulteriori operazioni.

gcloud

Per tutti i comandi, sostituisci i valori effettivi con i seguenti valori:

  • PROJECT_ID_SOURCE: il progetto contenente il backup da copiare.
  • INSTANCE_ID_SOURCE: l'ID permanente dell'istanza di origine.
  • CLUSTER_ID_SOURCE: l'ID del cluster in cui è archiviato il backup di origine.
  • BACKUP_ID_SOURCE: l'ID del backup da copiare.
  • PROJECT_ID_DESTINATION: il progetto in cui vuoi inserire la copia.
  • INSTANCE_ID_DESTINATION: l'ID permanente dell'istanza di destinazione.
  • CLUSTER_ID_DESTINATION: l'ID del cluster nell'istanza di destinazione in cui vuoi archiviare la copia.
  • BACKUP_ID_DESTINATION: l'ID assegnato alla copia del backup.
  • RETENTION_PERIOD: la durata della copia di backup, espressa come un numero e un'unità (d o h). Gli esempi includono 5d per cinque giorni o 15h per 15 ore. Utilizza questa data o una data di scadenza.
  • EXPIRATION_DATE: la data e l'ora di scadenza della copia di backup. nel formato 2022-09-01T10:00:00.0Z.
  1. Se non conosci l'ID istanza, utilizza Comando bigtable instances list per visualizzare un elenco delle istanze del progetto:

    gcloud bigtable instances list
    
  2. Visualizza l'elenco dei backup per l'istanza di origine che contiene per verificare che il backup che vuoi copiare esista.

    gcloud bigtable backups list --instance=INSTANCE_ID_SOURCE \
    --cluster=CLUSTER_ID_SOURCE
    
  3. Visualizza l'elenco dei backup nell'istanza di destinazione, così puoi scegliere e un ID della copia non ancora in uso.

    gcloud bigtable backups list --instances=DESTINATION_INSTANCE
    
  4. Esegui il comando gcloud bigtable instances backup copy per creare la copia di backup.

    gcloud bigtable backups copy \
      --source-project=PROJECT_ID_SOURCE \
      --source-instance=INSTANCE_ID_SOURCE \
      --source-cluster=CLUSTER_ID_SOURCE \
      --source-backup=BACKUP_ID_SOURCE \
      --destination-project=PROJECT_ID_DESTINATION \
      --destination-instance=INSTANCE_ID_DESTINATION \
      --destination-cluster=CLUSTER_ID_DESTINATION \
      --destination-backup=BACKUP_ID_DESTINATION \
    

    Aggiungi il comando con uno dei seguenti elementi:

    • --retention-period`=RETENTION_PERIOD: periodo di conservazione della copia di backup. Deve essere di almeno 6 ore e al massimo 30 giorni dal momento della creazione del backup dell'origine.
    • --expiration-date`=EXPIRATION_DATE: scadenza della copia di backup. Deve essere di almeno 6 ore e al massimo 30 giorni dal momento della creazione del backup dell'origine.

    Se vuoi, puoi aggiungere --async al comando. Usala se vuoi che per restituire l'ID operazione prima del completamento dell'operazione. Questa operazione è utile per controllare lo stato della operativa.

    Se viene restituito un messaggio di timeout, il backup potrebbe essere andato a buon fine e la copia potrebbe essere stata creata.

  5. Visualizza l'elenco dei backup per verificare se la copia è stata creata.

    gcloud bigtable backups list --instances=INSTANCE_ID_DESTINATION
    
  6. Se il backup non è presente nell'elenco, controlla la stato dell'operazione.

Nel raro caso in cui un'operazione di copia di backup non vada a buon fine a causa di limitazioni della capacità, riprova con una destinazione diversa in un cluster Kubernetes. Se anche l'operazione non riesce, contatta l'assistenza.

Controllare lo stato di un'operazione

Console

  1. Vai alla pagina Istanze Bigtable nella nella console Google Cloud.

    Apri l'elenco delle istanze

  2. Fai clic sull'istanza che contiene il backup.

  3. Nel riquadro di navigazione a sinistra, fai clic su Backup.

  4. Nella pagina Backup, fai clic su Attività. Viene visualizzata la colonna di stato lo stato attuale di ogni operazione.

Gli stati delle operazioni durante il ripristino di una tabella sono i seguenti:

  • Copia in attesa
  • Ripristino backup in corso
  • Inizializzazione
  • Ottimizzazione pronta
  • Pronto

Gli stati dell'operazione durante la creazione di un backup sono i seguenti:

  • Creazione del backup in corso
  • Backup completato

Gli stati di operazione durante la copia di un backup sono i seguenti:

  • Copia del backup in corso
  • Backup copiato

gcloud

Per controllare lo stato di un'operazione di backup o ripristino, è necessario l'ID univoco ID dell'operazione. Di seguito è riportato un esempio di ID operazione:

`instances/instance-name/tables/table-name/locations/us-east1-b/operations/917168358249360635`

Dopo aver eseguito un comando per creare un backup o un ripristino in una nuova tabella utilizzando l'opzione --async, il terminale visualizza l'ID operazione.

  1. Copia l'ID operazione.

  2. Esegui l' Descrizione delle operazioni di gcloud bigtable sostituendo il valore copiato OPERATION_ID.

    gcloud bigtable operations describe OPERATION_ID
    

    Esempio:

    gcloud bigtable operations describe \
    instances/instance-name/tables/table-name/locations/us-east1-b/operations/917168358249360635
    

    Puoi eseguire questo comando a intervalli regolari fino a quando il valore di DONE è TRUE.

Se non conosci l'ID operazione, perché non hai appena eseguito il comando o in un'altra finestra del terminale, puoi visualizzare un elenco di operazioni per l'istanza e determinare quale operazione controllo.

  1. Visualizza un elenco delle attività recenti per l'istanza che contiene la tabella in cui stai eseguendo il backup o il ripristino, sostituendo ID dell'istanza per INSTANCE_ID:

    gcloud bigtable operations list --instance=INSTANCE_ID
    

    Il terminale visualizza un elenco di operazioni nelle colonne etichettate NAME, START_TIME, END_TIME e DONE. Il valore nella colonna NAME è l'ID operazione.

  2. Copia l'ID operazione partendo dalla prima voce dell'elenco.

  3. Utilizza gcloud bigtable Operations describe per visualizzare i metadati dell'operazione.

    gcloud bigtable operations describe OPERATION_ID
    

    Esempio:

    gcloud bigtable operations describe \
    instances/instance-name/tables/table-name/locations/us-east1-b/operations/917168358249360635
    
  4. Se i metadati di un'operazione mostrano un valore per backupInfo, abbiano trovato l'operazione corretta, quindi potete ripetere questo comando ogni volta spesso finché il valore di DONE non è TRUE.

    Se nei metadati non è visualizzato un valore per backupInfo, controlla la dall'elenco delle operazioni visualizzato nel passaggio 1.

Modificare una copia di backup o di backup

Console

La console Google Cloud non consente di modificare un backup, inclusi copie.

gcloud

gcloud CLI consente di modificare la data di scadenza per una copia di backup o di backup.

Per tutti i comandi, sostituisci i valori effettivi con i seguenti valori:

  • INSTANCE_ID: L'identificatore permanente dell'istanza.
  • CLUSTER_ID: L'identificatore permanente per il cluster.
  • BACKUP_ID: l'ID univoco di un backup.
  • EXPIRATION_DATE: una data di massimo 90 giorni nella futuro, formattato come "Zulu" Timestamp UTC, preciso in nanosecondi.

    Esempio: 2019-10-02T15:01:23.045123456Z

  • RETENTION_PERIOD: un periodo di massimo 90 giorni, espresso come numero con un'unità di m, h o d (minuti, ore o giorni).

    _Examples_: `36h` or `89d`
    
  1. Visualizza un elenco dei backup:

        gcloud bigtable backups list --instance=INSTANCE_ID
    

    Il terminale visualizza un elenco di backup.

  2. Prendi nota degli ID backup e cluster del backup da aggiornare.

  3. Esegui il comando gcloud bigtable instancesBackup update per aggiungere una nuova data di scadenza o un nuovo periodo di conservazione.

      gcloud bigtable backups update BACKUP_ID \
      --instance=INSTANCE_ID \
      --cluster=CLUSTER_ID \
      --expiration-date=EXPIRATION_DATE \
      --retention-period=RETENTION_PERIOD
    
  4. Esegui il comando gcloud bigtable instancesBackup describe per verificare di aver aggiornato correttamente la scadenza.

        gcloud bigtable backups describe BACKUP_ID \
        --instance=INSTANCE_ID \
        --cluster=CLUSTER_ID
    ```
    

Eliminare un backup

Se vuoi eliminare un backup dopo averne creato una copia, controlla lo stato per verificare che l'operazione di copia sia stata completata.

Console

  1. Vai alla pagina Istanze Bigtable nella nella console Google Cloud.

    Apri l'elenco delle istanze

  2. Fai clic sull'istanza che contiene il backup.

  3. Nel riquadro di navigazione a sinistra, fai clic su Backup.

  4. Per il backup che devi eliminare, espandi il menu Altro accanto alla parola Ripristina, quindi fai clic su Elimina.

  5. Inserisci l'ID backup nel campo Conferma eliminazione, quindi fai clic su Elimina.

gcloud

  1. Visualizza un elenco di backup, sostituendo l'ID del file istanza per INSTANCE_ID:

    gcloud bigtable backups list --instance=INSTANCE_ID
    

    Il terminale visualizza un elenco di backup.

  2. Prendi nota dell'ID backup e dell'ID del cluster in cui è archiviato.

  3. Esegui il comando gcloud bigtable instancesBackup delete, sostituendo l'ID del backup che hai annotato. BACKUP_ID e l'ID cluster per CLUSTER_ID.

    gcloud bigtable backups delete BACKUP_ID \
      --instance=INSTANCE_ID \
      --cluster=CLUSTER_ID
    

Passaggi successivi