Failisüsteem Bcachefs on ametlikult lakanud olemast eksperimentaalne

Kent Overstreet on avaldanud Bcachefs 1.38.6 failisüsteemi väljaande ja teatanud projekti ametlikust eksperimenteerimise lõpetamisest. Viimasel ajal on probleemide kohta saabuvate sõnumite arv vähenenud ning avastatud vead on muutunud vähem tõsisteks ja keerukateks.

Väljaanne katab kaks paketti: bcachefs-kernel-dkms, mille tuuma moodul koostatakse DKMS (Dynamic Kernel Module Support) süsteemi abil, ja bcachefs-tools, mis sisaldab kasutusrikkuse tööriista bcachefs, rakendades käsklusi failisüsteemi loomiseks (mkfs), mountimiseks, taaskäivitamiseks ja kontrollimiseks. Paketid on koostatud Debianile, Ubuntu jaoks, Arch Linuxile ja oodatakse Fedora, openSUSE ja NixOS jaoks. DKMS-moodul toetab Linuxi kernelesid, alates 6.16.

Hoolimata versiooni numbrist, mis on tingitud failisüsteemi formaadis muudatuste puudumisest, sisaldab väljaanne 1.38.6 mitmeid olulisi jõudlusoptimeerimisi. Koodis, mis tegeleb btree formaatide, ajakirjanduse ja failisüsteemi toimimisega, on tehtud umbes 200 muudatust, mis suurendavad jõudlust. Tehingu kinnitamise loogika on vähendatud 4KB masinakoodiks, tuues sisse optimeerimised, et vältida konkurentsi blokeerimist ("lock contention") btree töötlemisel, täielikult on vabastatud blokeerimisest ajakirja oleku lähtestamise protsess (journal flush).

Pealehe serveris 48-ennialise AMD CPU-ga suutis Bcachefs saavutada ribalaiust 16,5 GB/s, kui käivitas 48 dbench klienti (võrdluseks, XFS saavutas tulemuse 16 GB/s). Valmistatud, kuid järgmise väljaande jaoks edasi lükatud plaastrid, mis tõstavad jõudlust dbench testides kuni 19 GB/s (need plaastrid nõuavad täiendavat testimist või muutust failisüsteemi formaadis). fio tööriista testimisel oli Bcachefsi jõudlus 700 operatsiooni sekundi kohta, kui täideti 4KB juhuslikku kirjutamise operatsiooni (XFS näitab selles testis miljonit operatsiooni sekundis, kuigi XFS piirdub plokkide ümberkaardistamisega, samas kui Bcachefs käsitleb CoW (Copy-on-Write) täielikku tsüklit kontrollsumade kontrollimise ja btree struktuuri uuendamisega).

Lisaks optimeerimisele on Bcachefs 1.38.6 versioonis rakendatud tugi kuni 255 seadme ühendamiseks ühe failisüsteemiga. Apt.bcachefs.org hoidlas on alanud pakettide genereerimine Ubuntu 26.04 jaoks. Jätkuvalt on käimas pideva integreerimise ja automatiseeritud testimise infrastruktuuri viimine DKMS-põhiste kogumite kontrollimisele. Järgnevatel kuudel keskendutakse failisüsteemi optimeerimisele mitme salvestusseadmega.

Samuti jätkub koodi ümberkirjutamine Rusti keeles. Toogatakse, et Rusti tugi kernelis on saavutanud märkimisväärse verstaposti — kõik olulised distributsioonid on kerneliversiooniga 7.0 pakettide loomisel vaikimisi aktiveerinud CONFIG_RUST seadmise, et toetada kernelit Rustiga. Bcachefsi projektis on Rustis juba ümber kirjutatud tööriistade komplekt.
bcachefs-tools, mis käivitatakse kasutaja ruumis, sealhulgas API rakendamine btree struktuuride töötlemiseks. Järgmises väljaandes on plaanis integreerida ettevalmistatud Rusti mähised DKMS-i kernelimoodulisse ja alustada Bcachefsi põhikoode ümberkirjutamist. Eeldatakse, et Rasti kasutamine tõstab paindlikkust, stabiilsust ja koodiga töötamise mugavust, muutes projekti huvitavamaks noortele inseneridele ning võimaldades tulevikus rakendada formaalset usaldusväärsuse verifikatsiooni.

Bcachefs projekt arendab failisüsteemi, mille eesmärk on ühendada laialdased funktsioonid, mis on iseloomulikud Btrfs-le ja ZFS-ile, ning töökindluse, efektiivsuse ja skaleeritavuse tase, mis on iseloomulik XFS-ile. Bcachefs toetab selliseid funktsioone nagu mitme seadme liitmine partitsiooniga, mitmekihilised salvestusseadme paigutused ( alumine kiht kiiresti kasutatavate andmete jaoks SSD-del ja ülemine kiht vähem nõutud andmete jaoks kõvakettadel), replikatsioon (RAID 1/10), vahemäluseadistus, andmete läbipaistev tihendamine (režiimid LZ4, gzip ja ZSTD), olekusektsioonid (snapshotid), kontrollsummadega terviklikkuse kontrollimine, vigade parandamise koodid, teabe salvestamine krüpteeritud kujul (kasutades ChaCha20 ja Poly1305).

Olulised uuendused, mis on Bcachefsi viimase kuu jooksul lisatud, hõlmavad järgmist:

  • Reconcile mehhanism (rebalance_v2), mis erineb rebalance režiimist, võimaldab teostada mitte ainult andmete (nt mitme koopia replikatsiooni erinevatele seadmetele) vaid ka failisüsteemi metaandmete (nt metaandmete liigutamine pärast täiendava seadme lisamist) ümberjaotamist. Reconcile on rakendatav kõigi sisendi/välja operatsioonide jaoks, mitte ainult taustal kopeerimise ja tihendamise operatsioonide jaoks. Reconcile'is arvestatakse automaatselt seadmete seadete muudatusi ning kohe replikeeritakse halvenenud andmed ja metaandmed.
  • Vigade paranduskoode, mis võimaldavad taastada kahjustatud andmeid sarnaselt RAID 5/6-ga. Teostus põhineb Reed-Solomoni kodeerimisel, mis suudab parandada kuni N viga ribades (stripe) N varukoopia bloke olemasolul. Tagatakse automaatne degradeerunud ribade taastamine. Taastamisoodustuste kasutamine on võimalik erineva suurusega ketaste konfigureerimisel.

Allikas: opennet.ru

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster