Promovimi i Bcachefs në bërthamën e Linux

Kent Overstreet, autori i sistemit të caching të pajisjeve bllok në SSD-të BCache, në fjalimin e tij në konferencën LSFMM 2023 (Linux Storage, Filesystem, Memory Management & BPF Summit) përmbledhi rezultatet e punës për promovimin e sistemit të skedave Bcachefs në bërthamën kryesore të Linux dhe tregoi për planet për zhvillimin e mëtejshëm të këtij FS. Në maj, një grup i përmirësuar patches për realizimin e FS Bcachefs u propozua për rishikim dhe përfshirje në bërthamën kryesore të Linux. FS Bcachefs është duke u zhvilluar tashmë për rreth 10 vjet. Gjatë fund vitit 2020 u shpall gatishmëria për rishikimin e realizimit të Bcachefs përpara se të përfshihej në bërthamë, dhe në variantin aktual të patches janë marrë parasysh vërejtjet dhe papërsosshmëritë e identifikuara gjatë rishikimit të kaluar.

Qëllimi i zhvillimit të Bcachefs është arritja e nivelit XFS në performancë, besueshmëri dhe shkallëzueshmëri, duke ofruar gjithashtu funksionalitete shtesë tipike për Btrfs dhe ZFS, siç janë përfshirja e disa pajisjeve në një volume, përbërje me nivele të shumta të ruajtjes, replikim (RAID 1/10), keqmenaxhim, kompresim të transparencës të të dhënave (modet LZ4, gzip dhe ZSTD), prerje të gjendjes (snapshot-e), verifikim të integritetit përmes hash-esh, mundësia e ruajtjes së kodeve të korrigjimit të gabimeve të Reed-Solomon (RAID 5/6), ruajtja e informacionit në formë të enkriptuar (përdoren ChaCha20 dhe Poly1305). Në performancë, Bcachefs kalon Btrfs dhe sistemet e tjera të skedave të bazuara në mekanizmin Copy-on-Write, dhe demonstron një shpejtësi pune të ngjashme me Ext4 dhe XFS.

Nga arritjet mĂ« tĂ« fundit nĂ« zhvillimin e Bcachefs, vĂ«rehet stabilizimi i zbatimit tĂ« snapshoteve, tĂ« cilat janĂ« tĂ« disponueshme pĂ«r shkrim. NĂ« krahasim me Btrfs, snapshote nĂ« Bcachefs tani janĂ« ndjeshĂ«m mĂ« tĂ« shkallĂ«zueshme dhe janĂ« tĂ« lira nga problemet qĂ« lidhen me Btrfs. NĂ« praktikĂ«, funksionimi i snapshoteve Ă«shtĂ« provuar nĂ« organizimin e kopjimeve rezervĂ« pĂ«r MySQL. NĂ« Bcachefs Ă«shtĂ« bĂ«rĂ« gjithashtu njĂ« punĂ« e madhe pĂ«r pĂ«rmirĂ«simin e shkallĂ«zueshmĂ«risĂ« — sistemi i skedarĂ«ve ka treguar rezultate tĂ« mira gjatĂ« testeve nĂ« depozitĂ« me madhĂ«si 100 TB, dhe nĂ« tĂ« ardhmen e afĂ«rt pritet tĂ« implementohet Bcachefs nĂ« njĂ« depo me madhĂ«si 1 PB. NjĂ« mĂ«nyrĂ« e re nocow Ă«shtĂ« shtuar pĂ«r tĂ« çaktivizuar mechanizmin "copy-on-write" (nocow). GjatĂ« verĂ«s, planifikojnĂ« tĂ« çojnĂ« nĂ« njĂ« gjendje tĂ« stabilizuar implementimin e kodeve pĂ«r korrigjimin e gabimeve dhe RAIDZ, si dhe tĂ« zgjidhin problemet me konsum tĂ« lartĂ« tĂ« memories gjatĂ« rikuperimit dhe verifikimit tĂ« sistemit tĂ« skedarĂ«ve nga utilitarja fsck.

Në planet e ardhshme përmendet dëshira për të përdorur gjuhën Rust në zhvillimin e Bcachefs. Sipas autorit të Bcachefs, ai e do programimin dhe nuk do të merret me de bugimin e kodit, dhe tani i duket e çmendur të shkruaj kod në gjuhën C kur ka një alternativë më të mirë. Rust është tashmë i integruar në Bcachefs për të implementuar disa utilitete që ekzekutohen në hapësirën e përdoruesit. Më shumë se kaq, ka një ide për ta rishtuar gradualisht Bcachefs plotësisht në Rust, pasi përdorimi i kësaj gjuhe kursen ndjeshëm kohë në de bugim.

Sa i përket promovimit të Bcachefs në bërthamën kryesore të Linux-it, procesi i miratimit mund të zgjasë për shkak të madhësisë së konsiderueshme të ndryshimeve (2500 patche dhe rreth 90,000 rreshta kodi), që është e vështirë për t'u rishikuar. Për të përshpejtuar rishikimin, disa zhvillues sugjeruan të ndahen seritë e patcheve në pjesë më të vogla dhe të ndara logjikisht. Gjatë diskutimit, disa pjesëmarrës gjithashtu vënë në dukje zhvillimin e projektit nga një zhvillues dhe rrezikun që kodi mund të mbetet pa mbështetje, nëse ndodh ndonjë gjë me zhvilluesin e tij (projekti është në interesin e dy punonjësve të Red Hat, por puna e tyre deri tani është e kufizuar në rregullimin e gabimeve).

Bcachefs zhvillohet duke pĂ«rdorur teknologji tĂ« provuara gjatĂ« zhvillimit tĂ« pajisjes me bllok Bcache, e cila Ă«shtĂ« projektuar pĂ«r tĂ« mbajtur qasjen nĂ« disqet e ngadaltĂ« mekanikĂ« nga SSD-tĂ« e shpejtĂ« (pĂ«rfshihet nĂ« bĂ«rthamĂ« qysh nga versioni 3.10). Bcachefs pĂ«rdor mekanizmin Copy-on-Write (COW), ku ndryshimet nuk shkaktojnĂ« riparimin e tĂ« dhĂ«nave — gjendja e re shkruhet nĂ« njĂ« vend tĂ« ri, dhe pastaj ndĂ«rron treguesin e gjendjes aktuale.

Karakteristika e Bcachefs Ă«shtĂ« mbĂ«shtetje pĂ«r lidhjen multilayer tĂ« pajisjeve, ku ruajtja komponohet nga disa shtresa — nĂ« shtresĂ«n e poshtme lidhen pajisjet mĂ« tĂ« shpejta (SSD), tĂ« cilat pĂ«rdoren pĂ«r tĂ« mbajtur tĂ« dhĂ«nat qĂ« pĂ«rdoren shpesh, ndĂ«rsa shtresa e sipĂ«rme formohet nga disqe mĂ« tĂ« mĂ«dha dhe mĂ« tĂ« lira, tĂ« cilat sigurojnĂ« ruajtjen e tĂ« dhĂ«nave mĂ« pak tĂ« kĂ«rkuara. NdĂ«rmjet shtresave mund tĂ« aplikohet mbajtja e quajtur writeback. Pajisjet mund tĂ« shtohen dhe tĂ« shkĂ«puten dinamikisht nga ndarja pa ndalur pĂ«rdorimin e sistemit tĂ« skedarĂ«ve (tĂ« dhĂ«nat migrojnĂ« automatikisht).

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster