Questa pagina descrive cos'è un'istantanea, come funziona e illustra le limitazioni e best practice.
Per scoprire come utilizzare gli snapshot, consulta le seguenti guide:
- Mantenere lo stato dei dati con gli snapshot
- Ripristinare un file da uno snapshot
- Ripristinare una condivisione file a uno snapshot precedente
- Pianificare gli snapshot aziendali di Filestore
Che cos'è uno snapshot?
Uno snapshot Filestore è lo stato conservato dei dati della condivisione file nel momento in cui viene creato lo snapshot. L'istanza mantiene lo stato dei file modificati dopo la creazione dello snapshot. Se vuoi ripristinare un file allo stato conservato nello snapshot, puoi sovrascrivere il file corrente con il file della directory dello snapshot pertinente.
Gli snapshot vengono archiviati all'interno dell'istanza Filestore e sono risorse figlie dell'istanza. Non replicano nessun dato né consumano capacità fino a quando i dati sull'istanza non vengono modificati. Tutti gli snapshot di una condivisione di istanze dati comuni, vale a dire che l'istanza conserva solo le differenze gli snapshot.
Mentre gli snapshot offrono efficienza in termini di costi rispetto ad altri Filestore, delle operazioni di recupero dati, la capacità delle istanze disponibili diminuisce continuamente vengono apportate modifiche ai file.
Creazione di snapshot
Ogni directory di una condivisione file contiene una directory .snapshot
nascosta. Ogni directory .snapshot
contiene gli snapshot della directory principale che crei, ad esempio:
volume1/
│ genomics-file.txt
│
└───.snapshot
│
├───snap1/
│ genomics-file.txt
│
├───snap2/
│ genomics-file.txt
│
└───snap3/
genomics-file.txt
Gli snapshot contengono una visualizzazione di sola lettura di tutti i file e le sottodirectory che
esistenti all'interno della directory principale al momento della creazione dello snapshot. Tutti gli attributi dei file, come atime
, ownership
e le autorizzazioni di lettura e scrittura, vengono conservati.
La creazione di uno snapshot in genere non richiede più di due minuti perché non comporta la copia dei dati e non influisce sul rendimento dell'istanza.
Puoi avere fino a 240 snapshot per istanza alla volta. Il nome della condivisione file Il nome dello snapshot può avere una lunghezza complessiva di un massimo di 78 caratteri.
Coerenza degli snapshot
Gli snapshot Filestore hanno una semantica di coerenza NFSv3. Prima dell'avvio di uno snapshot, qualsiasi scrittura che l'istanza Filestore riconosce come scritta in uno spazio di archiviazione stabile o che è seguita da un COMMIT
riconosciuto è inclusa nello snapshot. Per maggiori dettagli, vedi
NFSv3 RFC-1813 sezione 3.3.7.
Prepara la condivisione file per la massima coerenza degli snapshot
La qualità di uno snapshot dipende dalla capacità dell'applicazione di eseguire il ripristino da snapshot creati durante carichi di lavoro di scrittura intensivi. Nella maggior parte dei casi, situazioni, puoi creare snapshot di buona coerenza anche mentre le applicazioni scrivono i dati nella condivisione file. Tuttavia, se le tue applicazioni richiedono a coerenza elevata, ti consigliamo di eseguire una o più delle seguenti operazioni:
- Utilizzare l'opzione di montaggio per sincronizzare o aprire i file
con
O_DIRECT|O_SYNC
. Entrambi i metodi migliorano la coerenza, ma non lo garantiscono. - Metti in pausa le applicazioni o i processi del sistema operativo che scrivono dati nel file condividere e fare il flush delle modifiche alla condivisione file prima per avviare lo snapshot. Per ulteriori informazioni, vedi fsync(2)
- Se le tue applicazioni richiedono coerenza tra più condivisioni, metti in pausa tutte le applicazioni su tutte le istanze che scrivono in tutte le condivisioni file e crea snapshot 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 uno snapshot.
Semantica NFS della directory .snapshot
Le directory .snapshot
sono directory nascoste speciali che contengono
snapshot acquisiti per la directory principale. Tutti i comandi NFS e bash funzionano
in queste directory, con le seguenti eccezioni:
- Non puoi creare un file o una directory con nome
.snapshot
perché sono riservati agli snapshot. - La directory
.snapshot
non è elencata negli output dei comandiREADDIR
oREADDIRPLUS
e non è elencata nemmeno nel comando bashls -a
. - Per passare a una directory
.snapshot
, devi digitare esplicitamente la stringa.snapshot
. Esempio:cd somedir/.snapshot/
- Il completamento automatico per i comandi shell non elenca
.snapshot
come opzione.
Elimina i file acquisiti in uno snapshot
Quando un file viene acquisito in uno snapshot, l'eliminazione non aumenta lo spazio libero sul disco dell'istanza.
Ripristina lo stato di snapshot
Il ripristino di un'istanza a uno stato di snapshot è generalmente disponibile solo per le istanze zonali, SSD con scalabilità elevata, regionali e Enterprise.
Quando un'istanza viene ripristinato allo stato acquisito in uno snapshot, tutti i nuovi dati poiché la creazione dello snapshot di destinazione è stata eliminata e non può essere recuperato. Anche gli snapshot creati dopo lo snapshot target vengono eliminati dalla procedura di ripristino.
Limitazioni delle funzionalità
La funzionalità di ripristino dello snapshot è un'operazione irreversibile che elimina i dati dal file system in tempo reale ed elimina ogni snapshot successivo più recente nella catena. Pertanto, presenta un rischio maggiore di perdita accidentale dei dati. Si tratta di un comportamento molto diverso rispetto al ripristino da un backup, in cui il backup rimarrà nello stato attuale dopo l'utilizzo, consentendoti di tentare di ripristinare da più backup per trovare quello migliore. Utilizza il metodo di ripristino la funzionalità con attenzione.
Tutti i dati scritti dopo la creazione dello snapshot di destinazione vengono eliminati all'inizio del processo di ripristino e non possono essere recuperati. Vengono eliminati anche tutti gli snapshot più recenti dello snapshot di destinazione. Ad esempio:
snapshot1
,snapshot2
esnapshot3
vengono creati in sequenza. Ripristino in corso lo stato acquisito insnapshot2
indica che tutti i dati scritti dopo il giornosnapshot2
, nonché tutti gli snapshot creati dopo la creazionesnapshot2
vengono eliminate durante il processo di ripristino.La pulizia di questi dati eliminati può richiedere da sei ore a dieci giorni. Istanza la capacità e le prestazioni potrebbero risentirne.
Il ripristino dello stato di snapshot di un'istanza aggiorna l'ID del file system NFS (fsid). I tentativi di accedere ai client utilizzando i mount esistenti restituiranno errori relativi a handle file non aggiornati. Come best practice, smonta tutti i client dall'istanza prima del ripristino e rimontarla al termine dell'operazione.
Il completamento di un'operazione di ripristino può richiedere fino a due minuti.
- Qualsiasi pulizia correlata associata all'operazione di ripristino, come l'eliminazione di snapshot successivi della catena possono richiedere da sei ore a dieci giorni completato, a seconda del numero di file coinvolti.
- Puoi eseguire altre operazioni durante l'esecuzione dell'operazione di ripristino e al termine del cleanup.
- Devi attendere il completamento dell'operazione di ripristino prima di avviarne un'altra.
Gli snapshot e le relative operazioni
revert
sono disponibili per la maggior parte dei servizi diversi livelli. Gli snapshot non sono disponibili nei livelli di servizio SSD base e HDD base.Solo le istanze con una singola condivisione possono ripristinare uno stato di snapshot.
Sebbene gli snapshot siano supportati nel livello di servizio Enterprise, non possono essere combinati con la funzionalità Filestore multishare.
Passaggi successivi
- Scopri come creare e gestire gli snapshot.
- Scopri di più sui backup.