OpenZFS continua il suo cammino con passo costante: rilasciata la versione 2.1.0

4

Alla fine dello scorso anno abbiamo visto quanto il rilascio della versione 2.0 fosse il tracciamento di una nuova rotta:

  • integrazione codice usato per Linux e FreeBSD;
  • scadenze certe per il rilascio delle nuove versioni.

Dopo meno di un anno da quell’evento, i propositi sono ancora validi e possiamo confermare tutt’ora seguiti. La dimostrazione più grande, casomai ce ne fosse bisogno, è il rilascio della versione 2.1.0, che non si limita a portare miglioramenti generici e bugfix, ma vere e proprie funzionalità nuove.

La prima che balza all’occhio è il dRAID (Distributed Spare RAID). Citando il changelog delle modifiche più importanti:

Create pools using a new distributed variant of RAIDZ which enables dramatically faster resilver times using integrated hot spares. Full redundancy can be restored to the pool in a fraction of the time normally required to do a full disk replacement.

Crea un pool usando una nuova variante distribuita di RAIDZ. che permette tempi di resilver drammaticamente più veloci, usando hot spare integrati. La piena ridondaza può essere ristabilita nel pool in una frazione del tempo normalmente richiesto per fare la sostituzione completa di un disco.

Quindi una nuova versione di RAID, integrato nel filesystem, che assicura le stesse prestazioni di durevolezza della modalità tradizionale RAIDZ ma velocizza le operazioni di manutenzione, specialmente in caso di “recupero” dati – ovvero quando si rompe un disco.
Se volete qualche dettaglio tecnico maggiore, vi rimandiamo all’ottima spiegazione ufficiale, che risulta piuttosto esauriente.

Immagine presa direttamente dalla documetazione di OpenZFS

Altra modifica importante: l’implementazione di un settaggio di compatiblità. Ogni singolo pool potrà dichiarare che funzionalità supporta, così da poter essere gestito dal sistema sempre nel modo adeguato. In caso di update del sistema stesso o migrazione del pool tra sistemi diversi, questo settaggio assicurerà l’accesso corretto ai dati.

Ultima novità: supporto per InfluxDB. Il nuovo comando “zpool influxdb” fornirà direttamente le metriche da poter inserire in questo time series database, specificamente studiato per raccogliere dati sequenziali nel tempo e pertanto molto usato in sistemi di monitoraggio o rilevamento performance. Questa integrazione garantisce dati validi sul sistema, ed evita la scrittura o l’uso di componenti esterne che potrebbero introdurre errori o proprio mancanze.
Esistono altri formati per questi dati, ed è probabile che in futuro vedremo comandi simili per altre piattaforme (per esempio, un “zpool prometheus“), ma già l’esistenza di un comando con un formato standard e interpretabile è più facilmente gestibile dell’output di un comando di stato pensato (e quindi formattato) per essere leggibile da un essere umano.

Nel changelog sono presenti anche altre modifiche ai comandi o ad alcuni comportamenti, nonché miglioramenti di performance: non li elenchiamo perché non potremmo aggiungere nulla, e perché la lista è piuttosto nutrita – ancor di più nell’elenco completo dei commit.

Per noi utenti del pinguino, sottolineiamo che la compatibilità con i Kernel è molto vasta: dalla versione 3.10 alla 5.13 – l’ultima rilasciata.
Insomma, praticamente qualunque sistema in uso oggi è compatibile: se volete usare ZFS, non avete scuse per non farlo!

Ho coltivato la mia passione per l’informatica fin da bambino, coi primi programmi BASIC. In età adulta mi sono avvicinato a Linux ed alla programmazione C, per poi interessarmi di reti. Infine, il mio hobby è diventato anche il mio lavoro.
Per me il modo migliore di imparare è fare, e per questo devo utilizzare le tecnologie che ritengo interessanti; a questo scopo, il mondo opensource offre gli strumenti perfetti.

4 risposte a “OpenZFS continua il suo cammino con passo costante: rilasciata la versione 2.1.0”

  1. Avatar michele
    michele

    interessante, anche se uso il classico ext4, sapere che ci sono aspetti Open Source in continua evoluzione
    [ot]aspetto che il file system sia integrato come modulo in systemd ;P[/ot]

  2. Avatar JustATiredMan
    JustATiredMan

    Un vero e proprio peccato che per ragioni di licenza, non possa essere incluso nel ramo di sviluppo del kernel di linux, e così siamo costretti a sorbirci btrfs.

  3. Avatar Marco Bonfiglio
    Marco Bonfiglio

    Concordo: è un peccato che una questione puramente formale/burocratica impedisca l’integrazione del filesystem nel Kernel.
    Ma come dice una nota della documentazione stessa:

    In the case of the Linux Kernel, this prevents us from distributing OpenZFS as part of the Linux Kernel binary. However, there is nothing in either license that prevents distributing it in the form of a binary module or in the form of source code.

    Quindi non è possibile distribuire un Kernel compilato con integrato OpenZFS, ma un Kernel ed il modulo per OpenZFS sì. E buona parte dei timori (pratici) di incompatibilità delle licenze (a cui accennavamo cinque anni fa) sembra siano stati superati, e dimostrazione ne è che Ubuntu da allora propone ZFS (tramite OpenZFS) tranquillamente. E non credo sia il solo.

    Il codice sorgente, a rigor di logica, è integrabile nel Kernel, usando (o creando, ma credo esista già) un meccanismo per cui l’unico prodotto della compilazione sia Kernel+modulo. Ma credo sarebbe anche semplicemente inutile: se i prodotti devono essere due, le compilazioni possono essere separate e i progetti pure. Come molti dei moduli aggiuntivi gestiti tramite DKMS – anche se inclusi nel Kernel ma in versioni successive a quelle usate nelle distribuzioni, come nel caso di WireGuard.

  4. Avatar JustATiredMan
    JustATiredMan

    si si, non discuto che non si possa compilare a parte, però diciamo che nel caso lo dovessi fare, devi sempre avere la briga di fare un controllo compatibilità con il kernel appena uscito.
    Ovviamente se ti affidi a Ubuntu o un altra distribuzione, hai la ragionevole certezza che le cose vadano liscie, ma certo è che se il sorgente fosse nello stesso ramo, nel momento in cui ricompili il kernel, ti ritrovi anche il modulo zfs che sicuramente (bug a parte) gira regolarmente.

Lascia un commento

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