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.
Se non conosci l'ID istanza, utilizza Comando
bigtable instances list
per visualizzare un elenco delle istanze del progetto:gcloud bigtable instances list
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
Vai alla pagina Istanze Bigtable nella nella console Google Cloud.
Fai clic sull'istanza che contiene la tabella di cui vuoi eseguire il backup.
Nel riquadro di navigazione a sinistra, fai clic su Tabelle.
Fai clic su Crea backup per la tabella di cui vuoi eseguire il backup.
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.)
Inserisci un ID univoco per il backup.
Imposta una data di scadenza.
Fai clic su Crea.
Nella console viene visualizzata la pagina Backup filtrata in modo da mostrare il backup e i relativi dettagli.
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
od
(minuti, ore o giorni).Esempi:
36h
o89d
Se non conosci l'ID istanza, utilizza Comando
bigtable instances list
per visualizzare un elenco delle istanze del progetto:gcloud bigtable instances list
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
Visualizza l'elenco delle tabelle per confermare l'ID della tabella da ripristinare verso l'alto.
gcloud bigtable instances tables list --instances=INSTANCE_ID
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.Visualizza l'elenco dei backup per verificare se è stato creato.
gcloud bigtable backups list --instance=INSTANCE_ID \ --cluster=CLUSTER_ID
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.
Vai alla pagina Istanze Bigtable nella nella console Google Cloud.
Fai clic sull'istanza che contiene il backup da ripristinare.
Nel riquadro di navigazione a sinistra, fai clic su Backup.
Fai clic su Ripristina in corrispondenza del backup che vuoi ripristinare.
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 .
Inserisci un ID univoco per la tabella che verrà creata dal backup. Non potrai modificare questo ID in un secondo momento.
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.
Se non conosci l'ID istanza, utilizza Comando
bigtable instances list
per visualizzare un elenco delle istanze del progetto:gcloud bigtable instances list
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
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
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.Visualizza l'elenco delle tabelle per verificare se è stata creata.
gcloud bigtable instances tables list --instances=INSTANCE_ID_DESTINATION
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.
Vai alla pagina Istanze Bigtable nella nella console Google Cloud.
Fai clic sull'istanza che contiene il backup da copiare.
Nel riquadro di navigazione a sinistra, fai clic su Backup.
Per il backup che vuoi copiare, espandi il menu Altro accanto all'icona parola Ripristina e fai clic su Copia.
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.
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.
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.
Inserisci un ID univoco per la copia che verrà creata dal backup. Tu non potrai modificare questo ID in un secondo momento.
Imposta una scadenza per la copia di backup, fornendo un valore per Tempo e selezionando un'Unità dal menu a discesa.
Fai clic su Copia.
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 o15h
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
.
Se non conosci l'ID istanza, utilizza Comando
bigtable instances list
per visualizzare un elenco delle istanze del progetto:gcloud bigtable instances list
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
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
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.
Visualizza l'elenco dei backup per verificare se la copia è stata creata.
gcloud bigtable backups list --instances=INSTANCE_ID_DESTINATION
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
Vai alla pagina Istanze Bigtable nella nella console Google Cloud.
Fai clic sull'istanza che contiene il backup.
Nel riquadro di navigazione a sinistra, fai clic su Backup.
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.
Copia l'ID operazione.
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.
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
eDONE
. Il valore nella colonnaNAME
è l'ID operazione.Copia l'ID operazione partendo dalla prima voce dell'elenco.
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
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 diDONE
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
od
(minuti, ore o giorni)._Examples_: `36h` or `89d`
Visualizza un elenco dei backup:
gcloud bigtable backups list --instance=INSTANCE_ID
Il terminale visualizza un elenco di backup.
Prendi nota degli ID backup e cluster del backup da aggiornare.
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
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
Vai alla pagina Istanze Bigtable nella nella console Google Cloud.
Fai clic sull'istanza che contiene il backup.
Nel riquadro di navigazione a sinistra, fai clic su Backup.
Per il backup che devi eliminare, espandi il menu Altro accanto alla parola Ripristina, quindi fai clic su Elimina.
Inserisci l'ID backup nel campo Conferma eliminazione, quindi fai clic su Elimina.
gcloud
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.
Prendi nota dell'ID backup e dell'ID del cluster in cui è archiviato.
Esegui il comando gcloud bigtable instancesBackup delete, sostituendo l'ID del backup che hai annotato.
BACKUP_ID
e l'ID cluster perCLUSTER_ID
.gcloud bigtable backups delete BACKUP_ID \ --instance=INSTANCE_ID \ --cluster=CLUSTER_ID
Passaggi successivi
- Scopri di più sui backup.
- Scopri come importare ed esportare i dati Bigtable.