Movatterモバイル変換


[0]ホーム

URL:


Vai al contenuto
WikipediaL'enciclopedia libera
Ricerca

ZFS (file system)

Da Wikipedia, l'enciclopedia libera.
ZFS
Dati generali
SviluppatoreSun Microsystems
Nome completoZFS
Introduzionenovembre 2005OpenSolaris
Struttura
Struttura contenuti directoryTabella hash estensibile
Limiti
Dimensione massima di un file16 exabyte
Numero massimo di file248
Dimensione massima del volume16exabyte
Caratteristiche
ForkSì (chiamati attributi estesi)
AttributiPOSIX
Permessi file systemPOSIX
Compressione trasparente
Crittografia trasparente[1]
Manuale

ZFS è unfile systemopen source sviluppato dallaSun Microsystems per il suosistema operativoSolaris. È stato progettato da un team con a capoJeff Bonwick.[2] Il nome originario doveva essere "Zettabyte File System", ma è diventato un acronimo.

ZFS è noto per la sua alta capacità e per l'integrazione di diversi concetti presi da vari file system in un unico prodotto.

ZFS fu annunciato nel settembre del2004[3]. Ilcodice sorgente fu pubblicato assieme a quello di Solaris il 31 ottobre del2005[4] e pubblicato nella build 27 diOpenSolaris il 16 novembre2005. ZFS fu fornito assieme all'aggiornamento 6/06 di Solaris 10 nel giugno del 2006[5].

ZFS è stato pubblicato sotto licenzaCDDL (Common Development and Distribution License).

Nel giugno2007 venne annunciata l'adozione di ZFS anche perMac OS X Leopard diApple, notizia poi smentita nel corso del WWDC07 da Brian Croll,senior director diproduct marketing per Mac OS, che ha dichiarato che “ZFS non ci sarà".

Capacità

[modifica |modifica wikitesto]

ZFS è un file system a128 bit: può quindi fornire uno spazio di 18,4 miliardi di volte la capacità dei file system a64 bit. I limiti del ZFS sono concepiti per essere così ampi da non essere mai raggiunti in una qualunque operazione pratica. Bonwick ha affermato che "per riempire un file system a 128 bit non sarebbero bastati tutti i dischi della terra".

Alcuni dei limiti teorici delZettabyte File System (ZFS):

  • 248 — numero di snapshot (3 × 1014);
  • 248 — numero di file (3 × 1014);
  • 16 exabyte — dimensione massima di un file system;
  • 16 exabyte — dimensione massima di un file singolo;
  • 16 exabyte — dimensione massima di un attributo;
  • 3 × 1023 petabyte — dimensione massima di uno zpool;
  • 256 — numero di attributi di un file (attualmente limitato a 248);
  • 256 — numero di file in una directory (attualmente limitato a 248);
  • 264 — numero di device per ogni zpool;
  • 264 — numero di zpool;
  • 264 — numero di file system in uno zpool.

Un utente che volesse creare mille file al secondo, impiegherebbe 9000 anni a raggiungere il limite.

«Anche se ci piacerebbe che lalegge di Moore potesse continuare per sempre, la meccanica quantistica impone alcuni limiti fondamentali sul calcolo computazionale e sulla capacità di memorizzazione di una qualsiasi unità fissa. In particolare è stato dimostrato che un chilo di materia confinata in un litro di spazio può effettuare al massimo 1051 operazioni al secondo su al massimo 1031 bit di informazioni (vedere Seth Lloyd, "Ultimate physical limits to computation." Nature 406, 1047-1054 (2000)). Un pool di storage a 128 bit completamente riempito dovrebbe contenere 2128 blocchi (nibble) = 2137 bytes = 2140 bits; quindi lo spazio minimo richiesto dovrebbe essere (2140 bit) / (1031 bits/kg) = 136 miliardi di kg.

Con il limite dei 1031 bit/kg, l'intera massa di un computer dovrebbe essere sotto forma di energia pura. Secondo l'equazione E=mc2, l'energia residua dei 136 miliardi di kg è di 1,2x1028 J. La massa dell'oceano è circa 1,4x1021 kg. Occorrerebbero 4.000 J per aumentare la temperatura di 1 kg di acqua per 1 grado Celsius e circa 400.000 J per bollire 1 kg di acqua ghiacciata. La fase di vaporizzazione richiede altri 2 milioni di J/kg. L'energia richiesta per bollire l'oceano è circa 2,4x106 J/kg * 1,4x1021 kg = 3,4x1027 J. Quindi, riempire uno storage a 128 bit dovrebbe richiedere più energia che bollire gli oceani.»

Piattaforme

[modifica |modifica wikitesto]

ZFS è incluso in Solaris suSPARC e sistemix86. I pool e gli associati file system ZFS possono essere spostati tra sistemi SPARC e x86, senza distinzione del byte order.

