Zettabyte File System

Collapse
X
 
  • Filter
  • Ora
  • Show
Clear All
new posts
  • Sergio
    Administrator
    • May 1999
    • 88119
    • 2,192
    • 2,862
    • United States [US]
    • Florida
    • Send PM

    Zettabyte File System

    What is ZFS?



    ZFS is a new kind of file system that provides simple administration, transactional semantics, end-to-end data integrity, and immense scalability. ZFS is not an incremental improvement to existing technology; it is a fundamentally new approach to data management. We've blown away 20 years of obsolete assumptions, eliminated complexity at the source, and created a storage system that's actually a pleasure to use.

    ZFS presents a pooled storage model that completely eliminates the concept of volumes and the associated problems of partitions, provisioning, wasted bandwidth and stranded storage. Thousands of file systems can draw from a common storage pool, each one consuming only as much space as it actually needs. The combined I/O bandwidth of all devices in the pool is available to all filesystems at all times.

    All operations are copy-on-write transactions, so the on-disk state is always valid. There is no need to fsck(1M) a ZFS file system, ever. Every block is checksummed to prevent silent data corruption, and the data is self-healing in replicated (mirrored or RAID) configurations. If one copy is damaged, ZFS detects it and uses another copy to repair it.

    ZFS introduces a new data replication model called RAID-Z. It is similar to RAID-5 but uses variable stripe width to eliminate the RAID-5 write hole (stripe corruption due to loss of power between data and parity updates). All RAID-Z writes are full-stripe writes. There's no read-modify-write tax, no write hole, and — the best part — no need for NVRAM in hardware. ZFS loves cheap disks.

    But cheap disks can fail, so ZFS provides disk scrubbing. Like ECC memory scrubbing, the idea is to read all data to detect latent errors while they're still correctable. A scrub traverses the entire storage pool to read every copy of every block, validate it against its 256-bit checksum, and repair it if necessary. All this happens while the storage pool is live and in use.

    ZFS has a pipelined I/O engine, similar in concept to CPU pipelines. The pipeline operates on I/O dependency graphs and provides scoreboarding, priority, deadline scheduling, out-of-order issue and I/O aggregation. I/O loads that bring other file systems to their knees are handled with ease by the ZFS I/O pipeline.

    ZFS provides unlimited constant-time snapshots and clones. A snapshot is a read-only point-in-time copy of a filesystem, while a clone is a writable copy of a snapshot. Clones provide an extremely space-efficient way to store many copies of mostly-shared data such as workspaces, software installations, and diskless clients.

    ZFS backup and restore are powered by snapshots. Any snapshot can generate a full backup, and any pair of snapshots can generate an incremental backup. Incremental backups are so efficient that they can be used for remote replication — e.g. to transmit an incremental update every 10 seconds.

    There are no arbitrary limits in ZFS. You can have as many files as you want; full 64-bit file offsets; unlimited links, directory entries, snapshots, and so on.

    ZFS provides built-in compression. In addition to reducing space usage by 2-3x, compression also reduces the amount of I/O by 2-3x. For this reason, enabling compression actually makes some workloads go faster.

    In addition to file systems, ZFS storage pools can provide volumes for applications that need raw-device semantics. ZFS volumes can be used as swap devices, for example. And if you enable compression on a swap volume, you now have compressed virtual memory.

    ZFS administration is both simple and powerful. Please see the zpool(1M) and zfs(1M) man pages for more information — and be sure to check out the Getting Started section for a whirlwind tour.

    ZFS is already quite snappy on most workloads — and we're just getting started.



  • Ayurvedi77
    Bodyweb Senior
    • Apr 2002
    • 1632
    • 19
    • 6
    • Pisa
    • Send PM

    #2
    Per completezza posto il link a Wikipedia in italiano


    Su Linux è già utilizzabile grazie a FUSE, con qualche limitazione.
    Aspettiamo in gloria il rilascio sotto GPL, conviene anche a Sun...
    ___________________


    Codice:
    apt-get remove brain
    apt-get install windows-Vista
    ___________________

    Commenta

    • Sergio
      Administrator
      • May 1999
      • 88119
      • 2,192
      • 2,862
      • United States [US]
      • Florida
      • Send PM

      #3
      Originariamente Scritto da Ayurvedi77 Visualizza Messaggio
      Per completezza posto il link a Wikipedia in italiano


      Su Linux è già utilizzabile grazie a FUSE, con qualche limitazione.
      Aspettiamo in gloria il rilascio sotto GPL, conviene anche a Sun...
      Grazie, volevo infatti sapere se ci fosse una distribuzione che lo usasse oltre SUN Solaris.



      Commenta

      • Sergio
        Administrator
        • May 1999
        • 88119
        • 2,192
        • 2,862
        • United States [US]
        • Florida
        • Send PM

        #4
        Copio ed incolllo da Wikipedia it :

        Capacità [modifica]

        ZFS è un file system a 128-bit, potendo fornire uno spazio di 16 miliardi di miliardi (16 quintilioni) di volte la capacità dei file system attuali a 64-bit. I limiti del ZFS sono stati progettati per essere così ampi da non essere mai raggiunti in una qualsiasi operazione pratica. Bonwick affermò che "per riempire un file system a 128 bit non sarebbero bastati tutti i dischi della terra".
        Ecco alcuni limiti teorici del ZFS:
        248 — numero di snapshot (2 × 1014);
        248 — numero di file (2 × 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 zpools;
        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 la legge di Moore possa 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. Occorrebbero 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 vaporizazzione 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]

        ZFS è incluso in Solaris su SPARC e sistemi x86. I pool e gli associati file system ZFS possono essere spostati tra sistemi SPARC e x86, senza distinzione del byte order.
        Sun ha dichiarato che stanno studiando il porting su Linux [4]. Inoltre il gruppo di sviluppo di BSD sta effettuando il port anche su questo sistema operativo.
        Modello transazionale Copy-on-write [modifica]

        ZFS utilizza il metodo transazionale ad oggetti copy-on-write. Tutti i puntatori ai blocchi contengono un checksum 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 reallocato. Per ridurre l'overhead, le scritture multiple vengono raggruppate in transazioni.
        Snapshots [modifica]

        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]

        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]

        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 device fisico, ad un mirror (RAID 1) di uno o più device, oppure su un gruppo di device RAID Z. Lo spazio di tutti i vdevs è reso disponibile a tutti i file systems nello zpool.
        Per limitare lo spazio, è stato istituita la gestione delle quota disco.
        Creazione di un file system leggero [modifica]

        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]

        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 standard POSIX in fatto di file system: nessuna applicazione deve essere modificata per funzionare con il nuovo file system.
        Note [modifica]

        ^ http://www.sun.com/2004-0914/feature/ ZFS: the last word in file systems
        ^ http://blogs.sun.com/roller/page/bon...e_last_word_in ZFS: The Last Word in Filesystems
        ^ http://www.sun.com/smi/Press/sunflas...20060620.1.xml Sun Celebrates Successful One-Year Anniversary of OpenSolaris
        ^ http://www.sun.com/emrkt/campaign_do...fs_gen.html#10
        Collegamenti esterni [modifica]

        (EN) ZFS Development Community and detailed ZFS Documentation
        (EN) Dave Brillhart's Blog - ZFS: Boils the Ocean, Consumes the Moon
        (EN) ZFS on Fuse Google SoC 2006 project to port ZFS to FUSE



        Commenta

        Working...
        X