OpenZFS 2.0 è ufficiale, codebase unificata tra GNU/Linux e FreeBSD
La versione 2.0 di OpenZFS è stata ufficialmente rilasciata e, oltre alle novità tecniche, porta con sé una piccola rivoluzione. A partire da questo rilascio, infatti, anche il progetto ZFS on Linux viene rinominato OpenZFS e, di conseguenza, sia la versione per il pinguino che quella per FreeBSD condivideranno lo stesso repository. Novità che rende disponibili tutte le funzionalità del filesystem open source su entrambe le piattaforme.
OpenZFS 2.0: open source storage platform
OpenZFS è una piattaforma di archiviazione open source che combina il file system tradizionale con un gestore di volumi. Ha molte caratteristiche avanzate tra cui, solo per citarne alcune:
- Protezione contro la corruzione dei dati;
- Verifica continua dell’integrità e riparazione automatica;
- Ridondanza dei dati con mirroring, RAID-Z1/2/3 ;
- Supporto per capacità di archiviazione elevate;
- Crittografia nativa con accelerazione hardware;
- Archiviazione efficiente con snapshot e copy-on-write.
Ulteriori dettagli li trovate anche qui su LFFL in questa guida introduttiva suddivisa in due parti.
La nuova versione di OpenZFS 2.0 è già disponibile su FreeBSD 12, dove può essere installata dai port, sovrascrivendo il sistema base ZFS. Su FreeBSD 13, invece, sarà la versione presente di default. Su Linux la situazione è più complessa, dipendendo dalle singole distribuzioni, salvo compilarsi autonomamente i moduli.
Le novità tecniche della release 2.0
Passando alle novità tecniche introdotte dalla versione 2.0 di OpenZFS, troviamo il nuovo supporto per l’algoritmo di compressione ad alte prestazioni ZSTD ovvero ZStandard. Tradizionalmente, l’algoritmo più comunemente utilizzato è lz4, che offre un rapporto di compressione relativamente basso ma un carico molto leggero della CPU. ZSTD, invece, mira a fornire una compressione simile a gzip, con un carico della CPU molto leggero, come lz4.
Altra novità di rilievo è l’introduzione della L2ARC persistente. Uno dei maggiori problemi di questa cache, infatti, era che si svuotava ad ogni riavvio o esportazione/importazione del pool. Grazie a questa nuova funzionalità, invece, i dati contenuti nella L2ARC rimangono disponibili, aumentando così notevolmente il valore potenziale di questa memoria.
Sequential resilvering e nuovi comandi
Il processo di ricostruzione degli array degradati in ZFS, funzionava più velocemente dei sistemi RAID tradizionali se e solo se gli array erano quasi vuoti. Questo perché utilizzava un algoritmo che si occupava della sola parte usata del disco, piuttosto che clonare ogni settore sull’intera unità. Il problema è che questo processo richiedeva molti I/O casuali, con conseguenti rallentamenti per array quasi pieni. Il nuovo algoritmo di resilvering sequenziale, invece, permette di ottenere il meglio da entrambi i mondi: accesso in gran parte sequenziale, continuando ad ignorare le parti inutilizzate dei dischi coinvolti.
Con OpenZFS 2.0, inoltre, sono state aggiunte o migliorate le seguenti direttive:
- zpool replace|attach -s: per il sequential resilvering;
- zfs redact, zfs send –redact: per la redacted replication;
- send –saved: per inviare un set di dati parzialmente ricevuto;
- zfs rename -u: per rinominare un filesystem senza rimontarlo;
- zfs umount -u: per scaricare le chiavi per un filesystem crittografato quando è smontato;
- wait, zpool wait: attende il completamento di operazioni in background, se di lunga durata.
Per maggiori dettagli su questo rilascio di OpenZFS, vi rimando alla release note ufficiale, cui potete accedere tramite questo link.
Seguiteci sul nostro canale Telegram, sulla nostra pagina Facebook e su Google News. Nel campo qui sotto è possibile commentare e creare spunti di discussione inerenti le tematiche trattate sul blog.