Kent Overstreet on avaldanud Bcachefs 1.38.6 failisüsteemi väljaande ja teatanud, et projekt on ametlikult eemaldatud eksperimentaalse arenduse tähist. Viimasel ajal on probleemide kohta saabuvate teadete arv vähenenud, samas kui tuvastatud vead on muutunud vähem tõsiseks ja segaseks.
Väljaanne katab kaks paketti: bcachefs-kernel-dkms, mis sisaldab tuuma moodulit, mis kompileeritakse Dynamic Kernel Module Support (DKMS) süsteemi abil, ja bcachefs-tools, mis sisaldab kasutajaruumi utiliiti bcachefs, mis rakendab käske failisüsteemi loomise (mkfs), monteerimise, taastamise ja kontrollimise jaoks. Paketid on kokku pandud Debianile, Ubuntu'le, Arch Linuxile ning oodatakse Fedora, openSUSE ja NixOS jaoks. DKMS-moodul toetab lõpuks Linuxi kernite tööd alates versioonist 6.16.
Kuigi versiooninumber on tagasihoidlik, sõltudes failiformaadi muudatuste puudumisest, sisaldab väljaanne 1.38.6 mitmeid tõsiseid jõudluse optimeerimisi. Btree formaadi struktuuride, logimise ja failisüsteemi töötluse koodi on tehtud umbes 200 muudatust, mis suurendavad jõudlust. Tehingute kinnitamise loogika on kokku tõmmatud 4 KB masinkoodi, lisatud on optimeerimisi, et vältida konkurentsis lukustusi ("lock contention") Btree töötlemisel, ja ajakirja olekute väljakuulutamise protsess on täielikult vabastatud lukustustest.
VDS-l on võimalik installida: serveril 48-käärme CPU AMD abil õnnestus Bcachefs'is saavutada 16,5 GB/s läbivusvõimekus, kui käivitasime 48 klienti dbench'i (võrdluseks XFS saavutas tulemuse 16 GB/s). Valmistatud, kuid järgmisse versiooni edasi lükatud plaastrid, mis tõstavad dbench'i testide tulemuslikkuse 19 GB/s, vajavad täiendavat testimist või kettaprotokolli muutmist. Fio tööriista testimisel oli Bcachefs'i jõudlus 700 operatsiooni sekundis 4-kilobaitsete plokkide juhuslikke kirjutamisi sooritades (XFS demonstreerib selles testis ühe miljoni operatsiooni sekundis, kuid XFS on blokeeritud plokkide ümberkaardimisega, samas kui Bcachefs käsitleb täielikku CoW (Copy-on-Write) tsüklit koos kontrollsummade kontrollimise ja btree struktuuri uuendamisega).
Bcachefs 1.38.6 versioonis on lisaks optimeerimisele rakendatud tugi kuni 255 seadme ühendamiseks ühe failisüsteemiga. Apt.bcachefs.org reposte on alanud pakettide loomine Ubuntu 26.04 jaoks. Pideva integreerimise ja automatiseeritud testimise infrastruktuur on viidud üle DKMS-iga kogude kontrollimisele. Järgmise paari kuu jooksul keskendutakse failisüsteemi toimimise optimeerimisele mitme salvestusseadmega.
Lisaks jätkatakse kodeerimise ümberkirjutamist Rusti keeles. Täheldatakse, et Rusti tugi tuumas on jõudnud märkimisväärsesse punkti — kõik olulised distributsioonid on kernel 7.0 pakettide loomisel vaikimisi aktiveerinud CONFIG_RUST seadistuse, et toetada Rusti tuuma kogumist. Bcachefs projektis on Rustis juba ümber kirjutatud hulk utiliite.
bcachefs-tools, kasutatav kasutusruumis, sealhulgas API rakendus btree struktuuridega töötamiseks. Järgmises väljalaskes on plaanis integreerida valmis Rusti sidemed DKMS-kernelemoodulisse ja alustada Bcachefs põhikoodi ümberkirjutamist. Arvatakse, et Rusti kasutamine suurendab koodi paindlikkust, stabiilsust ja hõlpsust, muutes projekti noorematele inseneridele atraktiivsemaks ning võimaldades tulevikus tõendatud usaldusväärsuse valideerimist.
Bcachefs projekt arendab failisüsteemi, mille eesmärk on ühendada Btrfs-i ja ZFS-i täiendavad omadused ning XFS-i tasemed jõudluses, usaldusväärsuses ja skaleeritavuses. Bcachefs toetab selliseid funktsioone nagu mitme seadme lisamine jagusse, kihilised salvestuslahendused (alumine kiht kiiresti kasutatavate andmete jaoks SSD-de põhjal ja ülemine kiht vähem nõutud andmete jaoks kõvaketaste põhjal), replikatsioon (RAID 1/10), vahemälude haldamine, automaatne andmete kokkusurutus (LZ4, gzip ja ZSTD režiimid), olekuseened (snapshooting), terviklikkuse kontrollimine kontrollsummadega, vigade parandamise koodid ja teabe salvestamine krüpteeritud kujul (kasutatakse ChaCha20 ja Poly1305).
Viimaste kuude jooksul Bcachefs-i lisatud olulistest uuendustest on märgitud:
- Reconcile mehhanism (rebalance_v2), mis erineb "rebalance" režiimist, võimaldab mitte ainult andmete (näiteks mitme koopia replitseerimist erinevatele salvestusseadmetele), vaid ka failisüsteemi metainformatsiooni rebalanseerimist (näiteks metainformatsiooni üleviimist, kui täiendav salvestusseade lisatakse kujundisse). Reconcile'i saab kasutada kõigi sisendi/väljundi toimingute jaoks, mitte ainult taustkopimise ja surumise operatsioonide jaoks. Reconcile'is arvestatakse automaatselt seadmete seadistuste muutusi ning kohe reõmineerimise all kannatavad andmed ja metainformatsioon.
- Viga parandamise koodide tugi, mis võimaldab taastada kahjustatud andmeid sarnaselt RAID 5/6-ga. Rakendamine põhineb Reed-Solomon kodeerimisel, mis suudab parandada kuni N viga ribas (stripe) N üleliigse ploki olemasolul. Tagatud on automaatne degradeerunud ribade taastamine. Taastamiskoodide rakendamise võimalus on saadaval erineva suurusega salvestusseadmete konfiguratsioonides.
Allikas: opennet.ru
