Il file system ZFS è uno dei più avanzati al momento disponibili ed è largamente utilizzato nelle aziende per sostenere operazioni di lettura/scrittura intensive, ad esempio sui server NAS di tipo professionale.
OpenZFS è una piattaforma di archiviazione opensource che combina il file system tradizionale con un gestore di volumi. Viene utilizzata sui sistemi server e sui NAS ad alte prestazioni con memoria RAM ECC (Error-correcting code).
Una delle caratteristiche più richieste dagli amministratori di rete e di sistema è la possibilità di estendere una configurazione RAIDz precedentemente creata. Si pensi ad esempio alla conversione di un RAIDZ1 da tre dischi in un RAIDZ1 composto da più dischi senza perdita di dati.
L’ideatore e sviluppatore del progetto OpenZFS, Matt Ahrens, ha comunicato che sta terminando una nuova funzionalità che permetterà appunto di estendere molto facilmente la dimensione di un singolo vdev RAIDZ1 in ZFS. Se abbiamo configurato un vdev in RAIDZ1 con tre dischi potremmo estenderlo a quattro, cinque o più dischi senza la necessità di eseguire un backup e successivo ripristino dei dati. Finora infatti ampliare la configurazione era possibile solo perdendo tutti i dati memorizzati sui vari dischi.
Il file system ZFS organizza infatti i dati eventualmente suddivisi su più unità in zpool. Al livello immediatamente inferiore si trovano i vdev (virtual device) che possono essere configurati in modalità “individual” oppure “mirror” e i vari RAIDz1, RAIDz2 e RAIDz3 a seconda delle garanzie in termini di integrità dei dati che si desiderano ottenere.
I numeri 1, 2 e 3 utilizzati come suffisso in RAIDz indicano quanti blocchi di parità sono assegnati ad ogni stripe (le porzioni di dati di uguale lunghezza che vengono suddivise tra i vari dischi). Piuttosto che avere interi dischi dedicati alla parità, i vdev RAIDz distribuiscono la parità in modo semi-uguale tra i dischi.
Un array RAIDz può perdere tanti dischi quanti sono i blocchi di parità utilizzati; se ne perde un altro allora lo zpool diventa inaffidabile e si verificano perdite di dati.
Uno zpool può contenere diversi vdev e non è necessario che la dimensione dei diversi vdev sia la stessa.
Fino ad ora se volevamo espandere lo storage di uno zpool, era sufficiente aggiungere un disco supplementare in configurazione “individual” o “mirror” ma non con i vari livelli RAIDz.
Con il comando zfs zpool attach
non solo sarà possibile aggiungere un disco in più a un mirror già configurato ma anche a RAIDz esistenti.
Non si potrà invece passare ad esempio da RAIDz1 a RAIDz2.
La prossima versione OpenZFS 2.1 non integrerà comunque l’importante novità della quale ha fatto menzione Ahrens che invece arriverà quasi sicuramente nel corso del 2022.