Questa pagina descrive cos'è un backup, il suo funzionamento, alcuni casi d'uso comuni e le best practice per la creazione e l'utilizzo dei backup. Per scoprire come creare e gestire i backup e come ripristinare un'istanza Filestore da un backup, vedi Effettuare il backup dei dati per il ripristino di emergenza.
Che cos'è un backup?
Un backup di Filestore è una copia di una condivisione file che include tutti i dati e i metadati dei file a partire dal momento in cui viene creato il backup.
Dopo aver creato il backup di una condivisione file, puoi modificare o eliminare la condivisione file originale senza influire sul backup.
Puoi utilizzare un backup per ripristinare una condivisione file in una nuova istanza Filestore o, per le istanze di livello base, nell'origine o in una condivisione file esistente.
I backup sono risorse di regione che rimangono all'interno della regione specificata al momento della creazione. Puoi creare backup nella stessa regione dell'istanza Filestore o in un'altra regione per ridurre il rischio di perdita di dati.
I backup sono indirizzabili a livello globale e possono essere utilizzati per ripristinare le condivisioni file in qualsiasi regione, ma non possono essere condivisi tra progetti.
Creazione backup
Il primo backup che crei è una copia completa di tutti i dati e i metadati dei file in una condivisione file. Ogni backup successivo copia tutte le modifiche successive apportate ai dati dal backup precedente.
Un gruppo di backup associati alla stessa istanza, regione e CMEK (se utilizzata) è chiamato catena di backup.
Una catena di backup si trova in un singolo bucket e in una singola regione di Cloud Storage e può essere localizzata al di fuori della regione utilizzata per archiviare l'istanza di origine.
Tutti i livelli di servizio supportano più catene di backup, consentendoti di archiviare i backup di un'istanza in più regioni.
Ogni volta che viene creato un backup, quello precedente viene analizzato sia per le modifiche differenziali che per quelle incrementali:
Modifiche differenziali: include le modifiche apportate ai file nella condivisione, come modifiche, aggiunte o eliminazioni di file.
Modifiche incrementali: include le modifiche allo spazio di archiviazione nel bucket in cui si trovano i dati di backup. Ciò potrebbe includere la deduplicazione dei dati a cui si fa riferimento in precedenza nella catena.
Ogni volta che salvi un backup nella stessa catena di backup, il backup precedente viene analizzato per rilevare eventuali modifiche differenziali e incrementali. In questi casi, non è necessaria una copia completa.
Tuttavia, l'archiviazione dei dati di un'istanza in più catene di backup implica il salvataggio e l'archiviazione dei backup in località alternative.
Ogni volta che crei un nuovo backup in una posizione alternativa, viene generata di nuovo una copia completa del backup. Prevedi una latenza maggiore nelle operazioni create
di backup in alternanza tra catene di backup.
I dati non modificati contenuti nei backup precedenti fanno riferimento ai backup più recenti, ma non vengono copiati. Se viene eliminato un backup precedente, i relativi dati univoci vengono copiati nel backup più recente più recente e tutti i riferimenti ai dati interni vengono aggiornati automaticamente.
La creazione dei backup è istantanea, ma richiede un periodo proporzionale alla quantità di dati copiati prima che il backup sia disponibile per l'uso. Durante questo periodo, il backup passa attraverso tre stati:
Stato | Durata | Descrizione |
---|---|---|
Creazione in corso | Alcuni secondi | Acquisizione dello stato attuale della condivisione file in corso... Eventuali nuove modifiche ai dati della condivisione di file potrebbero essere incluse o meno nel backup. Sono incluse le scritture stabili riconosciute dall'istanza prima dell'avvio del backup. |
Finalizzazione | Dipende dalle dimensioni | Caricamento dei dati nel backup in corso. Eventuali nuove modifiche ai dati della condivisione file non vengono incluse nel backup. |
Tutto pronto | Fino all'eliminazione del backup | Il backup è pronto per l'uso. |
Dopo la creazione, i backup di livello base vengono compressi automaticamente per ridurre i costi. Le prestazioni delle istanze possono essere ridotte durante la creazione di un backup per le istanze nei livelli di servizio di zona (precedentemente SSD ad alta scalabilità) e Enterprise. La creazione di un backup non influisce sulla disponibilità o sulle prestazioni delle istanze di livello base.
Eliminazione backup
I backup sono risorse a livello di progetto, non una sottorisorsa dell'istanza di origine, e richiedono un proprio spazio di archiviazione separato. Di conseguenza, il ciclo di vita di un backup non è associato a quello dell'istanza di origine. L'eliminazione dell'origine non elimina i backup associati. Se vuoi eliminare un backup, devi eseguire esplicitamente un'operazione di eliminazione sul backup, non sull'istanza.
Assicurati di eliminare eventuali backup indesiderati. Se un'istanza di origine viene eliminata, gli eventuali backup rimanenti continuano a generare costi.
L'eliminazione di un backup è definitiva e irreversibile.
Coerenza del backup
I backup di Filestore hanno la semantica della coerenza NFSv3. Prima di avviare un backup, qualsiasi scrittura che l'istanza Filestore riconosce come scritta nello spazio di archiviazione stabile o seguita da un COMMIT
confermato viene inclusa nel backup. Per maggiori dettagli, consulta la sezione NFSv3 RFC-1813 sezione 3.3.7.
Casi d'uso comuni
Le seguenti sezioni descrivono i casi d'uso comuni per i backup.
Backup dei dati per il ripristino di emergenza
Immagina di avere un'istanza Filestore in us-west1-c
e di voler proteggere i tuoi dati da eventuali emergenze che interessano questa regione. Puoi pianificare un job che crei regolarmente backup di questa istanza in una regione remota, ad esempio us-
east1
. Se si è verificata un'emergenza che ha interessato us-west1-c
, puoi creare una nuova istanza in un'altra posizione da qualsiasi backup precedente.
Backup dei dati per proteggersi da modifiche accidentali
Se vuoi proteggere i tuoi dati di Filestore da modifiche indesiderate, puoi pianificare un job che crei regolarmente backup dell'istanza. Se perdi dati, puoi sfogliare l'elenco dei backup per identificare quello con la versione del file necessaria. Quindi, puoi creare una nuova istanza Filestore dal backup, montarla sullo stesso client dell'istanza originale e copiare il file.
Prima di copiare il file, puoi utilizzare il comando di Linux diff
sui due punti di montaggio per verificare le differenze tra i dati sull'istanza originale e i dati ripristinati dal backup. Una volta recuperati i dati, puoi eliminare l'istanza ripristinata e creare un nuovo backup per conservare lo stato attuale dei dati per un utilizzo futuro.
In alternativa, puoi eseguire un ripristino in loco, in cui i dati di backup vengono ripristinati direttamente nell'istanza originale di Filestore, sostituendo tutti i dati al suo interno con quelli del backup. Ti consigliamo di creare un backup dei dati più recenti prima di eseguire un ripristino in loco, in quanto tutti i dati non supportati andranno persi.
Creazione di cloni per sviluppo e test
Immagina di avere un database configurato su un'istanza Filestore che gestisce traffico di produzione. Se vuoi eseguire un test con un database come input, puoi creare una nuova istanza Filestore da un backup dell'istanza di produzione per il test. In questo modo, l'utilizzo del test non interferisce con la produzione.
Allo stesso modo, puoi utilizzare i backup per l'analisi e l'indagine offline senza influire sulla produzione.
Migrazione dei dati
Dopo aver creato un'istanza Filestore, non puoi modificarne la località o il livello di servizio. Per eseguire la migrazione dei dati in un'altra regione, puoi creare un backup e utilizzare il backup per creare una nuova istanza Filestore o ripristinarla in un'istanza esistente.
Inoltre, quando crei una nuova istanza Filestore da un backup, puoi scegliere tra i livelli HDD di base e SSD di base, indipendentemente dal livello dell'istanza di origine.
Limitazioni delle funzionalità
I backup di Filestore sono ora in disponibilità generale (GA) per SSD di base, HDD di base e istanze aziendali ed è una funzionalità di anteprima per le istanze di zona.
Si applicano le seguenti limitazioni:
Ti consigliamo di creare un nuovo progetto per abilitare la funzionalità per le istanze di livello a livello di zona. I carichi di lavoro di produzione devono sempre risiedere in progetti separati dai carichi di lavoro di anteprima.
I backup di Filestore non possono essere combinati con la funzionalità Multishares di Filestore.
Una volta implementati i prezzi, verranno applicate le relative tariffe.
Gli utenti devono creare un nuovo backup o nuovi backup per sostituire quelli creati nell'anteprima. I backup creati in Anteprima sono soggetti a eliminazione. I backup creati in anteprima riflettono il comportamento delle funzionalità disponibili al momento della creazione. I backup esistenti non vengono aggiornati quando vengono rilasciate nuove funzionalità.
Le seguenti sezioni descrivono in dettaglio altre limitazioni delle funzionalità relative a prestazioni, spazio di archiviazione, capacità e crittografia:
Prestazioni
Numerose modifiche apportate tramite molti collegamenti rigidi allo stesso file (ad esempio, decine o centinaia di migliaia) possono influire sulle prestazioni.
Per le istanze molto utilizzate, le prestazioni possono essere ridotte fino al 15% durante il caricamento di un backup. Le prestazioni delle istanze di livello base non sono influenzate dalle operazioni
create
di backup.L'archiviazione dei dati di un'istanza in più catene di backup influisce sulle prestazioni del backup. Puoi aspettarti una maggiore latenza sulle operazioni di backup
create
in alternanza tra catene di backup.Le operazioni dell'istanza, come l'istanza
restore
o l'istanzadelete
, possono essere ritardate fino al completamento di un'operazione di backupcreate
.In alcuni casi, il completamento delle operazioni di
delete
può richiedere fino a 24 ore.
Contemporaneità delle operazioni
Le operazioni di backup
delete
associate alla stessa istanza di origine devono essere eseguite una alla volta.Le operazioni di backup
delete
collettivo all'interno di una catena di backup non sono supportate. Mentre un'operazionedelete
è in attesa, qualsiasi nuova operazionedelete
all'interno della stessa catena di backup restituisce un erroreRESOURCE_EXHAUSTED
. Questo avviene indipendentemente dal fatto che l'istanza di origine sia stata eliminata.Se l'istanza di origine è stata eliminata, gli utenti riceveranno un errore
FAILED_PRECONDITION
simile.Questo limite si applica a ogni livello di servizio, tranne che per l'SSD di base e l'HDD di base.
Tieni presente che Filestore supporta le operazioni
delete
di backup simultanee quando i backup fanno riferimento a istanze di origine separate.Ad esempio, un'istanza con etichetta
Source1
ha dati di backup a cui fanno riferimentoBackup1
eBackup2
.Source2
contiene dati di backup a cui fanno riferimento inBackup3
eBackup4
.Backup1
eBackup2
non possono essere eliminati in parallelo, ma è possibile farlo conBackup2
eBackup3
.
Le operazioni di backup
create
edelete
di backup avviate all'interno della stessa catena di backup possono essere eseguite contemporaneamente. Tuttavia, gli utenti non possono completare un'operazione di backupcreate
mentre è in corso l'eliminazione del backup più recente.- Se l'utente tenta di creare un nuovo backup dell'istanza mentre è in corso l'eliminazione del backup più recente, riceverà un errore
FAILED_PRECONDITION
. Ad esempio, seSource1
ha una catena di backup composta daBackup1
eBackup2
e l'utente avvia un'operazionecreate
perBackup3
, non potrà eliminareBackup2
fino al completamento dell'operazionecreate
. Questo perché il backup più recente contiene i dati più critici necessari per completare correttamente l'operazione di backupcreate
.
- Se l'utente tenta di creare un nuovo backup dell'istanza mentre è in corso l'eliminazione del backup più recente, riceverà un errore
Archiviazione
Le operazioni di backup
restore
nell'istanza di origine o in un'istanza esistente non sono supportate per le istanze di livello aziendale e di zona. Se vuoi ripristinare il backup di un'istanza in uno di questi livelli di servizio, devi creare una nuova istanza.Le operazioni di backup, come
restore
,edit
odelete
, potrebbero non essere disponibili per alcuni backup creati in anteprima.Dopo aver applicato un'operazione RestoreInstance a un'istanza aziendale, non potrai creare snapshot con gli stessi nomi degli snapshot precedenti prima dell'operazione.
I tentativi di ripristinare un'istanza da un backup mentre è in corso l'eliminazione di un backup o di uno snapshot non andranno a buon fine.
Se l'eliminazione di un backup non va a buon fine, lo stato viene contrassegnato come
invalid
. In questi casi, devi riprovare l'operazionedelete
.
Capacità
Ogni backup occupa capacità dell'istanza. Questa capacità varia in base all'ambito delle modifiche apportate ai dati dall'ultima creazione dell'ultimo backup.
In particolare, quando viene creato un backup, Filestore crea uno snapshot interno del file system che occupa anche una parte della capacità disponibile per l'istanza.
Le dimensioni dello snapshot sono anche relative all'ambito delle modifiche apportate ai dati all'interno della condivisione dall'ultima creazione dell'ultimo backup. Questo snapshot continua a esistere fino a quando non verrà creato e caricato il backup successivo.
Tutti i dati a cui fa riferimento il backup rimangono nello stato in cui erano al momento dell'acquisizione e continuano a occupare capacità dal file system. Quindi, ad esempio, se devi eliminare dati dal file system montato, l'azione stessa non libera spazio. Per farlo, devi invece creare un nuovo backup dopo aver eliminato o sovrascritto quantità significative di dati.
Per prevedere una capacità sufficiente per i tuoi carichi di lavoro, valuta la possibilità di applicare uno dei seguenti elementi:
- Aumenta la capacità delle istanze per i carichi di lavoro con modifiche significative e frequenti dei dati o con un'elevata frequenza di modifica.
Crittografia
Quando utilizzi CMEK per criptare le catene di backup, si applicano le seguenti limitazioni:
Un'intera catena di backup viene criptata utilizzando la stessa CMEK.
Una chiave CMEK deve risiedere nella stessa regione della risorsa criptata.
Se archivi una catena di backup in una regione separata dall'istanza di origine, potresti dover applicare chiavi separate, una per l'origine e una per la catena di backup.
- Tutti i livelli di servizio supportano più catene di backup o la possibilità di archiviare i backup di un'istanza in più regioni. Se scegli di utilizzare CMEK per la crittografia, una chiave CMEK deve risiedere nella stessa regione della risorsa criptata. Se archivi i backup in un'area geografica separata dall'origine e CMEK non è una chiave multiregionale, devi utilizzare chiavi CMEK separate. Per saperne di più, vedi Restrizioni CMEK e Scelta della località CMEK migliore.
Una singola CMEK viene applicata al bucket Cloud Storage in cui è archiviata la catena di backup e non può essere combinata o sostituita.
Il supporto CMEK non è disponibile per i backup di livello base.
Per saperne di più, consulta Supporto CMEK per catene di backup.
best practice
Le seguenti sezioni descrivono le best practice consigliate.
Preparazione della condivisione file per la migliore coerenza del backup
La qualità di un backup dipende dalla capacità dell'applicazione di eseguire il ripristino dai backup creati durante carichi di lavoro di scrittura intensi. Nella maggior parte dei casi, puoi creare backup con una buona coerenza anche mentre le applicazioni scrivono dati nella condivisione file. Tuttavia, se le applicazioni richiedono una costanza rigorosa, ti consigliamo di eseguire una o più delle seguenti operazioni:
- Utilizza il montaggio di sincronizzazione. Per ulteriori informazioni, consulta la sezione "L'opzione di montaggio della sincronizzazione" in nfs(5).
In alternativa, puoi aprire i file con i flag
O_DIRECT|O_SYNC
. Per ulteriori informazioni, consulta open(2). - Metti in pausa le applicazioni o i processi del sistema operativo che scrivono dati nella condivisione file e causano lo svuotamento delle modifiche alla condivisione file prima di avviare il backup. Per ulteriori informazioni, consulta fsync(2).
- Se le tue applicazioni richiedono coerenza tra più condivisioni, metti in pausa tutte le applicazioni su tutte le istanze che scrivono su tutte le condivisioni file e crea backup di tutte le condivisioni file prima di riprendere le applicazioni.
- Se hai bisogno di coerenza a livello di applicazione, interrompi le applicazioni e smonta la condivisione file prima di creare un backup.
Utilizzo dei backup esistenti come base per nuovi backup al fine di ridurre i tempi di creazione dei backup
I backup esistenti di una condivisione file all'interno di una regione vengono utilizzati come base per la creazione di nuovi backup della condivisione file, riducendo così i tempi di creazione dei backup. Pertanto, ti consigliamo di procedere nel seguente modo:
Esegui un nuovo backup di una condivisione file prima di eliminare il backup precedente della condivisione file.
Attendi che i nuovi backup siano nello stato
Ready
prima di creare backup successivi della stessa condivisione file.
Pianificare i backup in orari diversi da quelli di punta per ridurre i tempi di creazione dei backup
La creazione di backup al di fuori delle ore di punta riduce il tempo necessario per creare un backup. Se pianifichi backup regolari delle condivisioni file, ti consigliamo di pianificarli anche al di fuori delle ore di punta, se possibile.
Gli orari di punta per la creazione dei backup sono la fine di ogni giorno lavorativo e la mezzanotte dell'area geografica in cui si trova l'istanza Filestore. Ti consigliamo di creare i backup al mattino presto o durante la giornata lavorativa.
Organizzazione dei dati in istanze Filestore separate per massimizzare l'efficienza
Maggiore è il numero di dati nella condivisione file, maggiore è la dimensione del backup e maggiore è il costo. Per eseguire il backup solo dei dati necessari, ti consigliamo di organizzare i dati in condivisioni file separate, ovvero:
- Archiviazione di dati critici con pattern di scrittura diversi o con requisiti di backup diversi su diverse condivisioni file.
- Ridurre il numero di backup che devi creare conservando i dati simili in un'unica condivisione file.
Quota
Esiste un limite di quota relativo al numero di backup per regione per i livelli di servizio SSD di base e HDD di base.
I limiti di quota di backup non si applicano ai livelli di servizio di zona e aziendali.
Per ulteriori informazioni, consulta Livelli di servizio e quota.
Inizia a utilizzare i backup di Filestore
Per iniziare a utilizzare la funzionalità, vedi Effettuare il backup dei dati per il ripristino di emergenza.
Passaggi successivi
- Scopri come eseguire il backup e il ripristino delle condivisioni file.
- Scopri come pianificare i backup utilizzando Cloud Scheduler.
- Scopri di più sulle regioni e sulle zone di Google Cloud.
- Scopri di più sui pricing dei backup.