Sistemi i skedarëve Bcachefs ka ndaluar zyrtarisht të jetë eksperimental

Kent Overstreet publikoi versionin e sistemës së skedarëve Bcachefs 1.38.6 dhe shpalli zyrtarisht heqjen e etiketës së zhvillimit eksperimental nga projekti. Në kohët e fundit, numri i mesazheve për probleme ka rënë, ndërsa defektet e identifikuara janë bërë më pak serioze dhe komplekse.

Versioni përfshin dy paketa: bcachefs-kernel-dkms me modulin e bërjes së kernelit që ndërttohet me sistemin DKMS (Dynamic Kernel Module Support), dhe bcachefs-tools me utilitarin bcachefs që ekzekutohet në hapësirën e përdoruesit, që realizon komandat për krijimin (mkfs), montimin, rikuperimin dhe verifikimin e FS. Paketa janë ndërtuar për Debian, Ubuntu, Arch Linux dhe priten për Fedora, openSUSE dhe NixOS. Moduli DKMS mbështet punën me kernelat Linux, duke filluar nga 6.16.

Pavarësisht numrit të zakonshëm të versionit, i cili nuk ka ndryshime në formatin e diskut, versioni 1.38.6 përmban një numër optimizimesh të rëndësishme të performancës. Në kodin për punën me struktura në formatin btree, regjistrimin dhe mbështetje për funksionimin e sistemit të skedarëve janë bërë rreth 200 ndryshime që rrisin performancën. Logjika e konfirmimit të transaksioneve është ngjeshur në 4KB kod makinerie, janë shtuar optimizime për të eliminuar paraqitjen e bllokimeve konkurruese ('lock contention') gjatë punës me btree, dhe është eliminuar plotësisht bllokimi i procesit të shlirimit të gjendjes së regjistrit (journal flush).

Në server me CPU AMD 48-bërthamor në Bcachefs arritëm një kapacitet prej 16.5 GB/sec duke ekzekutuar 48 klientë dbench (për krahasim, në XFS u arrit një rezultat prej 16 GB/sec). Patch-et janë përgatitur, por janë shtyrë për versionin tjetër, që rrisin performancën në testet dbench deri në 19 GB/sec (këto patch kërkojnë testim të mëtejshëm ose ndryshime në formatin e diskut). Në testimin me utilitarin fio, performanca e Bcachefs ishte 700 operacione në sekondë gjatë ekzekutimit të operacioneve të shkruarjes së rastësishme me blloqe 4-kilobajtësh (XFS tregon në këtë test një milion operacione në sekondë, ndonëse XFS kufizohet nga rimapimi i blloqeve, ndërsa Bcachefs proceson ciklin e plotë CoW (Copy-on-Write) me verifikimin e kontrolleve të shumave dhe përditësimin e strukturës btree).

Përveç optimizimeve në lëshimin Bcachefs 1.38.6, është implementuar mbështetje për lidhjen e deri në 255 pajisjeve në një sistem skedarësh. Në depozitën apt.bcachefs.org ka filluar formimi i paketave për Ubuntu 26.04. Infrastrukturën e integrimit të vazhdueshëm dhe testimit automatizuar e kemi transferuar në verifikimin e ndërtimeve mbi bazën e DKMS. Në muajt e ardhshëm, planifikohet të përqendrohemi në optimizimin e punës së sistemit skedarësh me disa pajisje ruajtjeje.

