Haɓaka Bcachefs zuwa Linux Kernel

Kent Overstreet, marubucin BCache SSD toshe tsarin caching na'urar, wanda ke cikin kernel Linux, ya taƙaita sakamakon aikin inganta tsarin fayil ɗin Bcachefs a cikin jawabinsa a taron LSFMM 2023 (Ma'ajiyar Linux, Tsarin Fayil, Gudanar da ƙwaƙwalwar ajiya). & BPF Summit) zuwa cikin babban abun da ke ciki na Linux kernel kuma yayi magana game da tsare-tsare don ci gaban wannan FS. A watan Mayu, an gabatar da sabon saitin faci tare da aiwatar da Bcachefs FS don dubawa da haɗawa cikin babban abun da ke ciki na kernel Linux. FS Bcachefs yana haɓaka kusan shekaru 10. An sanar da shirye-shiryen yin nazarin aiwatar da Bcachefs kafin haɗawa a cikin ainihin a ƙarshen 2020, kuma sigar faci na yanzu yana la'akari da sharhi da gazawar da aka gano yayin bita na baya.

Manufar ci gaban Bcachefs shine isa matakin XFS a cikin aiki, amintacce da haɓakawa, yayin samar da ƙarin fasalulluka da ke cikin Btrfs da ZFS, kamar haɗa da na'urori da yawa a cikin yanki, shimfidar ɗakunan ajiya mai yawa, maimaitawa (RAID 1/10), caching, m bayanai masu ma'ana (LZ4, gzip da ZSTD yanayin), yanki na jihohi (snapshots), tabbatar da mutunci ta hanyar rajistan ayyukan, ikon adana lambobin gyara kuskuren Reed-Solomon (RAID 5/6), ɓoye bayanan sirri (ChaCha20 da Poly1305). ana amfani da su). Dangane da aikin, Bcachefs yana gaba da Btrfs da sauran tsarin fayil bisa tsarin Kwafi-kan-Rubuta, kuma yana nuna aikin kusa da Ext4 da XFS.

Daga cikin sabbin nasarorin da aka samu a cikin ci gaban Bcachefs, an lura da tabbatar da aiwatar da hotunan da aka samu don rubutu. Idan aka kwatanta da Btrfs, hotuna a cikin Bcachefs yanzu sun fi iya daidaitawa kuma suna da 'yanci daga matsalolin da ke cikin Btrfs. A aikace, an gwada aikin ɗaukar hoto lokacin da ake tsara madadin MySQL. Bcachefs ya kuma yi aiki mai yawa don inganta haɓakawa - tsarin fayil ya yi kyau a gwaji a cikin ajiyar TB 100, kuma ana sa ran aiwatar da Bcachefs a cikin ajiyar 1 PB a nan gaba. An ƙara sabon yanayin nocow don musaki tsarin "copy-on-write" (nocow). A lokacin bazara, suna shirin kawo aiwatar da ka'idodin gyare-gyaren kuskure da RAIDZ zuwa yanayin kwanciyar hankali, da kuma magance matsaloli tare da yawan ƙwaƙwalwar ajiya lokacin dawowa da duba tsarin fayil tare da fsck mai amfani.

Daga cikin tsare-tsaren nan gaba, an ambaci sha'awar yin amfani da harshen Rust a cikin ci gaban Bcachefs. A cewar marubucin Bcachefs, yana son yin lamba, ba don cire lambar ba, kuma yanzu yana da hauka don rubuta lamba a cikin C lokacin da mafi kyawun zaɓi. Tsatsa ya riga ya shiga cikin Bcachefs a cikin aiwatar da wasu abubuwan amfani da sararin samaniya. Bugu da ƙari, ana ƙirƙira ra'ayin don a hankali sake rubuta Bcachefs gaba ɗaya a cikin Rust, tunda amfani da wannan harshe yana adana lokaci mai mahimmanci.

Amma game da matsar da Bcachefs zuwa cikin al'ada na Linux kernel, tsarin tallafi na iya jinkirta saboda girman girman canje-canje (faci 2500 da kusan layin lamba 90), wanda ke da wahalar dubawa. Don hanzarta bita, wasu masu haɓakawa sun ba da shawarar tarwatsa jerin facin zuwa ƙarami kuma mafi ɓangarorin hankali. A yayin tattaunawar, wasu mahalarta sun kuma ja hankali game da ci gaban aikin daga wani mai haɓakawa da kuma haɗarin cewa code ɗin zai iya barin shi ba tare da kiyaye shi ba idan wani abu ya faru da mawallafinsa (ma'aikatan Red Hat guda biyu suna sha'awar aikin, amma har yanzu aikinsu yana nan. ƙayyadaddun gyaran gyare-gyare).

An haɓaka Bcachefs ta amfani da fasahar da aka riga aka gwada don haɓaka na'urar toshe Bcache, wanda aka ƙera don cache damar jinkirin rumbun kwamfyuta akan faifan SSD masu sauri (an haɗa a cikin kernel tun sakin 3.10). Bcachefs yana amfani da tsarin Copy-on-Write (COW), wanda canje-canje ba zai haifar da sake rubutawa ba - an rubuta sabuwar jihar zuwa sabon wuri, bayan haka alamar halin yanzu ta canza.

Siffar Bcachefs shine tallafi don haɗin haɗin faifai da yawa, wanda ajiya ya ƙunshi nau'ikan yadudduka da yawa - mafi saurin tafiyarwa (SSD) ana haɗa su zuwa ƙasan Layer, waɗanda ake amfani da su don adana bayanan da aka saba amfani da su akai-akai, da manyan nau'ikan saman Layer. faifai masu ƙarfi da rahusa waɗanda ke adana bayanan da ba a buƙata ba. Ana iya amfani da caching na rubutu tsakanin yadudduka. Ana iya ƙara faifai da ƙarfi zuwa kuma cire su daga ɓangaren ba tare da katse amfani da tsarin fayil ba (bayanai suna ƙaura ta atomatik).

source: budenet.ru

Add a comment