Pagpasiugda sa mga Bcachef sa Linux Kernel

Si Kent Overstreet, ang tagsulat sa BCache SSD block device caching system, nga kabahin sa Linux kernel, nagsumaryo sa mga resulta sa trabaho sa pagpasiugda sa Bcachefs file system sa iyang pakigpulong sa LSFMM 2023 conference (Linux Storage, Filesystem, Memory Management & BPF Summit). ngadto sa nag-unang komposisyon sa Linux kernel ug naghisgot mahitungod sa mga plano alang sa dugang nga kalamboan niini nga FS. Sa Mayo, usa ka updated set sa mga patch uban sa pagpatuman sa Bcachefs FS gisugyot alang sa pagrepaso ug paglakip sa nag-unang komposisyon sa Linux kernel. Ang FS Bcachefs nag-uswag sa mga 10 ka tuig. Ang kaandam sa pagrepaso sa pagpatuman sa mga Bcachef sa wala pa ilakip sa kinauyokan gipahibalo sa katapusan sa 2020, ug ang kasamtangan nga bersyon sa mga patch nagkonsiderar sa mga komento ug mga kakulangan nga giila sa miaging pagrepaso.

Ang tumong sa pagpalambo sa Bcachefs mao ang pagkab-ot sa lebel sa XFS sa performance, kasaligan ug scalability, samtang naghatag og dugang nga mga feature nga naa sa Btrfs ug ZFS, sama sa paglakip sa daghang mga device sa usa ka partition, multi-layer storage layouts, replication (RAID 1/10), caching, transparent data compression (LZ4, gzip ug ZSTD modes), state slices (snapshots), integridad verification pinaagi sa checksums, ang abilidad sa pagtipig sa Reed-Solomon error correction codes (RAID 5/6), encrypted storage sa impormasyon (ChaCha20 ug Poly1305 gigamit). Sa termino sa pasundayag, ang Bcachefs nag-una sa Btrfs ug uban pang mga sistema sa file base sa mekanismo sa Copy-on-Write, ug nagpakita sa pasundayag duol sa Ext4 ug XFS.

Sa pinakabag-o nga mga nahimo sa pagpalambo sa Bcachefs, ang pagpalig-on sa pagpatuman sa mga snapshot nga magamit alang sa pagsulat namatikdan. Kung itandi sa Btrfs, ang mga snapshot sa Bcachefs karon labi ka maayo nga masukod ug wala’y mga problema nga naa sa Btrfs. Sa praktis, ang buhat sa mga snapshot gisulayan sa dihang nag-organisar sa MySQL backups. Ang Bcachefs nakahimo usab og daghang trabaho aron mapalambo ang scalability - ang file system maayo ang nahimo sa pagsulay sa 100 TB storage, ug ang Bcachefs gilauman nga ipatuman sa 1 PB storage sa umaabot nga panahon. Usa ka bag-ong nocow mode ang gidugang aron dili pagana ang "copy-on-write" (nocow) nga mekanismo. Sa panahon sa ting-init, nagplano sila nga dad-on ang pagpatuman sa mga error correction code ug RAIDZ ngadto sa usa ka lig-on nga kahimtang, ingon man usab sa pagsulbad sa mga problema nga adunay taas nga konsumo sa memorya sa dihang ibalik ug susihon ang mga file system gamit ang fsck utility.

Sa mga plano alang sa umaabot, ang tinguha sa paggamit sa Rust nga pinulongan sa pagpalambo sa Bcachefs gihisgutan. Sumala sa tagsulat sa Bcachefs, gusto niya nga mag-code, dili mag-debug sa code, ug karon buang ang pagsulat sa code sa C kung adunay mas maayo nga kapilian. Ang Rust nalambigit na sa Bcachefs sa pagpatuman sa pipila ka mga gamit sa user-space. Dugang pa, ang ideya gipusa aron anam-anam nga hingpit nga isulat pag-usab ang mga Bcachef sa Rust, tungod kay ang paggamit niini nga sinultian labi ka makatipig sa oras sa pag-debug.

Sama sa pagbalhin sa mga Bcachef sa mainstream sa Linux kernel, ang proseso sa pagsagop mahimong malangan tungod sa kadako sa mga pagbag-o (2500 nga mga patch ug mga 90 ka libo nga linya sa code), nga lisud nga susihon. Aron mapadali ang pagrepaso, gisugyot sa pipila ka mga developer nga bungkagon ang serye sa patch ngadto sa mas gagmay ug lohikal nga pagkabulag nga mga bahin. Atol sa diskusyon, ang pipila ka mga partisipante nagpunting usab sa atensyon sa pag-uswag sa proyekto sa usa ka developer ug ang kapeligrohan nga ang code mahimong dili mapadayon kung adunay mahitabo sa developer niini (duha ka empleyado sa Red Hat ang interesado sa proyekto, apan ang ilang trabaho nagpadayon limitado nga pag-ayo sa bug).

Ang mga Bcachef gipalambo gamit ang mga teknolohiya nga nasulayan na sa pag-uswag sa Bcache block device, nga gidisenyo sa pag-cache sa pag-access sa hinay nga mga hard drive sa paspas nga SSDs (nalakip sa kernel sukad sa pagpagawas sa 3.10). Gigamit sa mga Bcachef ang mekanismo sa Copy-on-Write (COW), diin ang mga pagbag-o dili mosangpot sa pag-overwriting sa datos - ang bag-ong estado gisulat sa usa ka bag-ong lokasyon, pagkahuman nabag-o ang indikasyon sa estado karon.

Ang usa ka bahin sa Bcachefs mao ang suporta alang sa multi-layer nga koneksyon sa mga drive, diin ang pagtipig gilangkuban sa daghang mga layer - ang labing paspas nga mga drive (SSD) konektado sa ilawom nga layer, nga gigamit sa pag-cache sa kanunay nga gigamit nga datos, ug ang mga porma sa ibabaw nga layer. mas lapad ug mas barato nga mga disk nga nagtipig sa dili kaayo gikinahanglan nga datos. Ang writeback caching mahimong gamiton tali sa mga layer. Ang mga drive mahimong dinamikong idugang ug ibulag gikan sa usa ka partisyon nga dili makabalda sa paggamit sa file system (awtomatikong mobalhin ang data).

Source: opennet.ru

Idugang sa usa ka comment