PĂ«r mĂ« tepĂ«r, vazhdon puna pĂ«r rishkrimin e kodit nĂ« gjuhĂ«n Rust. ShĂ«nohet se mbĂ«shtetja pĂ«r Rust nĂ« bĂ«rthamĂ« ka arritur njĂ« pikĂ« tĂ« rĂ«ndĂ«sishme — tĂ« gjitha shpĂ«rndarjet e rĂ«ndĂ«sishme, gjatĂ« formimit tĂ« paketave me bĂ«rthamĂ«n 7.0, aktivizuan njĂ«herazi konfigurimin CONFIG_RUST pĂ«r ndĂ«rtimin e bĂ«rthamĂ«s me mbĂ«shtetje pĂ«r Rust. NĂ« projektin Bcachefs kanĂ« pĂ«rfunduar tashmĂ« rishkrimi i njĂ« grupi utilitesh nĂ« Rust.
bcachefs-tools, i cili ekzekutohet në hapësirën e përdoruesit, duke përfshirë implementimin e API-së për punën me struktura btree. Në lëshimin e ardhshëm planifikohet të integrohen mbështetje të përgatitura në Rust në modulin DKMS të bërthamës dhe të fillohet rishkrimi i kodit bazë të Bcachefs. Pritet që përdorimi i Rust të rrisë fleksibilitetin, stabilitetin dhe lehtësinë e punës me kodin, ta bëjë projektin më tërheqës për inxhinierët e rinj dhe të mundësojë në të ardhmen realizimin e verifikimit formal të besueshmërisë.

Projekti Bcachefs po zhvillon një sistem skedarësh, i cili është i orientuar drejt kombinimit të funksionaliteteve të avancuara, të tipit Btrfs dhe ZFS, dhe nivelit të performancës, besueshmërisë dhe shkallëzueshmërisë, karakteristik për XFS. Bcachefs mbështet mundësi të tilla si integrimi në një pjesë të disa pajisjeve, konfigurime me shumë shtresa të ruajtësve (shtresa e poshtme me të dhëna të përdorura shpesh mbi SSD të shpejtë, ndërsa shtresa e sipërme me të dhëna më pak të kërkuara nga disqet e forta), riprodhim (RAID 1/10), memorizim, kompresim transparent të të dhënave (modet LZ4, gzip dhe ZSTD), snapshot-e, verifikimin e integritetit përmes kontrolleve të shumave, kodeve për korrigjimin e gabimeve, ruajtjen e informacionit në formë të koduar (duke përdorur ChaCha20 dhe Poly1305).

Nga risitë e rëndësishme të shtuara në Bcachefs gjatë muajve të fundit, përmenden:

  • Mekanizmi «reconcile» (rebalance_v2), qĂ« ndryshe nga moda «rebalance» lejon tĂ« realizohet rebalance jo vetĂ«m i tĂ« dhĂ«nave (pĂ«r shembull, riprodhimi i disa kopjeve nĂ« disqe tĂ« ndryshme), por edhe i metadata nĂ« FS (pĂ«r shembull, pĂ«r tĂ« transferuar metadata pas shtimit tĂ« njĂ« disku tĂ« ri nĂ« pool). Reconcile Ă«shtĂ« i aplicueshĂ«m pĂ«r tĂ« gjitha operacionet e hyrje/dalje, dhe jo vetĂ«m pĂ«r operacionet e kopjimit nĂ« sfond dhe kompresimit. NĂ« reconcile, ndryshimet nĂ« konfigurimin e pajisjeve merren automatikisht parasysh dhe tĂ« dhĂ«nat dhe metadata tĂ« degraduara riprodhohen menjĂ«herĂ«.
  • MbĂ«shtetje pĂ«r kodet e korrigjimit tĂ« gabimeve, tĂ« cilat lejojnĂ« rikuperimin e tĂ« dhĂ«nave tĂ« dĂ«mtuara nĂ« pĂ«rputhje me RAID 5/6. Implementimi bazohet nĂ« kodimin e Reed-Solomon, i cili Ă«shtĂ« nĂ« gjendje tĂ« korigjojĂ« deri nĂ« N gabime nĂ« stripe nĂ« prani tĂ« N blloqeve tĂ« tepĂ«rt. RindĂ«rtimi automatik i stripeve tĂ« degraduara Ă«shtĂ« i garantuar. MundĂ«sia e aplikimit tĂ« kodit tĂ« rikuperimit Ă«shtĂ« e aplikueshme nĂ« konfigurime me disqe tĂ« ndryshme nĂ« madhĂ«si.

Burimi: opennet.ru

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