
ZFS è l’acronio di Zettabyte File System, un file system rivoluzionario sviluppato da Sun per il suo sistema operativo OpenSolaris. Si tratta di un file system unico nel suo genere, ad alte prestazioni, affidabilità e con molte caratteristiche particolari per la gestione, l’ampliamento, la clonazione, l’auto riparazione, etc.
ZFS per la sua licenza non entrerà facilmente nei repository ufficiali di Ubuntu ma esiste un port non seguito da Sun, sia in forma sorgente sia come pacchetto per Debian che funziona facilmente anche su Ubuntu.
Si tratta del progetto ZFS on FUSE/Linux (abbreviato in zfs-fuse), nato come competizione per il Google Summer of Code 2006, tuttora in fase beta per cui si raccomanda di non impiegarlo in situazioni importanti, poiché presenta ancora numerosi problemi, pur essendo pienamente usabile per un uso normale.
Principi di funzionamento e vantaggi d’uso
Prima di installare ed iniziare l’uso di ZFS è necessario capirne le caratteristiche, il funzionamento e quindi poterne apprezzare i suoi vantaggi. La sua struttura rivoluzionaria è studiata per superare i limiti dei file system classici e l’organizzazione dei singoli dischi in partizioni, da montare ove serva.
ZFS ha al centro della sua organizzazione gli insiemi di spazi, chiamati pools. Ogni pool può essere composto di uno o più dischi interi, oppure partizioni o anche singoli files usati come contenitori dei dati. Ad un singolo pool può essere aggiunta un’infinità di questi dischi di vario genere, anche di tipo e dimensioni differenti, senza riformattare o ripartizionare.
Proprio il concetto del partizionamento non ha più senso con ZFS, infatti all’interno di un pool è possibile creare diverse partizioni chiamate file system, senza un’allocazione iniziale, tutti i files system condivideranno il pool e le dimensioni non sono fisse tra loro. Quando tutto lo spazio nel pool è pieno, sarà possibile aggiungere un nuovo disco/partizione/file al pool e tutti i file system al suo interno ne beneficieranno, il tutto senza nemmeno dover fermare o riavviare il sistema né smontare i file system.
All’interno di un pool è anche possibile assegnare delle percentuali di spazio riservato, oppure delle quote massime di utilizzo dello spazio. E’ possibile creare dei sistemi raid software sia mirroring (raid-1) sia raidz, questi ultimi simili ai raid-5 ma senza sprechi di spazio, fino ad ottenere un’affidabilità assoluta. Ogni singolo blocco di dati in un file system ZFS possiede un checksum che se, durante una lettura non corrisponde con quello calcolato, verrà riletto da un altro disco in raid e automaticamente corretto il blocco danneggiato.
Altre caratteristiche uniche includono le snapshot, ovvero delle copie in sola lettura dei volumi, e le clonazioni che generano un nuovo file system ZFS da uno preesistente, possibilità native di backup incrementali, numero e dimensioni di files directory praticamente infiniti, compressione dei dati, e migrazione semplice dei volumi, il tutto con l’uso di due soli e semplici comandi: uno per i pool (zpool) e uno per i file system al loro interno (zfs).
Installazione di zfs-fuse
Dal sito ufficiale è possibile scaricare i sorgenti aggiornati o i pacchetti rilasciati per Debian, installabili a mano oppure inserendo il relativo repository APT. Possiamo inserire il repository tramite Sorgenti Software, indicando il percorso:
deb http://fushizen.net/zfs-fuse ./
Oppure lavorando esclusivamente col terminale eseguiamo i seguenti comandi:
sudo -s -H echo -e '\ndeb http://fushizen.net/zfs-fuse ./\n' >> /etc/apt/sources.list apt-get update apt-get install zfs-fuse
Verrà inserito il repository tra quelli usati da APT, aggiornato l’elenco dei software disponibili ed installato il pacchetto zfs-fuse. Trattandosi di un repository esterno senza chiave di autenticazione verrà mostrato il seguente messaggio di avvertimento:
ATTENZIONE: i seguenti pacchetti non possono essere autenticati! zfs-fuse Installare questi pacchetti senza la verifica [s/N]?
Proseguire immettendo s seguita da Invio. Al termine dello scaricamento e dell’installazione sarà mostrato il messaggio di conferma:
* Starting zfs-fuse zfs-fuse [ OK ] * Mounting ZFS filesystems... [ OK ]
Da adesso in poi sarà possibile utilizzare ZFS mediante due soli comandi: zpool per tutte le attività riguardanti i pool e zfs per la gestione dei file system all’interno dei pool. Vedremo in seguito come svolgere queste attività con i due soli e semplici comandi.
Maggiori informazioni possono trovarsi su:


01 Maggio 2008 alle 18:39 |
per fortuna che c’è ancora qualche articolo interessante in questa blogosfera
ti ringrazio dell’articolo!
01 Maggio 2008 alle 22:38 |
grazie anche da parte mia, ne avevo sentito parlare, ora ne so di più
01 Maggio 2008 alle 23:45 |
stanno arrivando anche gli altri articoli su ZFS e sull’uso di tutte le sue caratteristiche, creazione, distruzione, mirroring, raidz, compressione e molto altro, già da domani mattina
grazie a entrambi
02 Maggio 2008 alle 0:50 |
Veramente molto interessante questa serie di articoli (sbrigati a pubblicare gli altri
) su ZFS. Grazie
04 Maggio 2008 alle 0:45 |
bell’articolo, grazie!
05 Maggio 2008 alle 8:16 |
bell’articolo davvero
ormai pochi sono gli articoli interessanti nel panorama italiano.. e condivido con qualcuno che ha commentato piu su
23 Settembre 2008 alle 22:30 |
[...] Ottimo punto di partenza in italiano su ubuntu trucchi [...]
28 Ottobre 2008 alle 17:32 |
Ciao..io ho un grosso problema..mi daresti una mano se puoi? Ho un NAS della Netgear; per farla breve sugli hard-disk interni a questo nas ho (o meglio avevo) un file system Zfs; ora si è “sputtanato” (scusa, sono nervosaaaaaa) e non riesco nemmeno più ad accedere ai dati; ovviamente sotto windows non ci sono utility per il riconoscimento di dischi con file system di questo tipo; mi chiedevo se esistono utility sotto linux per fare il recovery dei dati; ti spiego che vorrei fare. Io ho 2 harddisk con partizione Raid1; vorrei smontarne uno dalla unità Nas e tentare di montarlo sotoo linux; usando “fuse” dovrei vedere almeno il disco; poi..esiste, che tu sappia qualche utility (tipo easy recovery) per prelevare i dati se il file system è corrotto..o qualche comando richiamabile attraverso fuse tipo (zpool scrub)..per sistemarlo, o per accedere ai dati e slavarli..così posso poi lo formatto?..se ho scritto troppe cavolate, scusatemi..ma non ci bazzico troppo con questa roba…sono ignorante..grazie 1000..se puoi mi rispondi anke via mail? grazie 100000
29 Ottobre 2008 alle 19:32 |
fiammina personalmente non ho molta esperienza su NAS e su partizioni ZFS incasinate
comunque sia ZFS e` uguale sia su Solaris (che probabilmente usa il tuo nas) sia su linux-fuse
programmi extra non ne conosco e attualmente non ho nemmeno zfs-fuse installato per verificare. fai la prova semplice iniziando col montarlo con fuse e vedere che errori riporta, in genere assieme ai messaggi e` riportato pure un url al sito sun con una spiegazione piu` approfondita del problema e le eventuali soluzioni
ciao