Bevordering van Bcachefs na die Linux-kern

Kent Overstreet, die skrywer van die BCache SSD-bloktoestelkasstelsel, wat deel is van die Linux-kern, het die resultate van die werk oor die bevordering van die Bcachefs-lêerstelsel opgesom in sy toespraak by die LSFMM 2023-konferensie (Linux Storage, Filesystem, Memory Management) & BPF Summit). in die hoofsamestelling van die Linux-kern en het gepraat oor planne vir die verdere ontwikkeling van hierdie FS. In Mei is 'n bygewerkte stel pleisters met die implementering van die Bcachefs FS voorgestel vir hersiening en insluiting in die hoofsamestelling van die Linux-kern. FS Bcachefs ontwikkel al vir sowat 10 jaar. Die gereedheid vir die hersiening van die implementering van Bcachefs voor insluiting in die kern is aan die einde van 2020 aangekondig, en die huidige weergawe van die pleisters neem die opmerkings en tekortkominge in ag wat tydens die vorige hersiening geïdentifiseer is.

Die Bcachefs-ontwikkelingsdoelwit is om die XFS-vlak in werkverrigting, betroubaarheid en skaalbaarheid te bereik, terwyl addisionele kenmerke inherent aan Btrfs en ZFS verskaf word, soos die insluiting van veelvuldige toestelle in 'n partisie, multi-laag bergingsuitlegte, replikasie (RAID 1/10), kas, deursigtige data-kompressie (LZ4-, gzip- en ZSTD-modusse), toestandskywe (kiekies), integriteitsverifikasie deur kontrolesomme, die vermoë om Reed-Solomon-foutkorreksiekodes te stoor (RAID 5/6), geënkripteerde berging van inligting (ChaCha20 en Poly1305 word gebruik). Wat prestasie betref, is Bcachefs voor Btrfs en ander lêerstelsels gebaseer op die Copy-on-Write-meganisme, en toon prestasie naby aan Ext4 en XFS.

Van die jongste prestasies in die ontwikkeling van Bcachefs word kennis geneem van die stabilisering van die implementering van momentopnames wat beskikbaar is vir skryf. In vergelyking met Btrfs, is momentopnames in Bcachefs nou baie beter skaalbaar en vry van die probleme wat inherent aan Btrfs is. In die praktyk is die werk van foto's getoets wanneer MySQL-rugsteun georganiseer is. Bcachefs het ook baie werk gedoen om skaalbaarheid te verbeter – die lêerstelsel het goed gevaar in toetsing in 100 TB-berging, en Bcachefs sal na verwagting in die nabye toekoms in 1 PB-berging geïmplementeer word. 'n Nuwe nocow-modus is bygevoeg om die "copy-on-write" (nocow) meganisme te deaktiveer. Gedurende die somer beplan hulle om die implementering van foutkorreksiekodes en RAIDZ tot 'n stabiele toestand te bring, asook om probleme met hoë geheueverbruik op te los wanneer lêerstelsels met die fsck-hulpmiddel herstel en gekontroleer word.

Van die toekomsplanne word genoem die begeerte om die Rust-taal in die ontwikkeling van Bcachefs te gebruik. Volgens die skrywer van Bcachefs hou hy daarvan om te kodeer, nie om kode te ontfout nie, en nou is dit mal om kode in C te skryf wanneer daar 'n beter opsie is. Rust is reeds by Bcachefs betrokke by die implementering van sommige van die gebruikersruimte-nutsdienste. Boonop word die idee uitgebroei om Bcachefs in Rust geleidelik heeltemal te herskryf, aangesien die gebruik van hierdie taal ontfoutingstyd aansienlik bespaar.

Wat die verskuiwing van Bcachefs na die hoofstroom van die Linux-kern betref, kan die aannemingsproses vertraag word as gevolg van die groot grootte van die veranderinge (2500 kolle en ongeveer 90 duisend reëls kode), wat moeilik is om te hersien. Om hersiening te bespoedig, het sommige ontwikkelaars voorgestel dat die pleisterreeks in kleiner en meer logies geskei dele verdeel word. Tydens die bespreking het sommige deelnemers ook die aandag gevestig op die ontwikkeling van die projek deur een ontwikkelaar en die gevaar dat die kode onbehou kan bly as iets met die ontwikkelaar daarvan gebeur (twee Red Hat-werknemers stel belang in die projek, maar hul werk is nog steeds beperkte foutoplossings).

Bcachefs is ontwikkel met behulp van tegnologieë wat reeds getoets is in die ontwikkeling van die Bcache-bloktoestel, wat ontwerp is om toegang tot stadige hardeskywe op vinnige SSD-skywe te kas (ingesluit by die kern sedert vrystelling 3.10). Bcachefs gebruik die Copy-on-Write (COW)-meganisme, waarin veranderinge nie lei tot die oorskryf van data nie – die nuwe toestand word na 'n nuwe plek geskryf, waarna die huidige toestand-aanwyser verander.

'n Kenmerk van Bcachefs is ondersteuning vir meerlaagverbinding van aandrywers, waarin berging uit verskeie lae bestaan ​​- die vinnigste aandrywers (SSD) is gekoppel aan die onderste laag, wat gebruik word om gereeld gebruikte data te kas, en die boonste laag vorm ruimer en goedkoper skywe wat minder verlangde data stoor. Terugskryfkas kan tussen lae gebruik word. Aandrywers kan dinamies bygevoeg en losgemaak word van 'n partisie sonder om die gebruik van die lêerstelsel te onderbreek (data migreer outomaties).

Bron: opennet.ru

Voeg 'n opmerking