A fost publicat release-ul proiectului OpenZFS 2.1, care dezvoltă implementarea sistemului de fișiere ZFS pentru Linux și FreeBSD. Proiectul a devenit cunoscut sub numele de «ZFS on Linux» și inițial s-a concentrat pe dezvoltarea unui modul pentru kernelul Linux, dar după adăugarea suportului pentru FreeBSD a fost recunoscut ca implementarea principală a OpenZFS și a fost eliberat de mențiunea Linux din nume.
Funcționarea OpenZFS a fost verificată cu kernel-uri Linux de la 3.10 la 5.13 și cu toate versiunile FreeBSD, începând cu 12.2-RELEASE. Codul este distribuit sub licența liberă CDDL. OpenZFS este deja folosit în FreeBSD și este inclus în distribuțiile Debian, Ubuntu, Gentoo, Sabayon Linux și ALT Linux. Pachetele cu noua versiune vor fi pregătite în curând pentru principalele distribuții Linux, inclusiv Debian, Ubuntu, Fedora, RHEL/CentOS.
OpenZFS oferă o implementare a componentelor ZFS, legate atât de funcționarea sistemului de fișiere, cât și de funcționarea managerului de volume. În special, sunt implementate componentele: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) și ZPL (ZFS POSIX Layer). În plus, proiectul asigură capacitatea de a utiliza ZFS ca backend pentru sistemul de fișiere în cluster Lustre. Contribuțiile proiectului se bazează pe codul original ZFS, importat din proiectul OpenSolaris și extins cu îmbunătățiri și corecții din comunitatea Illumos. Proiectul este dezvoltat cu participarea angajaților Laboratorului Național Lawrence Livermore, printr-un contract cu Ministerul Energiei al SUA.
Codul este distribuit sub licența liberă CDDL, care nu este compatibilă cu GPLv2, ceea ce împiedică integrarea OpenZFS în ramura principală a nucleului Linux, deoarece amestecarea codului sub licențele GPLv2 și CDDL este inacceptabilă. Pentru a evita această incompatibilitate de licență, s-a decis să se distribuie produsul în întregime sub licența CDDL sub forma unui modul descărcabil separat, care este furnizat separat de nucleu. Stabilitatea bazei de cod OpenZFS este evaluată ca fiind comparabilă cu alte sisteme de fișiere pentru Linux.
Modificări principale:
- A fost adăugată suportul pentru tehnologia dRAID (Distributed Spare RAID), care reprezintă o variantă a RAIDZ cu procesare distribuită integrată pentru recuperare la cald (hot spare). dRAID a moștenit toate avantajele RAIDZ, dar a permis o creștere semnificativă a vitezei de reconstructie a stocării (resilvering) și de recuperare a redundanței din array. Stocarea virtuală dRAID este formată din mai multe grupuri interne RAIDZ, fiecare având dispozitive pentru stocarea datelor și dispozitive pentru stocarea blocurilor de paritate. Grupurile respective sunt distribuite pe toate unitățile pentru utilizarea optimă a lățimii de bandă disponibile a discurilor. În loc de un disc separat pentru recuperare la cald, dRAID folosește conceptul de distribuire logică a blocurilor pentru recuperare la cald pe toate discurile din array.

- A fost implementată proprietatea „compatibility” („zpool create -o compatibility=off|legacy|file[,file…] pool vdev”), permițând administratorului să aleagă setul de funcționalități care să fie activate în pool, cu scopul de a crea pools portabile și de a menține compatibilitatea pools între diferite versiuni OpenZFS și diferite platforme.
- A fost oferită posibilitatea de a salva statistici despre funcționarea pool-ului în formatul bazei de date InfluxDB, optimizată pentru stocarea, analiza și manipularea datelor sub formă de serie temporală (valorile parametrilor prin intervale de timp specifice). Pentru exportul în format InfluxDB, este disponibilă comanda „zpool influxdb”.
- A fost adăugat suportul pentru adăugarea la cald a memoriei și CPU-ului.
- Comenzi și opțiuni noi:
- „zpool create -u” — interzicerea montării automate.
- „zpool history -i“ — reflectia în istoria operațiunilor a duratei de execuție pentru fiecare comandă.
- „zpool status“ — s-a adăugat afișarea unor avertizări pentru discurile cu dimensiuni de bloc neoptime.
- „zfs send —skip-missing|-s“ — ignorarea instantaneelor lipsă în procesul de trimitere a fluxului pentru replicare.
- „zfs rename -u“ — renumirea FS fără reprocesare.
- În arcstat a fost adăugată suport pentru statistica L2ARC și au fost adăugate opțiunile „-a” (all) și „-p” (parsable).
- Optimizări:
- A crescut performanța input/output-ului interactiv.
- A fost accelerată funcționarea prefetch pentru sarcini legate de accesul paralel la date.
- A fost îmbunătățită scalabilitatea prin reducerea conflictelor de blocare.
- A fost redus timpul de import al pool-ului.
- A fost redusă fragmentarea blocurilor ZIL.
- A fost crescută performanța operațiunilor recursive.
- A fost îmbunătățit managementul memoriei.
- A fost accelerată încărcarea modulului kernel.
Sursa: opennet.ro

