Emva kweminyaka ephantse ibe mibini yophuhliso
Njengenxalenye ye-ZFS kwi-Linux, ukuphunyezwa kwamacandelo e-ZFS anxulumene nokusebenza kwenkqubo yefayile kunye nokusebenza komphathi wevolumu kulungiselelwe. Ngokukodwa, kuphunyezwe la macandelo alandelayo: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) kunye neZPL (ZFS POSIX Layer). Ukongeza, iprojekthi ibonelela ngokukwazi ukusebenzisa i-ZFS njenge-backend yenkqubo yefayile yeqela leLuster. Umsebenzi wale projekthi usekwe kwikhowudi ye-ZFS yokuqala, engeniswe kwiprojekthi ye-OpenSolaris kwaye yandiswe ngophuculo kunye nezilungiso ezivela kuluntu lwase-Illumos. Le projekthi iphuhliswa ngokuthatha inxaxheba kwabasebenzi beLebhu yeSizwe yaseLivermore phantsi kwesivumelwano neSebe lezaMandla laseMelika.
Ikhowudi isasazwa phantsi kwelayisensi ye-CDDL yamahhala, engahambelani ne-GPLv2, engavumeli i-ZFS kwi-Linux ukuba idibaniswe kwisebe eliphambili le-Linux kernel, ekubeni ikhowudi yokuxuba phantsi kwe-GPLv2 kunye neelayisensi ze-CDDL ayamkelekanga. Ukuthintela oku kungahambelani kwelayisenisi, kwagqitywa ekubeni kusasazwe yonke imveliso phantsi kwelayisensi yeCDDL njengemodyuli ekhutshelweyo eyahlukileyo, enikezelwa ngokwahlukileyo kwi-kernel. Uzinzo lwe-ZFS kwi-Linux codebase lulinganiswe ngokuthelekiswa nezinye iinkqubo zefayile zeLinux.
Utshintsho oluphambili:
- Inkxaso eyongeziweyo eyakhelwe-ngaphakathi yokubethelwa kwedatha egciniweyo kwinkqubo yefayile kunye namanqanaba okwahlula. I-algorithm ye-encryption engagqibekanga yi-aes-256-ccm. Ukulayisha izitshixo ze-encryption, umyalelo othi "zfs load-key" uyacetywa;
- Ukukwazi ukuhambisa idatha efihliweyo xa uqhuba "i-zfs thumela" kunye ne "zfs fumana" imiyalelo iphunyeziwe. Xa uchaza inketho ethi "-w", idatha esele ifihliwe echibini idluliselwa kwelinye idama njengoko injalo, ngaphandle kwe-decryption ephakathi. Ngethuba lokukopisha okunjalo, idatha ihlala ikhuselwe isitshixo seqela elithumelayo, elivumela le modi ukuba isetyenziswe kwi-backup kwiinkqubo ezingathembekiyo (ukuba ummkeli uphazamisekile, ngaphandle kwesitshixo umhlaseli akayi kukwazi ukufikelela kwidatha);
- Inkxaso eyongeziweyo yokususa iidrives eziphambili ukusuka kwindawo yokugcina amanzi, exhunywe ngabanye okanye njengenxalenye yesibuko. Ukususwa kuqhutyelwa ngomyalelo "we-zpool ukususa". Ngethuba lenkqubo yokucima, idatha esuka kwi-drive esusiweyo ikopishwa kwiidrive eziphambili eziseleyo kwi-pool;
- Yongeza umyalelo "we-zpool checkpoint" ukugcina imeko yangoku ye-pool kunye nokukwazi ukubuyisela umva utshintsho olongezelelweyo kwindawo egciniweyo ngexesha (i-snapshot ye-pool yonke iyadalwa). Uphawu olubonisiweyo lunokuba luncedo kwinkqubo yokwenza umsebenzi wolawulo onokuba yingozi ontsonkothileyo onokuthi ngesiqhelo ukhokelele kutshintsho olungajikwanga (umzekelo, ukuvula iiflegi zomsebenzi omtsha we-ZFS okanye ukususa idatha);
- Yongeza umyalelo othi "zpool trim" ukwazisa iidrive ezisetyenziswa echibini malunga namacandelo angasasetyenziswayo. Ukusebenzisa umsebenzi we-TRIM kwenza kube lula ukwandisa ukusebenza kakuhle kwee-SSD drives kunye nokuthintela ukuthotywa kokusebenza kwazo. Ukuvumela inkqubo eqhubekayo yangasemva yokupasa imiyalelo ye-TRIM, ipropathi entsha “autotrim” iye yacetywa;
- Yongeza "i-zpool yokuqalisa" umyalelo wokuqalisa yonke indawo yediski engabiwanga, ukuqinisekisa ukuba ilungele ukusetyenziswa ngaphandle kokuchaphazela ukusebenza ekufikeleleni kokuqala (umzekelo, xa ubamba ukugcinwa okubonakalayo okufana neVMware VMDK);
- Inkxaso eyongeziweyo yobalo-mali lwenqanaba leprojekthi kunye nezabelo, ezincedisana nesabelo sabasebenzisi ebesikhona ngaphambili kunye nenqanaba leqela. Ngokusisiseko, iiprojekthi ziyindawo eyahlukileyo yezinto ezinxulumene nesazisi esahlukileyo (i-ID yeprojekthi). Isibophelelo simiselwa ngomsebenzi we-'chattr -p' okanye ngophawu lwelifa. Ukulawula iiprojekthi, "iprojekthi ye-zfs" kunye nemiyalelo "ye-zfs projectspace" inikezelwa, ekuvumela ukuba ulawule ukudalwa kweeprojekthi kwaye ubeke imida yendawo yediski kubo;
- Yongezwe ukukwazi ukwenza izikripthi zeLua ukwenza ngokuzenzekelayo umsebenzi owahlukeneyo ngeZFS. Izikripthi ziqaliswa kwiindawo ezizodwa ezikhethekileyo kusetyenziswa "iprogram ye-zpool" umyalelo;
- Ithala leencwadi elitsha liphunyeziwe
iipzfs , ebonelela nge-API ezinzileyo yokulawula i-ZFS kwizicelo zePython. Ithala leencwadi lisisisongelo ngaphezulu kwe-libzfs_core kwaye libonelela ngeseti yemisebenzi efanayo, kodwa isebenzisa iindidi ezikufutshane nePython; - I-arcstat, i-arcsummary kunye nezinto eziluncedo ze-dbufstat ngoku ziyahambelana nePython 3. Izinto eziluncedo ze-arcstat.py, arc_summary.py kunye ne-dbufstat.py zithiywe ngokutsha kwiinguqulelo ngaphandle kolwandiso lwe-“.py”;
- Inkxaso eyongeziweyo ye-Linux Direct IO (O_DIRECT) ujongano lwekernel, ekuvumela ukuba ufikelele kwidatha ngaphandle kokuphazamisa kwaye udlule i-cache;
- Uphuculo lokusebenza lubonisiwe:
- Umsebenzi wemiyalelo "ye-scrub" kunye ne "resilver" ikhawuleziswe ngokuyihlula kwizigaba ezibini (isigaba esahlukileyo sabelwe i-metadata yokuskena kunye nokumisela indawo yeebhloko zedatha kwidiski, evumela ukuqinisekiswa okuqhubekayo usebenzisa ukufundwa kwedatha ngokulandelelana) ;
- Inkxaso eyongeziweyo kwiiklasi zoLwabiwo,
ukuvumela ukuba ii-SSD ezincinci zifakwe echibini kwaye zisetyenziswe ukugcina kuphela iintlobo ezithile zeebhloko ezisetyenziswa rhoqo, njengemethadatha, idatha ye-DDT kunye neebhloko ezincinci ezineefayile; - Ukunyuka kokusebenza kwemiyalelo yolawulo, njenge
"uluhlu lwe-zfs" kunye "ne-zfs fumana", ngenxa yokugcinwa kwedatha yedatha eyimfuneko ekusebenzeni kwazo; - Inkxaso eyongeziweyo yemisebenzi yokwabiwa kwebhloko ehambelanayo ngokusungula iinkqubo ezahlukeneyo "ze-allocator" kwiqela ngalinye le-metaslab. Kwiinkqubo eziqhelekileyo, kukho ukunyuka kwentsebenzo ye-5-10%, kodwa kwizikhulu (8 GB SSD, 128 core NUMA, 24 GB RAM), ukwanda kwemisebenzi yokwabiwa kwebhloko kunokufikelela kwi-256%;
- Ukongeza ithuba lokulibaziseka kokuphunyezwa komyalelo "wesilver" (ukwakha kwakhona ukuhanjiswa kwedatha kuthathela ingqalelo utshintsho kuqwalaselo lweedrive) - ukuba, xa uqala umsebenzi omtsha, owangaphambili awukagqibi, ke umphathi omtsha uya kuqalisa. phumeza kuphela emva kokuba owangaphambili ugqibile;
- Ukulungelelaniswa kwenziwe kwilog yeZIL (ZFS Intent Log) ukuvumela ukudalwa kunye nokulungiswa kweebhloko xa kukho iibhloko ezisalungiswa ngokugcinwa;
- Ixesha lokubhalisa izahlulo (zvol) kwinkqubo iye yancitshiswa. Xa i-pool iqulethe inani elikhulu lezahlulo, ngoku zifumaneka ngokukhawuleza emva kokuphumeza "i-zpool import";
- Inkxaso eyongeziweyo yokukhawuleza kwe-hardware ye-SHA256 yezibalo ze-hash kunye nokusebenza kwe-encryption ye-AES-GSM usebenzisa iichips ezixhasa i-Intel QAT (iTekhnoloji yoNcedo oluKhawulezayo). Inkxaso eyongeziweyo yezixhobo zokukhawulezisa izixhobo ze-Intel C62x chipset kunye ne-Atom C3000 CPU.
umthombo: opennet.ru