Introduzione a ZFS



In seguito WWDC 07 e al mancato annuncio dell'introduzione di ZFS in Leopard nella blogsfera non si parla che di questo filesystem...vediamo quindi di capire di cosa si tratta.

Ci viene in aiuto Wikipedia:
ZFS è un file system open-source sviluppato dalla Sun Microsystems per il suo sistema operativo Solaris. È stato progettato da un team con a capo Jeff Bonwick. Il nome originario doveva essere "Zettabyte File System", ma è diventato un acronimo.

Le caratteristiche principali:

File system a 128 bit
La dimensione massima gestibile dei dati è miliardi di volte più grande degli attuali file system a 64 bit.
Il limite teorico e' infatti di 16 Exabyte::
L'exabyte è un unità di misura dell'informazione o della quantità di dati, il termine deriva dalla unione del prefisso exa con byte ed ha per simbolo EB.
A causa dell'uso improprio dei prefissi binari nel definire e usare il kilobyte, il valore dell'exabyte nella pratica comune ha potuto assumere i seguenti significati:

  • 1.000.000.000.000.000.000 byte = 10006 = 1018 byte = 1 trilione di byte



Copy on Write
Nessun blocco del disco contente dati attivi viene mai sovrascritto in operazioni di modifica. I dati modificati vengono scritti in un nuovo blocco assegnato per l'operazione.
Le operazioni Copy-On-Write avvengono in modo tale da spostare il puntatore al blocco di dati dopo il completamento della transazione: in questo modo, i puntatori ai dati "buoni" non si spostano finché la scrittura non è completa, e non c'è bisogno di filesystem journaling, logging, o di un resinc del mirror se la macchina si riavvia inaspettatamente.

Snapshot
Invece di cancellare i vecchi dati rimasti, in seguito a operazioni di modifica eseguite con il sistema Copy on Write, ZFS può mantenere le vecchie informazioni insieme a quelle nuove (spazio permettendo) riuscendo così a creare velocemente istantanee del sistema.
Il limite teorico di snapshots e' di 248 (2 × 1014).

Gestione ottimizzata per file di piccole dimensioni
Con l'aumentare della capacità dei moderni dischi fissi, la registrazione dei file di piccole dimensioni è diventata sempre meno efficiente, stesso discorso per la lettura e la scrittura. ZFS risolve entrambi questi inconvenienti

Gestione logica per sistemi di archiviazione composti da più dischi
I file system tradizionali risiedono su un unico dispositivo, così necessitano di un sistema per la gestione dei volumi quando lavorano con più unità.
ZFS lavora con un sistema virtuale di dischi, rendendo così possibile l'aggiunta di un disco senza dover formattare o partizionare nulla.

End-to-End checksumming
serve ad evitare possibili errori dovuti al fatto che il checksum è salvato all'interno del blocco stesso che controlla, e quindi manca una verifica esterna di validità. Le possibilità di errore vengono risolte da questo file system salvando il checksum al di fuori del blocco, e tra questo e il cosiddetto uberblock, che è l'unico ad avere un checksum auto-validante SHA-256. Tutti i controlli sui blocchi vengono effettuati in modo tale che gli errori vengano intercettati senza peraltro mettere in ginocchio la CPU.


Rispetto dello standard POSIX
nessuna applicazione deve quindi essere modificata per funzionare con il nuovo file system.

Fonti:
Programmazione.it, PaolinoLand.it, Wikipedia

Published: June 13 2007

  • category: