Ngemva kwezinyanga ezingu-11 zokuthuthukiswa, iphrojekthi ye-OpenZFS 2.4.0 ikhishwe, ithuthukisa ukusetshenziswa kohlelo lwefayela le-ZFS lwe Linux kanye ne-FreeBSD. Le phrojekthi yaziwa ngokuthi "i-ZFS ku-" Linux" futhi ngaphambilini yayinqunyelwe ekuthuthukiseni imojula ye-kernel Linux, kodwa ngemva kokuhlanganiswa nekhodi evela ku-FreeBSD, yaqashelwa njengokusetshenziswa okuyinhloko kwe-OpenZFS futhi yaqanjwa kabusha.
Ukusebenza kwe-OpenZFS kuqinisekiswe ngama-kernel Linux Kusukela ku-4.18 kuya ku-6.18 kanye nawo wonke amagatsha e-FreeBSD aqala ngo-13.3. Ikhodi isatshalaliswa ngaphansi kwelayisensi yamahhala ye-CDDL. I-OpenZFS isivele isetshenziswa ku-FreeBSD futhi ifakiwe ekusakazweni. Debian, Ubuntu, I-Gentoo, i-NixOS kanye ne-ALT LinuxAmaphakheji anenguqulo entsha azolungiselelwa ukusatshalaliswa okuyinhloko maduze. Linuxkufaka phakathi Debian, Ubuntu, i-Fedora, i-RHEL/CentOS.
I-OpenZFS inikeza ukuqaliswa kwezingxenye ze-ZFS ezihlobene kokubili uhlelo lwefayela kanye nomphathi wevolumu. Izingxenye ezisetshenzisiwe: I-SPA (I-Storage Pool Allocator), i-DMU (Iyunithi Yokulawulwa Kwedatha), i-ZVOL (Ivolumu Efanisiwe ye-ZFS) kanye ne-ZPL (I-ZFS POSIX Layer). Le phrojekthi futhi ivumela i-ZFS ukuthi isetshenziswe njenge-backend yohlelo lwefayela oluhlanganisiwe lwe-Luster. Umsebenzi we-OpenZFS usekelwe kukhodi yokuqala ye-ZFS, engeniswe isuka kuphrojekthi ye-OpenSolaris futhi yanwetshwa ngentuthuko nokulungiswa okuvela emphakathini we-Illumos. Lo msebenzi uthuthukiswa ngokubamba iqhaza kwezisebenzi ze-Livermore National Laboratory ngaphansi kwenkontileka noMnyango Wezamandla wase-US.
Ikhodi isatshalaliswa ngaphansi kwelayisensi yamahhala ye-CDDL, engahambisani ne-GPLv2, evimbela i-OpenZFS ukuthi ihlanganiswe ne-kernel eyinhloko. Linux, njengoba ukuxuba ikhodi ngaphansi kwamalayisense e-GPLv2 kanye ne-CDDL kungamukeleki. Ukuze kugwenywe ukungahambelani kwelayisensi, kwanqunywa ukuthi kusatshalaliswe umkhiqizo Linux Ilayisensiwe ngokuphelele ngaphansi kwe-CDDL njengemojuli elayishwayo ngokwehlukana, isatshalaliswa ngokwehlukana ne-kernel. Ukuqina kwe-OpenZFS codebase kubhekwa njengokufana nezinye izinhlelo zamafayela ze Linux.
Izinguquko eziyinhloko:
- Ikhono lokusetha ama-quota azenzakalelayo kubasebenzisi, amaqembu, namaphrojekthi seliqalisiwe. Ezinguqulweni zangaphambilini, ama-quota ayengasethwa ngawodwana kuphela ku-ID yomsebenzisi ngamunye. Inguqulo entsha manje ikuvumela ukuthi usethe inani elizenzakalelayo elizosetshenziswa uma kungekho quota ebekwe kumsebenzisi othile.
- Kwengezwe ikhono lokubuyela emuva kusuka kumodi ye-I/O eqondile (O_DIRECT, Direct I/O) ku-mechanism ye-I/O engasindi engagciniwe yezicelo ezingahambisani nomngcele wekhasi lememori, ezingasekelwa ku-Direct I/O.
- Kuphakanyiswa i-algorithm entsha ehlanganisiwe yokunciphisa ijubane lemisebenzi yokubhala kanye nokubekwa kwamabhulokhi, okunciphisa ukuhlukana kwe-vdev (Idivayisi Ebonakalayo) ngokuhlanganisa imisebenzi eminingi yokubhala nokusebenzisa izindawo ezinkulu ezikhululekile ezihambisanayo esikhundleni sokubeka imiphumela yemisebenzi yokubhala eyodwa ezindaweni ezincane ezikhululekile.
- Ukusebenza kokubethela kuthuthukisiwe ngokusebenzisa imiyalelo ye-AVX2 ekusetshenzisweni kwe-algorithm ye-AES-GCM. Ekuhlolweni kwethu, isivinini sifinyelele ku-80%.
- Amabhulokhi e-ZIL (ZFS Intent Log) manje angafakwa hhayi kuphela kuma-vdev ajwayelekile noma kudivayisi ehlukile ye-SLOG, kodwa futhi nakuma-vdev azinikele. Uma i-vdev evamile ihlotshaniswa ne-hard drive kanye ne-vdev ezinikele ene-SSD, lolu shintsho luvimbela izimo lapho idatha ibhalwa khona kwi-SSD kanti amabhulokhi e-ZIL ahlobene nawo abhalwa kwi-hard drive, okubangela ukubambezeleka okungadingekile.
- Impahla ye-special_small_blocks manje ingasethwa kuma-partitions (ZVOLS) kunokuba kube izinhlelo zamafayela kuphela, okuvumela ama-block amancane ukuthi abekwe ku-vdev ehlukile ezinikele, njenge-SSD.
- Kwengezwe imodi yokubhala kabusha ethi "zfs rewrite -P", eshiya isikhathi sokudala esinengqondo singashintshi noma nini lapho kungenzeka, okuvumela ukuhlukanisa amabhlogo asanda kuthuthelwa echibini kumabhlogo aguqulwe ngumsebenzisi.
- Imiyalo ethi "zpool trim", "zpool scrub", kanye nethi "zpool initialize" manje inenketho ethi "-a" (--all), evumela le miyalo ukuthi isetshenziswe ngokumelene nawo wonke amachibi angenisiwe ngesikhathi esisodwa.
- Kwengezwe umyalo othi "zpool scrub -S -E" ukuze kwenziwe ukuhlolwa kwe-checksum kudatha ewela ngaphakathi kwesikhathi esithile.
- Kwengezwe ukulungiswa okusha enqubweni yokunikezela.
Source: opennet.ru
