Il rivoluzionario file system ZFS

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:

6 Risposte a “Il rivoluzionario file system ZFS”

  1. mastro Dice:

    per fortuna che c’è ancora qualche articolo interessante in questa blogosfera :)

    ti ringrazio dell’articolo!

  2. BQuadra Dice:

    grazie anche da parte mia, ne avevo sentito parlare, ora ne so di più :D

  3. Muflone Dice:

    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

  4. ercoppa Dice:

    Veramente molto interessante questa serie di articoli (sbrigati a pubblicare gli altri :-P ) su ZFS. Grazie :)

  5. furester Dice:

    bell’articolo, grazie!

  6. blackout Dice:

    bell’articolo davvero
    ormai pochi sono gli articoli interessanti nel panorama italiano.. e condivido con qualcuno che ha commentato piu su

Lascia una Risposta