ZFSonLinux 0.8: funzioni, stabilizzazione, intrighi. E anche trim

Recentemente è stata rilasciata una nuova versione stabile di ZFSonLinux, un progetto che ora è centrale nel mondo dello sviluppo di OpenZFS. Addio OpenSolaris, benvenuto feroce mondo Linux incompatibile GPL-CDDL.

ZFSonLinux 0.8: funzioni, stabilizzazione, intrighi. E anche trim
Di seguito un'analisi delle cose più interessanti (non può mancare, 2200 commits!), e per finire, un po' di suspence.

Nuove funzionalità

Naturalmente, la più attesa è la crittografia nativa. Ora è possibile crittografare solo i dataset necessari grazie alla crittografia integrata in ZFS e (a mio avviso — cosa principale) — è possibile inviare dati crittografati attraverso zfs send e CONTROLLARE l'integrità dei dati senza decrittografare utilizzando gli strumenti integrati, tutte le funzionalità per garantire l'integrità dei dati ZFS saranno a tua disposizione!

In secondo luogo, è importante menzionare il tanto atteso TRIM. Sì, ha impiegato molto tempo per arrivare in produzione. In parte perché per i file system CoW il problema dell'usura degli SSD non è così critico. Ma ora siamo tutti tranquilli — zpool trim salverà i nostri delicati flash.

Ora è possibile eliminare array vdev aggiunti per errore dal pool (ma solo se si tratta di sparse o mirror). Un'utile novità.

Proseguendo nella nostra classifica — checkpoint del pool. Brevemente — snapshot per l'intero stato del pool, MA che consentono di annullare non solo le modifiche ai dati, ma anche le features attivate nel pool e le modifiche alla struttura. Un'altra possibilità per garantire la sicurezza.

Inizializzazione del pool — riempimento dello storage sottostante con zeri. Utile per lavorare in ambienti con dischi thin provisioned per un'esplicita allocazione dello spazio ed evitare cali di prestazioni inaspettati in seguito.

Contabilità di progetto e quota — nel meccanismo di quota esistente ora è possibile utilizzare la suddivisione per progetti.

Programmi canale — la possibilità di eseguire compiti amministrativi in modo atomico tramite script Lua. Ci sono limiti sul tempo di esecuzione e sulla memoria. Se ti occupi di automazione — questo è per te.

Direct IO — per semplificare abbiamo attivato il lavoro Direct IO, all'interno nulla è cambiato (semplicemente le chiamate vanno il più possibile oltre la cache), tuttavia ora il software desideroso di operare in questa modalità non avrà problemi.

Progetto Pyzfs integrato nel repository principale e preso sotto l'ala del progetto ZFSonLinux. Ora ci sono più strumenti di gestione disponibili da Python (e sarà più tranquillo per il supporto del modulo). Inoltre, molti script Python sono stati adattati per Python3.

E ora il gusto — prestazioni

Durante le operazioni di scrub e resilver, ora vengono prima letti i metadati e solo dopo, nel modo massimo sequenziale — i dati. Questo permette il ripristino dell'array e il controllo dell'integrità a massima velocità.

Classi di allocazione — nei vdev degli array è stata introdotta una tipologia di supporti; ora è possibile separare lo storage di metadati/tabelle di deduplicazione (DDT)/blocchi di dati inferiori a X KB in un array vdev separato, da dischi più performanti. Più velocità a Dio della velocità! (e in effetti — questa funzionalità sarà molto utile nel prossimo DRAID).

Molti comandi di amministrazione ora funzionano più velocemente grazie alla cache puntuale dei metadati (ad esempio, zfs list, zfs get).

Il processo di allocazione dei dati è parallelizzato, ora per ogni sezione di spazio libero (metaslab) vengono creati diversi allocatori. Con NVME certamente non si potrà spremere tutto, ma sarà migliore.

Il ripristino dell'integrità dell'array permetterà di non sovraccaricare l'array con la ricostruzione simultanea di più dischi, ma avverrà in modo sequenziale. Questo ridurrà l'impatto sulle prestazioni e il tempo di ricostruzione.

Durante l'importazione dei pool con un gran numero di volumi accelerata la registrazione nel sistema.

Inoltre QAT ora consente di esportare il calcolo della crittografia e dei checksum.

In aggiunta, un sacco di piccole modifiche (del resto, oltre 2000 commit nella release!).

E per finire, le intrighe

Sebbene ZFSonLinux aggiunga rapidamente il supporto per i nuovi kernel Linux (attualmente supportate le versioni 2.6.32 — 5.1*), i maintainer del kernel mostrano una chiara mancanza di interesse ad aiutare i moduli esterni («…non ci interessa affatto
moduli del kernel esterni…
— greg k-h»). Così, le chiamate al kernel necessarie per un funzionamento efficace nella branch 5.0 sono state modificate in GPL-only . Nei kernel con questa patch, le performance di ZFS saranno notevolmente inferiori. A salvare la situazione, il fatto che questa funzionalità può essere implementata dal lato del modulo, il che probabilmente verrà fatto. Nel frattempo, potete prendere come esempio NixOS — loro hanno semplicemente fatto il rollback della patch nel kernel 🙂

È stato inoltre introdotto un Code of Conduct nel progetto, il che ha generato una serie di controversie. Ma abbiamo resistito 🙂

A tutti backup funzionanti e release stabili!

Link utili:
release su Github
la mia introduzione a ZFS

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster