Quali filesystem offrono funzionalità di snapshot per gli utenti di recuperare i dati?


8

Sto lavorando a un progetto che insegnerà Linux ai giovani. Sapendo che avranno la tendenza a eliminare o corrompere gli elementi nelle loro directory home, stiamo cercando una buona opzione per le istantanee. Non avremo accesso a fantasiosi strumenti disponibili dai principali fornitori di archiviazione e speriamo di trovare una soluzione a livello di file system.

Ho letto molto su btrfs ma ho poca esperienza. Ho una certa esperienza con LVM ma non ho familiarità con la sua funzione di snapshot. Il filesystem o un altro hanno la possibilità di creare istantanee su richiesta o pianificate? Quindi rendere queste istantanee sempre disponibili senza root in una cartella .snapshot in ogni cartella home?

In teoria, questa soluzione consente all'utente di ripristinare automaticamente i backup su richiesta entro una finestra di 24 a 48 ore. Avremo un altro processo di backup per il sistema e più backup globali. Ma non vogliamo che questo processo venga utilizzato dagli studenti che fanno semplicemente "errori".


LVM crea un'istantanea del dispositivo a blocchi. Il filesystem (la maggior parte di quelli moderni) sulla partizione viene modificato syncpoco prima della creazione dell'istantanea. Per recuperare alcuni dati dall'istantanea, è necessario montarli. Ma tieni presente che ogni snapshot ha dimensioni. Lo spazio viene utilizzato per archiviare le differenze tra lo stato dell'istantanea e lo stato corrente, pertanto non è una buona idea archiviare l'istantanea come backup.
HUB

@Hub Grazie per il feedback. Forse "backup" è la parola sbagliata. Poiché questa non sarà una forma primaria di backup o archiviazione. Riconosciamo che sarà necessario spazio per diff o qualunque altro meccanismo utilizzato dal filesystem / volume manger. L'obiettivo però è fornire un'istantanea temporanea in modo che gli studenti che commettono errori possano ripristinare e recuperare rapidamente le informazioni precedenti. Non faranno le migliori pratiche per salvare i propri backup prima di apportare modifiche nonostante la nostra formazione e quindi vogliono aiutarli a superare questo.
Grey Race

1
Non ho esperienza di questo tipo ma penso che tu abbia bisogno di qualcosa del genere: en.wikipedia.org/wiki/Versioning_file_system LVM non è adatto perché dovrai montare e copiare ogni file (o tenere traccia dei file modificati) ripristinare. LVM non ha un "ripristino" interno.
HUB

Risposte:


6

Su Linux, btrfs è la tua opzione principale per le istantanee all'interno di un filesystem, ma non è ancora stabile, sebbene abbia alcuni strumenti fsck e di riparazione .

ZFS è un'altra opzione, da Solaris. Anche se in teoria potresti usarlo sotto Linux, è per lo più implementato solo in userland (anche se c'è del lavoro su un'implementazione basata su kernel) e non è nelle distribuzioni Linux standard.

Questa risposta LVM ha alcuni dettagli sui pro e contro dell'utilizzo di snapshot LVM e alcuni collegamenti btrfs / ZFS. Con alcuni filesystem (ext3 e XFS), LVM si occuperà di congelare FS prima di eseguire l'istantanea, ma le istantanee LVM possono avere problemi di prestazioni e presentare ancora alcuni bug.

Non credo che LVM sia un'ottima soluzione per la tua applicazione "istantanea dei dati utente", e btrfs / ZFS non sono ancora adatti [dal 2011].

Invece, potresti voler guardare rsnapshot , che è uno strumento per lo spazio utente che crea in modo efficiente istantanee usando qualsiasi filesystem, senza usare LVM. Poiché utilizza rsync e memorizza le istantanee in directory successive, utilizzando collegamenti reali tra diverse istantanee se un file non è cambiato, può essere eseguito sorprendentemente rapidamente anche su insiemi di file ragionevolmente grandi. È molto utilizzato per i backup ma può anche essere utilizzato per questo tipo di requisiti di snapshot dei dati utente e con una piccola configurazione può consentire a chiunque di ripristinare i propri file di snapshot, utilizzando NFS o Samba di sola lettura - vedere questa sezione HOWTO su ripristino dei file . I file possono essere ripristinati con strumenti Linux standard poiché rsnapshot rispecchia la directory di origine in ciascuna directory di snapshot.

