Objavljeno je izdanje projekta OpenZFS 2.1, koje razvija implementaciju datotečnog sustava ZFS za Linux i FreeBSD. Projekt je postao poznat kao 'ZFS na Linuxu' i ranije je bio ograničen na razvoj modula za Linux kernel, ali nakon prijenosa podrške FreeBSD, prepoznat je kao glavna implementacija OpenZFS i oslobođen je spominjanja Linuxa u nazivu.
Rad OpenZFS je provjeren s Linux kernelima od 3.10 do 5.13 i svim granama FreeBSD-a, počevši od 12.2-RELEASE. Kod se distribuira pod slobodnom licencom CDDL. OpenZFS se već koristi u FreeBSD-u i dio je distribucija Debian, Ubuntu, Gentoo, Sabayon Linux i ALT Linux. Paketi s novom verzijom bit će uskoro pripremljeni za glavne distribucije Linuxa, uključujući Debian, Ubuntu, Fedora, RHEL/CentOS.
OpenZFS pruža implementaciju komponenti ZFS-a koje se odnose na rad datotečnog sustava, kao i na funkcionalnost upravitelja volumena. Posebno su implementirane komponente: SPA (Allocator baza za pohranu), DMU (Jedinca za upravljanje podacima), ZVOL (Emulirani volumen ZFS) i ZPL (POSIX sloj ZFS-a). Osim toga, projekt omogućava korištenje ZFS-a kao pozadinskog sustava za klasterski datotečni sustav Lustre. Razvoj projekta temelji se na izvornom kodu ZFS-a, importiranom iz projekta OpenSolaris i proširenom poboljšanjima i ispravcima od strane zajednice Illumos. Projekt se razvija uz sudjelovanje zaposlenika Nacionalne laboratorije Livermore prema ugovoru s Ministarstvom energetike SAD-a.
Kod se distribuira pod slobodnom licencom CDDL, koja nije kompatibilna s GPLv2, što onemogućuje integraciju OpenZFS-a u glavnu granu Linux kernel-a, jer miješanje koda pod licencama GPLv2 i CDDL nije dopušteno. Kako bi se zaobišla ova licencijska nekompatibilnost, odlučeno je da se proizvod u cijelosti distribuira pod licencom CDDL u obliku odvojeno učitavnog modula, koji se isporučuje odvojeno od kernela. Stabilnost kodne baze OpenZFS ocijenjena je kao usporediva s drugim FS-ovima za Linux.
Glavne promjene:
- Dodana je podrška za tehnologiju dRAID (Distributed Spare RAID), koja predstavlja varijantu RAIDZ s integriranim distribuiranim obradom blokova za vruće oporavak (hot spare). dRAID je naslijedio sve prednosti RAIDZ, ali je omogućio značajno povećanje brzine rekonstrukcije pohrane (resilvering) i oporavka redundancije u sklopu. Virtualna pohrana dRAID formira se iz nekoliko internih grupa RAIDZ, od kojih svaka uključuje uređaje za pohranu podataka i uređaje za pohranu pariteta. Te grupe su raspoređene po svim diskovima radi optimalne upotrebe dostupne propusnosti diskova. Umjesto odvojenog diska za vrući oporavak, dRAID koristi koncept logičke distribucije blokova za vrući oporavak po svim diskovima u sklopu.

- Implementirana je opcija „compatibility“ („zpool create -o compatibility=off|legacy|file[,file…] pool vdev“), koja omogućava administratoru da odabere skup mogućnosti koje treba aktivirati u poolu, s ciljem stvaranja prenosivih poola i održavanja kompatibilnosti poola između različitih verzija OpenZFS i različitih platformi.
- Omogućeno je spremanje statistike o radu poola u formatu baze podataka InfluxDB, optimizirane za pohranu, analizu i manipulaciju podacima u obliku vremenskih serija (uzorci vrijednosti parametara u zadanim vremenskim intervalima). Za izvoz u format InfluxDB predložena je naredba „zpool influxdb“.
- Dodana je podrška za vruće dodavanje memorije i CPU-a.
- Nove naredbe i opcije:
- „zpool create -u“ — zabrana automatskog montiranja.
- „zpool history -i“ — prikaz trajanja izvršenja svake naredbe u povijesti operacija.
- „zpool status“ — dodano je upozorenje o diskovima s neoptimalnom veličinom bloka.
- „zfs send —skip-missing|-s“ — ignoriranje nedostajućih snapshota tijekom slanja struje za replikaciju.
- „zfs rename -u“ — preimenovanje FS-a bez ponovnog montiranja.
- U arcstat je dodana podrška za statistiku L2ARC i dodane su opcije „-a“ (svi) i „-p“ (razgovijetno).
- Optimizacije:
- Povećana je učinkovitost interaktivnog ulaza/izlaza.
- Ubrzana je obrada prefetch za opterećenja povezana s paralelnim pristupom podacima.
- Poboljšana je skalabilnost smanjivanjem sukoba zaključavanja.
- Smanjeno vrijeme uvoza skupa.
- Smanjena fragmentacija ZIL blokova.
- Povećana učinkovitost rekurzivnih operacija.
- Poboljšano upravljanje memorijom.
- Povećana brzina učitavanja modula jezgre.
Izvor: opennet.ru

