Il file system ZFS in arrivo su Ubuntu 19.10?

zfs-on-linux-ubuntu-19.10

ZFS è un file system open-source sviluppato da Sun Microsystems per Solaris e annunciato nel 2004. È stato progettato da un team con a capo Jeff Bonwick. Il nome originario doveva essere “Zettabyte File System”. Canonical è al lavoro da tempo per integrarlo su Ubuntu e pare che sarà presente, seppur in via sperimentale, già dalla prossima release (Ubuntu 19.10). Prima di parlare del binomio ZFS-Ubuntu cerchiamo di capire quali sono i pregi di questo file system.

ZFS, i vantaggi

ZFS è grado di superare per dimensioni qualsiasi limite pratico di storage e consente di risolvere molti dei problemi e dei limiti dei sistemi Raid tradizionali, offrendo un livello di protezione dei dati significativamente maggiore e una serie di funzionalità avanzate particolarmente interessanti, come la creazione di snapshot a livello di file system. Gestisce a livello nativo sia i dischi sia i volumi, con soluzioni analoghe a quelle fornite dalle tecnologie RAID.

zfs linux ubuntu 19.10 L’elemento base di questo file system sono i VDev (Virtual Device), che possono essere composti da uno o più hard disk fisici allocati insieme. Le configurazioni supportate sono molteplici: nessuna parità (equivalente a JBOD, o RAID0 a disco singolo), mirror (equivalente al Raid 1), RAIDZ (equivalente a Raid 5), RAIDZ2 (equivalente a Raid6, doppia parità) e RAIDZ3 (equivalente a RAID6 con tripla parità).

Integrità e affidabilità sono punti chiave del progetto ZFS che è pensato per evitare nativamente la corruzione dei dati grazie a una serie di tecniche tra cui il checksum a 256 bit. Si occupa anche di proteggere i dati dai cosiddetti “errori silenti” del disco, che possono essere causati da bug del firmware e malfunzionamenti dell’hardware, piuttosto che cavi difettosi.

I contro

La scelta della corretta configurazione RAID è un punto importante nella realizzazione di una architettura di storage su ZFS.

Un potenziale problema di ZFS riguarda la necessità – non effettiva, ma pratica – di utilizzare un sistema con RAM ECC. ZFS naturalmente può funzionare su un PC o Server che non ha moduli ECC, ma in questo caso l’integrità dei dati è messa in pericolo. Utilizzare RAM non ECC infatti potrebbe portare a situazioni in cui errori presenti in memoria (che non vengono rilevati e tantomeno corretti) comportino la corruzione dei dati.

A causa dell’incompatibilità tra la licenza di tipo CDDL e GNU, il file system ZFS non può essere integrato e distribuito direttamente insieme al kernel Linux, tuttavia è possibile installarlo come modulo aggiuntivo chiamato ZOL (ZFS on Linux). ZOL è l’implementazione ufficiale di OpenZFS per Linux, offre supporto nativo per ZFS su sistemi GNU/Linux, ed è giunto oggi alla versione 0.8.1.

ZFS e Ubuntu

ZFS è disponibile da qualche anno su Debian e Canonical lavora da tempo per portarlo su Ubuntu. Il lavoro dell’azienda è frenato da problemi legali e di licenze.

Nella pagina GitHub di Ubuntu è comparsa una scheda con la seguente voce:

Propose ZFS option in the installer if experimental features is enabled

In un’altra scheda aggiunta da uno sviluppatore si legge “[ZFS] July blog post“… è in arrivo un comunicato in merito da parte di Canonical?

Pare comunque chiara l’intenzione di usare ZFS a partire dalla prossima release (ma in via sperimentale) anche se la menzione di Curtin nella TO-DO list (si tratta di un componente dell’installer testuale non usato dall’installer grafico) fa pensare che l’uso di questo file system sarà consentito solo agli utenti più esperti che sanno dove mettere le mani.