ZFS nativo su Ubuntu 16.04 LTS

Una delle funzionalità più interessanti introdotte con l’ultima versione di Ubuntu 16.04 LTS (Xenial Xerus) è il filesystem ZFS nativo. In Ubuntu 15.10 disponibile come technology preview, con l’arrivo della versione 16.04 LTS è possibile attivare ZFS tramite DKMS in modo stabile.

L’uso di DKMS permette di distribuire ZFS senza violare la licenza d’uso CDDL che non consente di distribuire binari di ZFS con una licenza libera compatibile con GPL.

Visto che non è possibile inglobare i binari perché non distribuire i sorgenti?
Nel mondo dell’open source e del free software c’è stato (e c’è ancora) un forte dibattito se ZFS possa o meno essere distribuito con Linux in forma di pacchetto contenente i file sorgenti perché diversi si chiedono se un modulo del kernel coperto dalla licenza GNU GPL e un modulo coperto dalla CDDL possano essere legalmente uniti assieme.

Una delle strade possibile per poter usare ZFS è quella di servirsi di DKMS. I pacchetti DKMS contengono solo il codice sorgente e gli script per ricostruire i moduli del kernel. Nella fase di installazione di un pacchetto che fa uso di DKMS, i sorgenti vengono compilati e poi i binari ottenuti vengono installati.
Ne consegue che per poter usare ZFS via DKMS è necessario installare i pacchetti per la compilazione (gcc, kernel headers,…), il che non è il massimo in ambienti produttivi.

 

Vediamo ora come installare ZFS su Ubuntu 16.04 LTS (versione server).

La prima cosa da fare è aggiornare la lista dei pacchetti e il sistema operativo con le patch.

sudo apt-get update && apt-get upgrade

Successivamente installare i pacchetti di ZFS.

sudo apt-get install zfsutils-linux zfs-dkms

questo comando installerà anche le varie dipendenze (come gcc, binutils,…).

install-zfs

Una volta installati i pacchetti, si può procedere alla creazione in maniera piuttosto semplice di un primo pool (detto anche zpool, ossia ZFS pool).
Un pool può essere utilizzato per memorizzare i dati come se fosse una partizione.
Supponiamo di aver un disco completamente vuoto identificato con /dev/sdb

sudo zpool create pool1 /dev/sdb

Se ora lanciamo il comando

sudo zfs list

Verrà mostrata la presenza del nuovo pool1.

zfs-list-Xenial-Xerus

L’aspetto interessante dell’implementazione di ZFS è che non serve creare un mount point sul quale montare il nuovo pool ne creare una voce nel file /etc/fstab perché queste due azioni sono già state fatte. Per cui se desiderate creare una file nel nuovo pool è sufficiente eseguire questo comando.

touch /pool1/nuovo-file.txt

Lo zpool è già stato montato in /pool1 e questa operazione sarà persistente al riavvio del computer.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *