Rilascio di OpenZFS 2.4.0, implementazione di ZFS per Linux e FreeBSD

Dopo 11 mesi di sviluppo, è stata pubblicata la release del progetto OpenZFS 2.4.0, che sviluppa l'implementazione del file system ZFS per Linux e FreeBSD. Il progetto è diventato noto come "ZFS on Linux" e precedentemente era limitato allo sviluppo di un modulo per il kernel Linux, ma dopo l'unione con il codice di FreeBSD è stato riconosciuto come l'implementazione principale di OpenZFS e rinominato.

Il funzionamento di OpenZFS è stato verificato con i kernel Linux dalla versione 4.18 alla 6.18 e con tutti i rami di FreeBSD, a partire dalla versione 13.3. Il codice è distribuito sotto la licenza libera CDDL. OpenZFS è già utilizzato in FreeBSD e fa parte delle distribuzioni Debian, Ubuntu, Gentoo, NixOS e ALT Linux. I pacchetti con la nuova versione saranno preparati a breve per le principali distribuzioni Linux, tra cui Debian, Ubuntu, Fedora, RHEL/CentOS.

OpenZFS offre un'implementazione dei componenti ZFS sia per il funzionamento del file system che per il funzionamento del gestore di volumi. Sono stati implementati componenti come: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (Volume Emulato ZFS) e ZPL (ZFS POSIX Layer). Il progetto consente anche di utilizzare ZFS come backend per il file system cluster Lustre. I lavori di OpenZFS si basano sul codice originale di ZFS, importato dal progetto OpenSolaris e ampliato con miglioramenti e correzioni della comunità Illumos. Il progetto si sviluppa con la partecipazione dei dipendenti del Lawrence Livermore National Laboratory sotto contratto con il Dipartimento dell'Energia degli Stati Uniti.

Il codice è distribuito con licenza open source CDDL, che non è compatibile con GPLv2, il che impedisce l'integrazione di OpenZFS nel ramo principale del kernel Linux, poiché la mescolanza di codice sotto GPLv2 e CDDL non è consentita. Per ovviare a questa incompatibilità di licenza, è stata decisa la distribuzione del prodotto per Linux interamente sotto licenza CDDL, come modulo caricabile separatamente, fornito separatamente dal kernel. La stabilità della base di codice di OpenZFS è valutata come comparabile ad altri file system per Linux.

Principali modifiche:

  • È stata implementata la possibilità di impostare quote predefinite per utenti, gruppi e progetti. Nelle versioni precedenti, le quote potevano essere impostate solo singolarmente per ogni identificatore utente. Nella nuova versione è possibile assegnare un valore predefinito che verrà applicato se non è stata impostata una quota specifica per un determinato utente.
  • È stata aggiunta la possibilità di ripristinare la modalità di input/output diretto (O_DIRECT, Direct I/O) utilizzando un meccanismo leggero di input/output non memorizzato nella cache (Uncached I/O) per le richieste non allineate ai confini delle pagine di memoria, non supportate in Direct I/O.
  • È stato proposto un nuovo algoritmo unificato per limitare la velocità delle operazioni di scrittura e allocazione dei blocchi, riducendo la frammentazione del vdev (Virtual Device) mediante l'aggregazione di più operazioni di scrittura e l'utilizzo di aree libere continue più grandi, anziché collocare i risultati delle singole operazioni di scrittura in piccole aree libere.
  • È stata migliorata la performance della crittografia grazie all'uso delle istruzioni AVX2 nell'implementazione dell'algoritmo AES-GCM. Nei test condotti, l'accelerazione raggiunge fino all'80%.
  • È consentito il posizionamento dei blocchi ZIL (ZFS Intent Log) non solo su normali vdev o su dispositivi dedicati SLOG, ma anche su vdev speciali. Se un vdev normale è collegato a un disco rigido e un vdev speciale a un'unità SSD, questa modifica consente di evitare situazioni in cui i dati vengono scritti su SSD mentre i blocchi ZIL associati vanno sul disco rigido, causando ritardi non necessari.
  • È consentita la definizione della proprietà special_small_blocks per i volumi (ZVOL) e non solo per i file system, permettendo di organizzare il posizionamento di piccoli blocchi su un vdev speciale dedicato, ad esempio, a un'unità SSD.
  • È stata aggiunta la modalità di riscrittura "zfs rewrite -P", che cerca di mantenere invariato il timestamp logico di creazione, consentendo di distinguere i blocchi semplicemente spostati nel pool da quelli effettivamente modificati dall'utente.
  • Per i comandi "zpool trim", "zpool scrub" e "zpool initialize" è stata implementata un'opzione "-a" (—all) che consente di eseguire questi comandi su tutti i pool importati contemporaneamente.
  • È stato aggiunto il comando "zpool scrub -S -E" per eseguire un controllo delle somme di controllo dei dati che rientrano in determinati intervalli temporali.
  • Sono state aggiunte nuove ottimizzazioni del processo di deduplicazione.

Fonte: opennet.ru

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