rsnapshot è abbastanza flessibile usando le sue caratteristiche standard e poiché è scritto in Perl è abbastanza facile personalizzarlo, ad esempio se si desidera fornire istantanee su richiesta. Gli svantaggi principali rispetto agli snapshot del file system sono la velocità e lo spazio su disco: ogni file che cambia risulta in una nuova copia nell'istantanea, mentre gli snapshot del file system copiano solo i nuovi blocchi nel file.


Grazie mille per il seguito. Guarderò più da vicino rsnapshot lunedì.
Grey Race

2

Ho appena visto QUESTA pagina su Wikipedia, c'è una colonna di funzionalità per le istantanee - volevo solo che le persone ne fossero consapevoli in futuro.


1

A questo scopo non dovresti usare le istantanee LVM perché impongono una forte penalizzazione delle prestazioni (specialmente se hai più istantanee "rolling" attive contemporaneamente). Sfortunatamente Linux semplicemente non ha file system maturi con supporto per le istantanee.

Pertanto raccomando di usare FreeBSD sul tuo file server. Il formato predefinito del file system UFS2 supporta gli snapshot. FreeBSD include anche una corretta implementazione di ZFS (a differenza del brutto Kludge trovato in Linux) con istantanee e molte altre funzionalità molto avanzate. Se abbinato a un semplice strumento come questo è abbastanza simile a quello che offrono i fornitori di storage di fascia alta come NetApp.

Se hai un server dedicato a funzionare come file server, potresti voler guardare FreeNAS che comprime FreeBSD e ZFS in un sistema simile ad un dispositivo.


1
Un buon punto, e chiaramente UFS2 o ZFS sono utilizzabili su FreeBSD mentre non lo sono (ZFS) su Linux. Tuttavia, la domanda originale menziona "insegnare Linux ai giovani", quindi sarebbe necessario un NAS FreeBSD separato. Inoltre, non so se i snapshotcomandi FreeBSD collegati possano essere usati da utenti non root. Poiché gli studenti imparerebbero Linux, è meglio se le istantanee possono essere create e utilizzate da utenti non root. rsnapshotlo rende ragionevolmente semplice e, con un po 'di lavoro di installazione, ogni utente potrebbe avere il proprio albero di snapshot di proprietà di se stesso.
RichVel,

Suppongo che i giovani non abbiano accesso al file server, ma che sia montato con NFS o simile alle workstation Linux in cui imparano Linux. Non hanno bisogno di conoscere l'architettura del file server. L' snapshotutilità collegata ha la funzionalità che consente di rendere disponibili le istantanee agli utenti, quasi come su NetApp. Non è necessario eseguire rsnapshotper creare manualmente imitazioni di istantanee quando è possibile utilizzare un sistema operativo migliore (a tale scopo) che implementa le istantanee nel codice del file system. Le istantanee corrette sono atomiche.
scatto il

Questa è un'opzione praticabile da considerare. Sono preoccupato per il filesystem e l'overhead di rete con NFS. Come parte di 'learning linux' gli studenti saranno compilando codice, eseguendo database e altri processi ad alta intensità di I / O. Faranno tutto questo lavoro nelle loro directory home. Se questo è collegato in rete su NFS, sono preoccupato per una penalità prestazionale. Ciò riguarda in particolare un sistema homebrew poiché il nostro NAS di produzione non è disponibile per vari motivi politici. La funzionalità snapshot è secondaria rispetto alle prestazioni di base poiché disponiamo di sistemi di backup globali ma desideriamo snapshot self-service.
Grey Race,

I database su NFS sembrano un po 'pelosi, anche se a quanto pare può funzionare se il carico non è troppo elevato e si utilizza una versione DBMS recente: serverfault.com/questions/30525/mysql-5-1-34-on-nfs-w- netapp . Dovresti anche eseguire sia FreeBSD che Linux nel tuo laboratorio, il che potrebbe essere positivo se hai gli studenti più in grado di aiutare (qualcosa di nuovo da imparare) o cattivo se lo fai tutto da solo e hai poco tempo.
RichVel,

Per quanto riguarda l'affermazione "Brutto Kludge trovato in Linux", presumo che ciò si riferisca a zfs-fuse.net (che in effetti sembra un modo non ottimale di implementarlo). Si noti tuttavia che ZFS è disponibile anche in un'implementazione "normale", zfsonlinux.org (sebbene non sia direttamente incluso nel kernel a causa di problemi di licenza).
hlovdal,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.