Kent Overstreet, awdur y craidd Linux Systemau storio dyfeisiau bloc SSD BCache, yn ei gyflwyniad yng nghynhadledd LSFMM 2023 (Linux Storage, Filesystem, Memory Management & BPF Summit) обобщил результаты работы по продвижению файловой системы Bcachefs в основной состав ядра Linux и рассказал о планах по дальнейшему развитию данной ФС. В мае для рецензирования и включения в основной состав ядра Linux был предложен обновлённый набор патчей с реализацией ФС Bcachefs. ФС Bcachefs развивается уже около 10 лет. О готовности рецензирования реализации Bcachefs перед включением в состав ядра было объявлено ещё в конце 2020 года и в текущем варианте патчей учтены выявленные при прошлом рецензировании замечания и недоработки.
Nod datblygu Bcachefs yw cyrraedd lefel XFS mewn perfformiad, dibynadwyedd a scalability, tra'n darparu nodweddion ychwanegol sy'n gynhenid yn Btrfs a ZFS, megis cynnwys dyfeisiau lluosog mewn rhaniad, cynlluniau storio aml-haen, atgynhyrchu (RAID 1/10), caching, cywasgu data tryloyw (modiau LZ4, gzip a ZSTD), tafelli cyflwr (cipluniau), gwirio cywirdeb checksum, y gallu i storio codau cywiro gwallau Reed-Solomon (RAID 5/6), storio gwybodaeth wedi'i hamgryptio (ChaCha20 a Poly1305 yn cael eu defnyddio ). O ran perfformiad, mae Bcachefs ar y blaen i Btrfs a systemau ffeiliau eraill yn seiliedig ar y mecanwaith Copïo-ar-Write, ac mae'n dangos perfformiad yn agos at Ext4 a XFS.
O'r cyflawniadau diweddaraf yn natblygiad Bcachefs, nodir sefydlogi gweithrediad y cipluniau sydd ar gael i'w hysgrifennu. O gymharu â Btrfs, mae cipluniau mewn Bcachefs bellach yn llawer gwell graddadwy ac yn rhydd o'r problemau sy'n gynhenid yn Btrfs. Yn ymarferol, profwyd gwaith cipluniau wrth drefnu copïau wrth gefn MySQL. Mae Bcachefs hefyd wedi gwneud llawer o waith i wella scalability - mae'r system ffeiliau wedi perfformio'n dda wrth brofi mewn storfa 100 TB, a disgwylir i Bcachefs gael ei weithredu mewn storfa 1 PB yn y dyfodol agos. Mae modd nocow newydd wedi'i ychwanegu i analluogi'r mecanwaith "copi-ar-ysgrifennu" (nocow). Yn ystod yr haf, maent yn bwriadu dod â gweithrediad codau cywiro gwallau a RAIDZ i gyflwr sefydlog, yn ogystal â datrys problemau gyda defnydd cof uchel wrth adfer a gwirio systemau ffeiliau gyda'r cyfleustodau fsck.
O'r cynlluniau ar gyfer y dyfodol, sonnir am yr awydd i ddefnyddio'r iaith Rust yn natblygiad Bcachefs. Yn ôl awdur Bcachefs, mae'n hoffi codio, nid i debug cod, ac yn awr mae'n wallgof ysgrifennu cod yn C pan fo opsiwn gwell. Mae Rust eisoes yn ymwneud â Bcachefs wrth weithredu rhai o'r cyfleustodau gofod defnyddiwr. Ar ben hynny, mae'r syniad yn cael ei ddeor i ailysgrifennu Bcachefs yn llwyr yn Rust yn raddol, gan fod defnyddio'r iaith hon yn arbed amser dadfygio yn sylweddol.
Что касается продвижения Bcachefs в основной состав ядра Linux, то процесс принятия может затянуться из-за достаточной большого размера изменений (2500 патчей и около 90 тысяч строк кода), который трудно рецензировать. Для ускорения рецензирования некоторые разработчики предложили разбить серию патчей на более мелкие и логически разделённые части. В процессе обсуждения, некоторые участники также обратили внимание на развитие проекта одним разработчиком и опасность того, что код может остаться без сопровождения, в случае если с его разработчиком что-то случиться (к проекту проявляют интерес два сотрудника Red Hat, но их работа пока ограничивается исправлением ошибок).
Datblygir Bcachefs gan ddefnyddio technolegau a brofwyd eisoes wrth ddatblygu dyfais bloc Bcache, a gynlluniwyd i storio mynediad i yriannau caled araf ar yriannau SSD cyflym (wedi'u cynnwys yn y cnewyllyn ers rhyddhau 3.10). Mae Bcachefs yn defnyddio'r mecanwaith Copïo-ar-Write (COW), lle nad yw newidiadau yn arwain at drosysgrifo data - mae'r cyflwr newydd yn cael ei ysgrifennu i leoliad newydd, ac ar ôl hynny mae'r dangosydd cyflwr presennol yn newid.
Un o nodweddion Bcachefs yw cefnogaeth ar gyfer cysylltiad gyriannau aml-haen, lle mae storio yn cynnwys sawl haen - mae'r gyriannau cyflymaf (SSDs) wedi'u cysylltu â'r haen isaf, a ddefnyddir i storio data a ddefnyddir yn aml, ac mae'r haen uchaf yn ffurfio disgiau mwy capacious a rhatach sy'n storio data llai o alw. Gellir defnyddio caching writeback rhwng haenau. Gellir ychwanegu gyriannau yn ddeinamig at raniad a'u gwahanu oddi wrth raniad heb dorri ar draws y defnydd o'r system ffeiliau (mae data'n mudo'n awtomatig).
Ffynhonnell: opennet.ru
