Panoramica degli snapshot

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:

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 e i file modificati dopo la creazione dello snapshot. Se vuoi ripristinare mantenendo lo stato nello snapshot, puoi sovrascrivere il file attuale con il file dalla directory snapshot pertinente.

Gli snapshot vengono archiviati all'interno dell'istanza Filestore e sono elementi figlio e le risorse 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.

Creazione di snapshot

Ogni directory di una condivisione file contiene una directory .snapshot nascosta. Ciascuna La directory .snapshot contiene gli snapshot della directory principale che hai creare, 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 i file come atime, ownership e le autorizzazioni di lettura e scrittura sono vengono conservati.

In genere, la creazione di snapshot non richiede più di due minuti perché non prevede la copia dei dati e non influisce sull'istanza delle prestazioni.

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 di uno snapshot viene avviata, qualsiasi scrittura confermata dall'istanza Filestore in uno spazio di archiviazione stabile o che sia seguito da un valore COMMIT confermato incluso nello snapshot. Per maggiori dettagli, vedi NFSv3 RFC-1813 sezione 3.3.7.

Prepara la condivisione file per ottenere la migliore coerenza possibile 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 applicazioni su tutte le istanze che scrivono in tutte le condivisioni file e creano gli snapshot di tutte le condivisioni file prima di riprendere le applicazioni.
  • Se hai bisogno di coerenza a livello di applicazione, arresta le tue applicazioni 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 di READDIR o READDIRPLUS e non è nemmeno elencato nel comando bash ls -a.
  • Per passare a una directory .snapshot, devi digitare esplicitamente il Stringa .snapshot. Esempio: cd somedir/.snapshot/
  • Il completamento automatico per i comandi shell non elencherà .snapshot come opzione.

Elimina i file acquisiti in uno snapshot

Quando un file viene acquisito in uno snapshot, la sua eliminazione non aumenta la disponibilità del disco lo spazio disponibile sulla tua istanza.

Ripristina lo stato di snapshot

Il ripristino di un'istanza allo stato di snapshot è disponibile pubblicamente per SSD a livello di zona, a livello di regione e istanze aziendali.

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. Vengono eliminati anche gli snapshot creati dopo lo snapshot di destinazione dal processo di ripristino.

Limitazioni delle funzionalità

  • La funzionalità di ripristino dello snapshot è un'operazione irreversibile, in cui i dati vengono eliminati ed eliminare ogni successivo snapshot più recente nel file system o la catena di fornitura. Di conseguenza, aumenta il rischio di perdita accidentale di dati. Questo è un comportamento notevolmente diverso rispetto al ripristino da un backup, in cui il backup rimarrà nello stato attuale dopo l'uso, consentendoti tenta 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. Tutti gli snapshot più recenti rispetto allo snapshot di destinazione. Ad esempio: snapshot1, snapshot2 e snapshot3 vengono creati in sequenza. Ripristino in corso lo stato acquisito in snapshot2 indica che tutti i dati scritti dopo il giorno snapshot2, nonché tutti gli snapshot creati dopo la creazione snapshot2 vengono eliminati durante il processo di ripristino.

    La pulizia dei 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). Tentativi per accedere ai client utilizzando montaggi esistenti, restituirà gli errori di gestione dei file inattivi. 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 mentre è in corso l'operazione di ripristino e mentre la pulizia è in corso.
    • Devi attendere il completamento dell'operazione di ripristino prima di avviarne un'altra l'operazione di ripristino.
  • Gli snapshot e le relative operazioni revert sono disponibili per la maggior parte dei servizi diversi livelli. Gli snapshot non sono disponibili nell'unità SSD di base. i livelli di servizio HDD di base.

  • Solo le istanze con una singola condivisione possono tornare allo stato di snapshot.

  • Sebbene gli snapshot siano supportati nel livello di servizio Enterprise, non possono essere combinate con le condivisioni multiple di Filestore funzionalità.

Passaggi successivi