Ukukhuthaza iiBcachefs kwiLinux Kernel

U-Kent Overstreet, umbhali we-BCache SSD ibhloko yenkqubo ye-caching ye-block device, eyingxenye ye-Linux kernel, isishwankathelo seziphumo zomsebenzi wokukhuthaza inkqubo yefayile ye-Bcachefs kwintetho yakhe kwinkomfa ye-LSFMM 2023 (i-Linux Storage, Filesystem, Management Memory Management). & neNgqungquthela yeBPF). NgoMeyi, iiseti ezihlaziyiweyo zokuphunyezwa kwe-Bcachefs FS zandululwa ukuba zijongwe kwakhona kwaye zibandakanywe kuluhlu oluphambili lwe-Linux kernel. I-FS Bcachefs iphuhliswe malunga ne-10 iminyaka. Ukulungela ukuphonononga ukuphunyezwa kwee-Bcachefs ngaphambi kokuba kufakwe kwi-core kwabhengezwa ekupheleni kwe-2020, kwaye inguqu yangoku yeepatches iqwalasela izimvo kunye neentsilelo ezichongiweyo ngexesha lokuphononongwa kwangaphambili.

Injongo yophuhliso lwe-Bcachefs kukufikelela kwinqanaba le-XFS ekusebenzeni, ukuthembeka kunye nokulinganisa, ngelixa ubonelela ngeempawu ezongezelelweyo ezihambelana ne-Btrfs kunye ne-ZFS, ezifana nokubandakanya izixhobo ezininzi kwisahlulelo, i-multi-layer storage layouts, ukuphindaphinda (RAID 1/10), i-caching, ukunyanzeliswa kwedatha ecacileyo (i-LZ4, i-gzip kunye neendlela ze-ZSTD), izilayi zelizwe (i-snapshots), ukuqinisekiswa kwengqibelelo nge-checksums, ukukwazi ukugcina iikhowudi zokulungisa iphutha leReed-Solomon (RAID 5/6), ukugcinwa kolwazi olufihliweyo (ChaCha20 kunye nePoly1305 zisetyenziswa). Ngokumalunga nokusebenza, ii-Bcachefs ziphambi kwe-Btrfs kunye nezinye iisistim zefayile ezisekelwe kwindlela yokuKhupha-uBhala, kwaye ibonisa ukusebenza kufutshane ne-Ext4 kunye ne-XFS.

Kwimpumelelo yamva nje ekuphuhlisweni kwee-Bcachefs, ukuzinziswa kokuphunyezwa kwe-snapshots ekhoyo yokubhala kuyaqatshelwa. Xa kuthelekiswa nee-Btrfs, ii-snapshots kwii-Bcachefs ngoku ziphucuka kakhulu kwaye zikhululekile kwiingxaki ezikwi-Btrfs. Enyanisweni, umsebenzi wee-snapshots wavavanywa xa uququzelela i-MySQL backups. I-Bcachefs nayo yenze umsebenzi omningi wokuphucula ukulinganisa - inkqubo yefayile isebenze kakuhle ekuvavanyeni kwi-TB ye-100 yokugcina, kwaye i-Bcachefs kulindeleke ukuba iphunyezwe kwi-1 PB yokugcina i-PB kungekudala. Kufakwe imowudi entsha ye-nocow ukuvala inkqubo ye-"copy-on-write" (nocow). Ngexesha lasehlotyeni, baceba ukuzisa ukuphunyezwa kweekhowudi zokulungiswa kweempazamo kunye ne-RAIDZ kwisimo esizinzile, kunye nokusombulula iingxaki ngokusetyenziswa kwememori ephezulu xa ubuyisela kwaye ujonga iinkqubo zefayile kunye ne-fsck utility.

Kwizicwangciso zexesha elizayo, umnqweno wokusebenzisa ulwimi lweRust kuphuhliso lweeBcachefs ukhankanyiwe. Ngokombhali we-Bcachefs, uyathanda ukwenza ikhowudi, kungekhona ukulungisa ikhowudi, kwaye ngoku kuyaphambana ukubhala ikhowudi kwi-C xa kukho ukhetho olungcono. Umhlwa sele ubandakanyeka kwi-Bcachefs ekuphunyezweni kwezinye zeendawo ezisetyenziswayo. Ngapha koko, umbono uqanduselwa ukuba ngokuthe ngcembe ubhale ngokutsha iiBcachefs kwiRust, kuba ukusebenzisa olu lwimi kusindisa kakhulu ixesha lokulungisa ingxaki.

Ngokuphathelele ukuhambisa i-Bcachefs kwi-mainstream ye-Linux kernel, inkqubo yokwamkelwa inokulibaziseka ngenxa yobukhulu obukhulu beenguqu (ii-patches ze-2500 kunye ne-90 yemigca yekhowudi), okunzima ukuyiphonononga. Ukukhawulezisa uphononongo, abanye abaphuhlisi bacebise ukwahlula uthotho lweepatshi zibe ziindawo ezincinci kunye nezahlulwe ngokwengqiqo. Ngexesha lengxoxo, abanye abathathi-nxaxheba baye bagxininisa ukuphuhliswa kweprojekthi ngumphuhlisi omnye kunye nengozi yokuba ikhowudi inokushiywa ingagcinwanga ukuba kukho into eyenzekayo kumthuthukisi wayo (abasebenzi ababini be-Red Hat banomdla kwiprojekthi, kodwa umsebenzi wabo usekhona. ukulungiswa kwebug okulinganiselweyo).

Ii-Bcachefs ziphuhliswa kusetyenziswa itekhnoloji esele ivavanyiwe ekuphuhliseni isixhobo sebhlokhi ye-Bcache, eyenzelwe ukugcina i-cache ukufikelela kwi-hard drives ecothayo kwii-SSD ezikhawulezayo (ezibandakanyiweyo kwi-kernel ukususela ekukhululweni kwe-3.10). Ii-Bcachefs zisebenzisa i-Copy-on-Write mechanism (COW), apho utshintsho alukhokeli kwidatha yokubhala ngaphezulu - isimo esitsha sibhalwa kwindawo entsha, emva koko isalathisi sesimo samanje sitshintsha.

Inqaku le-Bcachefs yinkxaso yoqhagamshelo lwe-multi-layer ye-drives, apho ugcino luqulunqwe ngamanqwanqwa aliqela - iidrive ezikhawulezayo (SSDs) ziqhagamshelwe kumaleko asezantsi, asetyenziselwa ukugcina idatha esetyenziswa rhoqo, kunye neefom zamaleko aphezulu. iidiski ezinamandla kakhulu kwaye zingabizi kakhulu ezigcina idatha efunwa kancinci . I-Writback caching ingasetyenziswa phakathi kweeleya. Iidrive zinokongezwa ngokuguquguqukayo kwaye zisuswe kwisahlulelo ngaphandle kokuphazamisa ukusetyenziswa kwenkqubo yefayile (idatha ifuduka ngokuzenzekelayo).

umthombo: opennet.ru

Yongeza izimvo