Home > Comandi Console, Concetti, Dischi, File System, Guide, Linux, Pacchetti, Sistema, Ubuntu, ZFS > Il rivoluzionario file system ZFS

Il rivoluzionario file system ZFS

01 maggio 2008

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:

  1. 01 maggio 2008 alle 18:39

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

    ti ringrazio dell’articolo!

  2. BQuadra
    01 maggio 2008 alle 22:38

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

  3. 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

  4. 02 maggio 2008 alle 0:50

    Veramente molto interessante questa serie di articoli (sbrigati a pubblicare gli altri😛 ) su ZFS. Grazie🙂

  5. 04 maggio 2008 alle 0:45

    bell’articolo, grazie!

  6. 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

  7. fiammina
    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

  8. 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

  9. 14 agosto 2009 alle 10:09

    Interessante la possibilità di espandere il file system senza modificare le partizioni. Però con zfs-fuse ho notato una diminuzione di velocità di una decina di volte, rispetto a ext4; se si mette zfs su una partizione ext3 va meglio?

    • 14 agosto 2009 alle 14:04

      zfs-fuse purtroppo ha prestazioni abbastanza deludenti anche su ext3
      probabilmente la causa è della sua vita su fuse, non offrendo prestazioni degne di un modulo kernel
      ciao

  1. 23 settembre 2008 alle 22:30
I commenti sono chiusi.
%d blogger cliccano Mi Piace per questo: