Pas 11 muajsh zhvillimi, u publikua lëshimi i projektit OpenZFS 2.4.0, që zhvillon implementimin e sistemit të skedarëve ZFS për Linux dhe FreeBSD. Projekti fitoi njohuri si "ZFS on Linux" dhe më parë ishte i kufizuar në zhvillimin e një moduli për bërthamën Linux, por pas bashkimit me kodin nga FreeBSD, u njoh si implementimi kryesor i OpenZFS dhe u riemërua.
Punimi i OpenZFS është verifikuar me bërthamat Linux nga 4.18 deri në 6.18 dhe të gjitha degët e FreeBSD, duke filluar nga 13.3. Kodi shpërndahet nën licencën e lirë CDDL. OpenZFS tashmë përdoret në FreeBSD dhe është përfshirë në distribucionet Debian, Ubuntu, Gentoo, NixOS dhe ALT Linux. Paketa me versionin e ri do të përgatitet së shpejti për distribucionet kryesore të Linux, duke përfshirë Debian, Ubuntu, Fedora, RHEL/CentOS.
OpenZFS ofron një implementim të komponentëve ZFS, të lidhur si me funksionimin e sistemit të skedarëve, ashtu edhe me funksionimin e menaxherit të volumit. Janë implementuar komponentët: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) dhe ZPL (ZFS POSIX Layer). Projekti gjithashtu lejon përdorimin e ZFS si backend për sistemin klaster të skedarëve Lustre. Përparimet e OpenZFS bazohen në kodin origjinal ZFS, i importuar nga projekti OpenSolaris dhe i zgjeruar me përmirësime dhe korrigjime nga komuniteti Illumos. Projekti zhvillohet në bashkëpunim me punonjësit e laboratorit kombëtar Livermore, sipas kontratës me Ministrinë e Energjisë të SHBA.
Kodi shpërndahet nën licencën e lirë CDDL, e cila është e papajtueshme me GPLv2, çka nuk lejon integrimin e OpenZFS në degën kryesore të bërthamës Linux, pasi përzierja e kodit nën licencat GPLv2 dhe CDDL është e papranueshme. Për të kapërcyer papajtueshmërinë e licencave, u vendos që produkti për Linux të shpërndahet krejtësisht nën licencën CDDL si një modul i shkarkueshëm veçmas nga bërthama. Stabiliteti i bazës së kodit OpenZFS vlerësohet si i krahasueshëm me sistemet e tjera të skedarëve për Linux.
Ndryshimet kryesore:
- ĂshtĂ« realizuar mundĂ«sia pĂ«r tĂ« vendosur kuota nĂ« mĂ«nyrĂ« tĂ« paracaktuar pĂ«r pĂ«rdoruesit, grupet dhe projektet. NĂ« versionet e mĂ«parshme, kuotat mund tĂ« vendoseshin vetĂ«m veçmas pĂ«r çdo identifikues pĂ«rdoruesi. NĂ« versionin e ri Ă«shtĂ« shtuar mundĂ«sia e caktimit tĂ« njĂ« vlerĂ« tĂ« paracaktuar, e cila do tĂ« aplikohet, nĂ«se pĂ«r njĂ« pĂ«rdorues tĂ« caktuar nuk Ă«shtĂ« vendosur njĂ« kuotĂ«.
- ĂshtĂ« shtuar mundĂ«sia e kthimit tĂ« modĂ«s sĂ« input/output direkt (O_DIRECT, Direct I/O) nĂ« pĂ«rdorimin e mekanizmit tĂ« lehtĂ« tĂ« input/output tĂ« pa-cache (Uncached I/O) pĂ«r kĂ«rkesat qĂ« nuk janĂ« tĂ« rregulluara sipas kufirit tĂ« faqes sĂ« memories, tĂ« cilat nuk mbĂ«shteten nĂ« Direct I/O.
- ĂshtĂ« propozuar njĂ« algoritĂ«m i ri unifikues pĂ«r kufizimin e shpejtĂ«sisĂ« sĂ« operacioneve tĂ« shkruajtjes dhe vendosjes sĂ« blloqeve, i cili redukton fragmentimin e vdev (Virtual Device) pĂ«rmes agregimit tĂ« disa operacioneve tĂ« shkruajtjes dhe pĂ«rdorimit tĂ« hapĂ«sirave mĂ« tĂ« mĂ«dha tĂ« lira tĂ« vazhdueshme pĂ«r to, nĂ« vend qĂ« tĂ« vendosĂ« rezultatet e operacioneve tĂ« ndara nĂ« hapĂ«sira tĂ« vogla tĂ« lira.
- ĂshtĂ« rritur performanca e enkriptimit pĂ«r shkak tĂ« pĂ«rdorimit tĂ« instrukcioneve AVX2 nĂ« zbatimin e algoritmit AES-GCM. NĂ« testet e kryera, pĂ«rshpejtimi arrin deri nĂ« 80%.
- ĂshtĂ« lejuar vendosja e blloqeve ZIL (ZFS Intent Log) jo vetĂ«m nĂ« vdev normal ose nĂ« njĂ« pajisje tĂ« veçantĂ« SLOG, por edhe nĂ« vdev tĂ« veçanta. NĂ«se vdev normal Ă«shtĂ« i lidhur me njĂ« hard disk dhe vdev i veçantĂ« me njĂ« SSD, kjo ndryshim lejon pĂ«rjashtimin e situatave kur tĂ« dhĂ«nat shkruhen nĂ« SSD, ndĂ«rsa blloqet e lidhura ZIL nĂ« hard disk, duke shkaktuar vonesa tĂ« panevojshme.
- ĂshtĂ« lejuar caktimi i pronĂ«s special_small_blocks pĂ«r ndarjet (ZVOL), jo vetĂ«m pĂ«r sistemet e skedarĂ«ve, duke lejuar organizimin e vendosjes sĂ« blloqeve tĂ« vogla nĂ« njĂ« vdev tĂ« veçantĂ«, pĂ«r shembull, nĂ« njĂ« SSD.
- ĂshtĂ« shtuar moda e ripĂ«rsĂ«ritjes "zfs rewrite -P", e cila, pĂ«r sa Ă«shtĂ« e mundur, lĂ« tĂ« pandryshuar kohĂ«n logjike tĂ« krijimit, duke lejuar dallimin e blloqeve qĂ« janĂ« thjesht zhvendosur nĂ« pool nga ato qĂ« janĂ« ndryshuar nĂ« realitet nga pĂ«rdoruesi.
- PĂ«r komandat "zpool trim", "zpool scrub" dhe "zpool initialize" Ă«shtĂ« realizuar opsioni "-a" (âall), qĂ« lejon ekzekutimin e kĂ«tyre komandave menjĂ«herĂ« pĂ«r tĂ« gjithat pool tĂ« importuar.
- ĂshtĂ« shtuar komanda "zpool scrub -S -E" pĂ«r tĂ« realizuar kontrollin e checksum-it tĂ« tĂ« dhĂ«nave qĂ« bie brenda intervaleve tĂ« shĂ«nuara.
- Janë shtuar optimizime të reja për procesin e deduplication.
Burimi: opennet.ru
