Scontro tra titani: ZFS (BSD) vs. EXT4 e Btrfs (Linux)

Phoronix benchmarks

ZFS è il filesystem open sviluppato per Solaris (e OpenSolaris) da Sun (e mai incluso ufficialmente in Linux), avente caratteristiche di integrity checking, deduplicazione, creazione di snapshot (quindi possibilità di rollback) e altro.

Btrfs (B-tree filesystem, dal nome della struttura dati impiegata), filesystem nato diverso tempo fa in casa Oracle quale risposta a ZFS, anch’esso con possibilità di creazione di snapshot, è già approdato in Ubuntu (alternate install), sebbene non come possibile filesystem di avvio.

I due filesystem più lo standard attuale Linux, ovvero EXT4, vengono ora confrontati da Phoronix quanto a prestazioni. ZFS sul neonato PC-BSD 8.1 e i filesystem Linux su Ubuntu 10.10 development snapshot (kernel 2.6.35).

Macchina del test un notebook Lenovo ThinkPad T61 (Intel Core 2 Duo T9300, 4GB RAM, HD 100GB Hitachi HTS72201 7200RPM Serial ATA 2.0, nVidia Quadro NVS 140M) con arbitro la recentemente aggiornata Phoronix Test Suite.

Avevamo già visto come, fatti salvi alcuni benchmark disastrosi, le performance di Btrfs (su HD SSD) fossero paragonabili a quelle di EXT4, specialmente quando risulti attivata la compressione zlib: trend confermato? E ZFS dove si pone, in termini velocistici?

Il benchmark sulla compressione gzip di un file da 2GB vede EXT4 (primo) e Btrfs (secondo) sostanzialmente appaiati, con ZFS che segue a distanza; analoghi risultati per i test Compile Bench e PostMark, dove però le differenze si fanno più marcate.

Molti i test threaded I/O, svolti con svariate combinazioni di carico dati e numero di thread. In tali test, Btrfs si è comportato da leader indiscusso, EXT4 ha avuto prestazioni molto altalenanti e ZFS anch’esso prestazioni altalenanti ma discrete.

Alla resa dei conti e limitatamente ai test velocistici di Phoronix, a Btrfs spetta la corona, seguito da EXT4 e ZFS: è davvero così giustificata la spasmodica invidia nutrita dagli utilizzatori Linux per il filesystem di Solaris?

Nel benchmark sono stati inclusi anche i filesystem UFS, default dei *BSD, che hanno ottenuto prestazioni decisamente scarse.

Commenti

  1. [1]

    Del resto noi tutti usiamo filesystem esclusivamente per la compressione gzip, no? Le funzionalità non ci importano. E soprattutto è un’ottima abitudine fare benchmark tra cose classificate come stabili e altre classificate come sperimentali, non c’è che dire.

  2. [2]

    @nedanfor
    Se tui vai su phoronix per consultare dei benchmark, sai già prima che molti test vengono fatti su versioni di testing. è proprio questo il bello di phoronix, provano sempre le ultime novità, ma essendo versioni sperimenali bisogna mettere in conto un possibile margine di cambiamento rispetto alle versioni finali (anche se non succede molto spesso, e molte volte i cambiamenti ci sono ma in peggio).

    comunque non c’è discussione, linux ha i migliori filesystem. ufs è un relitto, zfs è un ottimo filesystem solo non particolarmente veloce. per quanto riguarda btrfs, sembra avere tutte le carte in regola per diventare il filesystem definitivo. è progetto giovane, anche se già ora si comporta piuttosto bene ha ancora ampissimi margini di miglioramento.

  3. [3]

    I benchmark di ZFS andrebbero fatti con OpenSolaris, non con *BSD che non lo supporta in modo nativo. Tanto valeva fare i test di ZFS con FUSE, onestamente, dato che per Btrfs ed Ext4 hanno usato Ubuntu. Detto questo non sono contrario a test simili (ci mancherebbe) bensì ad articoli che cercano di attribuirgli valori che non hanno.

    Quanto al tuo giudizio lo trovo parziale: ZFS su Linux (benché comporterebbe una riscrittura del VFS, ma IMHO ne varrebbe la pena) sarebbe veramente comodo. Tra le tante funzionalità mancanti a Btrfs c’è l’autoridimensionamento delle pool (a caldo): il problema principale delle installazioni desktop, per i nuovi utenti, è la divisione tra /home e root. Con ZFS le partizioni sarebbero totalmente virtuali (zpool) e il problema non sussisterebbe. Inoltre Btrfs ha diverse mancanze fondamentali per utilizzi più avanzati: si deve appoggiare a LVM per i RAID, soffre di frammentazione e non supporta la crittografia a livello filesystem (che su ZFS è in beta per Btrfs è solo pianificata).

    In Btrfs dubito che sarà mai possibile creare l’equivalente di una zpool, settare la compressione al massimo ed usarla esclusivamente per il backup, il tutto in 3-4 comandi.

  4. [4]

    Per chi fosse interessato, segnalo questo nuovo interessante articolo sulle differenze e somiglianze tra Linux e BSD: http://distrowatch.com/weekly......0100802#qa

  5. [5]

    Segnalo anche questo nuovo confronto: http://www.phoronix.com/scan.p.....&num=1

Inserisci il tuo commento

Aumenta l'altezza della textarea Riduci l'altezza della textarea