PĂ€rast 11 kuu arendust on avaldatud projekti OpenZFS 2.4.0 vĂ€ljaanne, mis arendab ZFS failisĂŒsteemi rakendust Linuxile ja FreeBSD-le. Projekt on tuntud kui âZFS Linuxisâ ja piirdus varem ainult Linuxi tuumamooduli arendamisega, kuid pĂ€rast FreeBSD koodi sulandumist tunnustati seda OpenZFS peamise rakendusena ja see nimetati ĂŒmber.
OpenZFS toimivust on kontrollitud Linuxi keermetega alates 4.18 kuni 6.18 ja kÔigi FreeBSD harudega alates 13.3. Kood on jagatud avatud CDDL litsentsi all. OpenZFS-d kasutatakse juba FreeBSD-s ja see on osa distributsioonidest Debian, Ubuntu, Gentoo, NixOS ja ALT Linux. Uue versiooni paketid valmivad peagi peamistele Linuxi distributsioonidele, sealhulgas Debianile, Ubuntuile, Fedora-le ja RHEL/CentOS-ule.
OpenZFS pakub ZFS komponentide rakendust, mis on seotud nii failisĂŒsteemi toimimise kui ka mahuhalduriga. Rakendatud on jĂ€rgmised komponendid: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) ja ZPL (ZFS POSIX Layer). Projekt vĂ”imaldab samuti kasutada ZFS-i klastri failisĂŒsteemi Lustre tagaplaanina. OpenZFS-i arendustööd pĂ”hinevad algsel ZFS-i koodil, mille on importinud OpenSolaris projekt ja mida on laiendatud Illumose kogukonna muudatuste ja tĂ”rketeatega. Projekti arendavad Livermore'i riikliku laboratooriumi töötajad USA energiaameti lepingu alusel.
Kood levitatakse vabandava litsentsi CDDL all, mis ei ole ĂŒhilduv GPLv2-ga, mis ei vĂ”imalda OpenZFS-i integreerimist Linuxi tuuma pĂ”hiharu, kuna GPLv2 ja CDDL litsentside koodi segamine on vastuvĂ”etamatu. Litsentsi ĂŒhilduvuse kĂ”rvaldamiseks otsustati levitada Linuxi tooteid tĂ€ielikult CDDL litsentsi all eraldi allalaaditava moodulina, mis on tarnitud eraldi tuumast. OpenZFS-i koodibaasi stabiilsust hinnatakse sarnaseks teiste Linuxi failisĂŒsteemidega.
Peamised muudatused:
- Sisse on viidud vÔimalus mÀÀrata vaikekvoodid kasutajatele, gruppidele ja projektidele. Varasemates versioonides saadi kvote seadistada ainult eraldi iga kasutaja identifikaatori jaoks. Uues versioonis on lisatud vÔimalus mÀÀrata vaikevÀÀrtus, mida rakendatakse, kui konkreetse kasutaja jaoks pole kvotat seadistatud.
- Lisatud on vĂ”imalus tagasi minna otse sisendi/vĂ€ljundi (O_DIRECT, Direct I/O) reĆŸiimist, et kasutada kerget mehhanismi vahepealseks sisend/vĂ€ljundiks (Uncached I/O) mĂ€lu lehekĂŒljega mittejoondatud pĂ€ringute jaoks, mida Direct I/O ei toeta.
- Pakutud on uus ĂŒhtne algoritm kirjutamise ja plokkide paigutamise kiiruspiirangute seadmiseks, mis vĂ€hendab vdev (Virtuaalne seade) fragmenteeritust, koondades mitu kirjutamisoperatsiooni ja kasutades neile suuremaid jĂ€rjestikuseid vabu alasid, mitte paigutades ĂŒhekordsete kirjutamisoperatsioonide tulemusi vĂ€ikestesse vabadesse piirkondadesse.
- Kopeerimise jÔudlust on parandatud, kasutades AVX2 kÀsklusi AES-GCM algoritmi rakenduses. Tehtud testides saavutati kiirus kuni 80%.
- ZIL-blokid (ZFS Intent Log) on lubatud paigutada mitte ainult tavalistele vdev-dele vÔi eraldi SLOG-seadmestikele, vaid ka spetsiaalsetesse vdev-desse. Kui normaalne vdev on seotud HDD-ga ja spetsiaalne vdev on seotud SSD-ndiga, siis muudatus vÔimaldab vÀltida olukordi, kus andmed kirjutatakse SSD-le, samal ajal kui seotud ZIL-blokid kirjutatakse HDD-le, mis toob kaasa lisaviivitusi.
- Erinevate lĂ”ikude (ZVOL) jaoks on lubatud mÀÀrata special_small_blocks atribuuti, mitte ainult failisĂŒsteemide jaoks, mis vĂ”imaldab korraldada vĂ€ikeste plokkide paigutust eraldi spetsiaalses vdev'is, nĂ€iteks SSD-plaadil.
- On lisatud "zfs rewrite -P" ĂŒlekirjutamisreĆŸiim, mis vĂ”imalusel jĂ€tab loogilise loomise aja muutumatuks, vĂ”imaldades eristada ploke, mis on lihtsalt paigutatud puusse, plokkidest, mida tegelikult on muutnud kasutaja.
- KĂ€skudele "zpool trim", "zpool scrub" ja "zpool initialize" on rakendatud "-a" (âall) valik, mis vĂ”imaldab neid kĂ€ske samaaegselt kĂ€itada kĂ”igi imporditud puude jaoks.
- Lisatud on kÀsk "zpool scrub -S -E", et teostada andmete kontrollsumma kontrollimist, mis kuulub mÀÀratud ajavahemikesse.
- On lisatud uusi dedupeerimise protsessi optimeerimisi.
Allikas: opennet.ru