È stato eseguito ilporting suLinux[6]. È da notare che, a causa della licenza che protegge ZFS, esso non può essere integrato nel kernel ma deve necessariamente operare a livello utente tramiteFUSE o essere distribuito come modulo esterno.Il progetto ZFS on Linux[7] ha infatti eseguito il porting a livello di kernel, permettendo agli utenti di utilizzare questo file system con prestazioni native.Questo è possibile in quanto l'incompatibilità tra la licenzaGNU GPL (con cui è licenziato il kernel Linux) e la CDDL si limita solo all'integrazione diretta e alla distribuzione di tale file system nel kernel. Ciò vuol dire che non si potrà distribuire un kernel con integrato ZFS, ma lo si potrà distribuire come un modulo esterno.

Il gruppo di sviluppo di BSD sta effettuando il port anche su questo sistema operativo.SuFreeBSD, ZFS è già disponibile, anche in produzione, dalla release 7.0. SuNetBSD è in corso il porting.OpenBSD ha dichiarato che non implementerà ZFS poiché giudica la licenza incompatibile con la loro politica di sviluppo[8].

ZFS è attualmente implementato inPC-BSD come file system di default.Esistono progetti per il porting sumacOS e suWindows.

Modello transazionale Copy-on-write

[modifica |modifica wikitesto]

ZFS utilizza il metodo transazionale ad oggetticopy-on-write. Tutti i puntatori ai blocchi contengono unchecksum a 256 bit. Il blocco viene controllato ad ogni lettura. I blocchi contenenti dati non vengono mai sovrascritti: viene invece allocato un nuovo blocco dove vengono scritti i dati modificati; ogni blocco metadati che faceva riferimento al vecchio blocco viene riallocato. Per ridurre l'overhead, le scritture multiple vengono raggruppate in transazioni.

Snapshots

[modifica |modifica wikitesto]

Siccome ZFS non sovrascrive i dati nei loro blocchi originari, fare una snapshot significa non cancellare i blocchi contenenti dati vecchi. Il vantaggio è che gli snapshot sono molto veloci.

Dimensione dei blocchi variabile

[modifica |modifica wikitesto]

Il file system ZFS utilizza blocchi a dimensione variabile fino a 128 KB.

Se la compressione è attivata, dei dati possono essere scritti su un blocco di dimensione più piccola.

I pool dello storage

[modifica |modifica wikitesto]

ZFS è costituito su un insieme di pool di storage virtuali. I pool si basano su uno o più device virtuali (vdevs), ciascuno dei quali può fare riferimento ad un dispositivo fisico, ad un mirror (RAID 1) di uno o più dispositivi, oppure su un gruppo di dispositiviRAID Z. Lo spazio di tutti i vdevs è reso disponibile a tutti i file systems nello zpool.

Per limitare lo spazio, è stata istituita la gestione dellequota disco.

Creazione di un file system leggero

[modifica |modifica wikitesto]

La creazione di un file system leggero in un pool di storage ZFS è un'operazione veloce e semplice da effettuare, quasi come creare una directory.

Ulteriori caratteristiche

[modifica |modifica wikitesto]
  • Priorità I/O con scheduling di tipo deadline
  • Ordinamento e aggregazione ottimale dell'I/O
  • Stream multiplo e automatico di prefetch
  • Operazioni sulle directory funzionano in parallelo e con un'unità di tempo costante
  • ZFS rispetta lo standardPOSIX in fatto di file system: non è necessario modificare le applicazioni, queste sono già funzionanti con il nuovo file system.

Note

[modifica |modifica wikitesto]
  1. Oracle Solaris 11 Express 2010.11 - What’s new (PDF), suoracle.com.
  2. Jeff Bonwick's blogArchiviato il 13 febbraio 2010 inInternet Archive.,Sun Microsystems
  3. http://www.sun.com/2004-0914/feature/Archiviato il 28 aprile 2006 inInternet Archive. ZFS: the last word in file systems
  4. Copia archiviata, sublogs.sun.com.URL consultato il 30 aprile 2006(archiviato dall'url originale il 13 ottobre 2012). ZFS: The Last Word in Filesystems
  5. http://www.sun.com/smi/Press/sunflash/2006-06/sunflash.20060620.1.xml Sun Celebrates Successful One-Year Anniversary of OpenSolaris
  6. Sun Microsystems, susun.com.
  7. http://zfsonlinux.org/ Home del progetto ZFS on Linux
  8. https://www.openbsd.org/faq/faq1.html#HowAbout OpenBSD FAQ

Collegamenti esterni

[modifica |modifica wikitesto]
 Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica
Estratto da "https://it.wikipedia.org/w/index.php?title=ZFS_(file_system)&oldid=147795896"
Categoria:
Categorie nascoste:

[8]ページ先頭

©2009-2026 Movatter.jp