Пешбурди Bcachefs ба ядрои Linux

Кент Оверстрит, муаллифи системаи кэши дастгоҳи блоки BCache SSD, ки ҷузъи ядрои Linux мебошад, дар суханронии худ дар конфронси LSFMM 2023 (Linux Storage, Filesystem, Management Memory) натиҷаҳои кор оид ба пешбурди системаи файлии Bcachefs-ро ҷамъбаст кард. & BPF Summit) ба ҳайати асосии ядрои Linux дохил шуда, дар бораи нақшаҳои рушди минбаъдаи ин ФС сухан ронд. Дар моҳи май, маҷмӯи навшудаи часпакҳо бо татбиқи Bcachefs FS барои баррасӣ ва дохил шудан ба таркиби асосии ядрои Linux пешниҳод карда шуд. FS Bcachefs тақрибан 10 сол боз рушд мекунад. Омодагӣ барои баррасии татбиқи Bcachefs пеш аз ворид шудан ба аслӣ дар охири соли 2020 эълон шуда буд ва версияи ҷории часпакҳо шарҳҳо ва камбудиҳои дар ҷараёни баррасии қаблӣ муайяншударо ба назар мегирад.

Ҳадафи таҳияи Bcachefs расидан ба сатҳи XFS дар кор, эътимоднокӣ ва миқёспазирӣ дар ҳолест, ки хусусиятҳои иловагие, ки ба Btrfs ва ZFS хосанд, ба монанди дохил кардани дастгоҳҳои сершумор дар қисмат, тарҳҳои нигаҳдории бисёрқабатӣ, такрорӣ (RAID 1/10), кэш, фишурдасозии шаффофи додаҳо (режимҳои LZ4, gzip ва ZSTD), порчаҳои давлатӣ (тасвирҳои фаврӣ), санҷиши якпорчагӣ аз рӯи ҳисобҳо, қобилияти нигоҳ доштани рамзҳои ислоҳи хатоҳои Reed-Solomon (RAID 5/6), нигаҳдории рамзкунонидашудаи иттилоот (ChaCha20 ва Poly1305) истифода мешаванд). Дар робита ба иҷроиш, Bcachefs аз Btrfs ва дигар системаҳои файлӣ, ки бар механизми Copy-on-Write асос ёфтааст, пештар аст ва иҷрои корҳоро ба Ext4 ва XFS наздик нишон медиҳад.

Аз дастовардҳои охирин дар рушди Bcachefs, мӯътадилсозии татбиқи аксҳои барои навиштан мавҷудбуда қайд карда шудааст. Дар муқоиса бо Btrfs, аксҳо дар Bcachefs ҳоло хеле беҳтар миқёспазиранд ва аз мушкилоти хоси Btrfs озоданд. Дар амал, ҳангоми ташкили нусхаҳои эҳтиётии MySQL кори аксбардорӣ санҷида шуд. Bcachefs инчунин барои беҳтар кардани миқёспазирӣ корҳои зиёдеро анҷом додааст - системаи файлӣ дар озмоиш дар нигаҳдории 100 TB хуб баромад ва интизор меравад, ки Bcachefs дар ояндаи наздик дар нигаҳдории 1 PB татбиқ карда шавад. Барои хомӯш кардани механизми "нусхабардорӣ" (nocow) режими нави nocow илова карда шуд. Дар давоми тобистон онҳо нақша доранд, ки татбиқи кодҳои ислоҳи хатогиҳо ва RAIDZ-ро ба ҳолати устувор оваранд ва инчунин мушкилотро бо истеъмоли зиёди хотира ҳангоми барқарорсозӣ ва тафтиши системаҳои файлӣ бо утилитаи fsck ҳал кунанд.

Аз нақшаҳои оянда, хоҳиши истифодаи забони руст дар рушди Bcachefs зикр шудааст. Ба гуфтаи муаллифи Bcachefs, ӯ рамзгузорӣ карданро дӯст медорад, на ислоҳи код ва ҳоло дар Си навиштани код девона аст, вақте ки варианти беҳтар вуҷуд дорад. Rust аллакай дар Bcachefs дар татбиқи баъзе аз утилитаҳои кайҳонии корбар иштирок мекунад. Гузашта аз ин, идеяи тадриҷан пурра аз нав навиштани Bcachefs дар Rust таҳия карда мешавад, зеро истифодаи ин забон вақти ислоҳи ислоҳро ба таври назаррас сарфа мекунад.

Дар мавриди интиқоли Bcachefs ба маҷрои асосии ядрои Linux, раванди қабул метавонад аз сабаби андозаи бузурги тағиротҳо (2500 часбҳо ва тақрибан 90 ҳазор сатри код) ба таъхир афтад, ки баррасии он душвор аст. Барои суръат бахшидан ба барраси, баъзе таҳиягарон пешниҳод карданд, ки силсилаи наворҳоро ба қисмҳои хурдтар ва мантиқӣ ҷудо кунанд. Дар рафти мубоҳиса бархе аз ширкаткунандагон инчунин таваҷҷуҳи худро ба таҳияи лоиҳа аз ҷониби як таҳиягар ва хатари он, ки дар сурати ба таҳиягари он чизе рух додан мумкин аст, бе нигоҳдорӣ мондани кодро ҷалб карданд (ду корманди Red Hat ба лоиҳа таваҷҷӯҳ доранд, аммо кори онҳо то ҳол идома дорад. ислоҳи хатогиҳои маҳдуд).

Bcachefs бо истифода аз технологияҳое таҳия шудааст, ки аллакай дар таҳияи дастгоҳи блоки Bcache озмуда шудааст, ки барои кэш дастрасии дискҳои сахти суст дар SSD-ҳои тез (ба ядро ​​аз замони нашри 3.10 дохил карда шудааст) пешбинӣ шудааст. Bcachefs механизми Copy-on-Write (COW) -ро истифода мебарад, ки дар он тағирот ба такрори маълумот оварда намерасонад - ҳолати нав ба макони нав навишта мешавад, ки пас аз он нишондиҳандаи ҳолати ҷорӣ тағир меёбад.

Хусусияти Bcachefs дастгирии пайвастагии бисёрқабати дискҳо мебошад, ки дар он нигаҳдорӣ аз якчанд қабат иборат аст - дискҳои зудтарин (SSD) ба қабати поён пайваст карда мешаванд, ки барои кэш кардани маълумоти зуд-зуд истифодашаванда истифода мешаванд ва қабати болоӣ дискҳои пуриқтидортар ва арзонтар, ки маълумоти камтар талабшударо нигоҳ медоранд. Кэшкунии сабтро дар байни қабатҳо истифода бурдан мумкин аст. Дискҳоро бе қатъ кардани истифодаи системаи файлӣ ба қисм динамикӣ илова кардан ва аз қисм ҷудо кардан мумкин аст (маълумот ба таври худкор интиқол дода мешавад).

Манбаъ: opennet.ru

Илова Эзоҳ