Pas më shumë se dy vjet zhvillimi, është publikuar lëshimi i projektit OpenZFS 2.2, që zhvillon implementimin e sistemit të skedarëve ZFS për Linux dhe FreeBSD. Projekti fitoi njohje si "ZFS në Linux" dhe më parë ishte i kufizuar në zhvillimin e një moduli për bërthamën Linux, por pas transferimit të mbështetjes për FreeBSD, u njoh si implementimi kryesor i OpenZFS dhe u ribëmë emrin.
Punimi i OpenZFS është testuar me bërthamat Linux nga 3.10 deri në 6.5 dhe të gjitha degët e FreeBSD, duke filluar nga 12.2-RELEASE. Koda shpërndahet nën licencën e lirë CDDL. OpenZFS tashmë përdoret në FreeBSD dhe është pjesë e shpërndarjeve Debian, Ubuntu, Gentoo, Sabayon Linux dhe ALT Linux. Paketa me versionin e ri do të përgatiten së shpejti për shpërndarjet 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ë vëllimeve. Në veçanti, janë implementuar komponentë: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) dhe ZPL (ZFS POSIX Layer). Për më tepër, projekti siguron mundësinë e përdorimit të ZFS si backend për sistemin e skedarëve të klasterit Lustre. Pjesët e projektit janë të bazuara në kodin origjinal të ZFS, importuar nga projekti OpenSolaris dhe të zgjeruara me përmirësime dhe korrigjime nga komuniteti Illumos. Projekti zhvillohet me pjesëmarrjen e punonjësve të Laboratorit Kombëtar Livermore me një kontratë me Ministrinë e Energjisë të SHBA.
Kodi shpërndahet nën licencën e lirë CDDL, e cila nuk është e përputhshme me GPLv2, që nuk lejon integrimin e OpenZFS në degën kryesore të bërthamës Linux, pasi kombinimi i kodit nën licencat GPLv2 dhe CDDL është i papranueshëm. Për të kapërcyer këtë mos përputhje licencore, u vendos që produkti të shpërndahet në tërësi nën licencën CDDL në formën e një moduli që ngarkohet veçmas nga bërthama. Stabiliteti i bazës së kodit OpenZFS vlerësohet si i përputhshëm me sistemet e tjera të skedarëve për Linux.
Ndryshimet kryesore:
- ĂshtĂ« shtuar mekanizmi i klonimit tĂ« bllokĂ«ve, qĂ« lejon krijimin e njĂ« kopjeje tĂ« skedarit ose pjesĂ«ve tĂ« tij pa e kopjuar tĂ« dhĂ«nat, duke pĂ«rdorur nĂ« kopjen e dytĂ« lidhje me blloqet e dhĂ«nave ekzistuese tĂ« skedarit origjinal pa i kopjuar ato nĂ« tĂ« vĂ«rtetĂ«. NĂ« rastin e ndryshimeve nĂ« skedarin origjinal ose kopjet e tij, bĂ«het kopjimi i bllokĂ«ve dhe pĂ«rditĂ«simi i kopjeve tĂ« krijuara (modaliteti copy-on-write nĂ« nivelin e skedarĂ«ve). NĂ« bazĂ« tĂ« mekanizmit tĂ« klonimit Ă«shtĂ« realizuar funksioni reflink, i cili mund tĂ« pĂ«rdoret pĂ«r krijimin automatik tĂ« klonĂ«ve nĂ« utilitetet e kopjimit, pĂ«r shembull, nĂ« versionet e reja tĂ« /bin/cp nĂ« Linux.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r teknologjitĂ« qĂ« pĂ«rdoren pĂ«r izolimin e konteinerĂ«ve nĂ« Linux, si sistemi i thirrjeve renameat, FS overlayfs, hartimi i identifikuesve tĂ« pĂ«rdoruesve gjatĂ« montimit dhe delegimi i hapĂ«sirave tĂ« emrave pĂ«r konteinerĂ«t.
- ĂshtĂ« implementuar njĂ« log gabimesh, qĂ« Ă«shtĂ« identifikuar gjatĂ« kryerjes sĂ« operacioneve tĂ« kontrollit tĂ« kontroll-kodit (scrub). GjatĂ« ekzekutimit tĂ« komandĂ«s "zpool status" jepen informacione pĂ«r tĂ« gjitha FS, snapshots dhe klonĂ«t qĂ« preken nga blloku i dĂ«mtuar. PĂ«r tĂ« provuar rikthimin e shpejtĂ« tĂ« bllokĂ«ve tĂ« dĂ«mtuar tĂ« njohur, mund tĂ« pĂ«rdoret komanda "zpool scrub -e".
- ĂshtĂ« shtuar mundĂ«sia e pĂ«rdorimit tĂ« funksionit tĂ« hash-it BLAKE3 pĂ«r kontroll-kodet, i njohur pĂ«r performancĂ«n shumĂ« tĂ« lartĂ« tĂ« llogaritjes sĂ« hash-it (tre herĂ« mĂ« i shpejtĂ« se Edon-R dhe dukshĂ«m mĂ« i shpejtĂ« se sha256 dhe sha512) me siguri nĂ« nivelin e SHA-3.
- Operacioni «zfs receive -c» është realizuar, i cili mund të përdoret për të rikuperuar të dhënat e dëmtuara (jo metadatave) në FS, snapshot-e dhe klonë, në rastet kur ka një kopje rezervë të replikuar, të ruajtur më parë nga komanda «zfs send».
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r vendosjen dhe leximin e pronave pĂ«r disqe virtuale mĂ« vete vdev.
- ĂshtĂ« shtuar mundĂ«sia e lidhjes sĂ« pronave tĂ« pĂ«rdoruesit tĂ« rastit me vdev dhe zpool, si nĂ« rastin e pronave tĂ« pĂ«rdoruesit pĂ«r zfs dataset.
- Ka pasur përmirësime në implementimin e cache-ës adaptiv ARC (Adaptive Replacement Cache), e cila rrit performancën e operacioneve të leximit. ARC tani i përshtatet më mirë ngarkesave të larta dhe minimizon nevojën për optimizimin manual të konfigurimeve.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r mekanizmat e pĂ«rshpejtimit harduerik tĂ« llogaritjes sĂ« kontrolleve SHA2.
- Implementimi i kontrolleve Edon-R është rrewrite dhe optimizuar.
- Kur përdoret algoritmi zstd për kompresimin e të dhënave, është përshpejtuar përcaktimi i situatave kur kompresimi është i panevojshëm (të dhënat nuk mund të kompresohen).
- Janë bërë përmirësime në mekanizmin e parazgjedhjes (Prefetch), që përshpejtuan punën gjatë hyrjeve/daljeve intensive.
- Janë bërë disa optimizime të përgjithshme që rrisin performancën.
Burimi: opennet.ru
