Promosi Bcachefs menyang Kernel Linux

Kent Overstreet, penulis sistem caching piranti blok BCache SSD, sing minangka bagean saka kernel Linux, ngringkes asil karya promosi sistem file Bcachefs ing pidato ing konferensi LSFMM 2023 (Linux Storage, Filesystem, Memory Management). & BPF Summit). menyang komposisi utama kernel Linux lan ngomong babagan rencana kanggo pangembangan luwih lanjut saka FS iki. Ing wulan Mei, set patch sing dianyari kanthi implementasine Bcachefs FS diusulake kanggo ditinjau lan dilebokake ing komposisi utama kernel Linux. FS Bcachefs wis berkembang udakara 10 taun. Kesiapan kanggo mriksa implementasi Bcachefs sadurunge dilebokake ing inti diumumake ing pungkasan taun 2020, lan versi patch saiki nganggep komentar lan kekurangan sing diidentifikasi sajrone tinjauan sadurunge.

Tujuan pangembangan Bcachefs yaiku kanggo nggayuh tingkat XFS ing kinerja, linuwih lan skalabilitas, nalika nyedhiyakake fitur tambahan sing ana ing Btrfs lan ZFS, kayata kalebu macem-macem piranti ing partisi, tata letak panyimpenan multi-lapisan, replikasi (RAID 1/10), caching, komprèsi data transparan (LZ4, gzip lan mode ZSTD), irisan negara (snapshots), verifikasi integritas dening checksums, kemampuan kanggo nyimpen kode koreksi kesalahan Reed-Solomon (RAID 5/6), panyimpenan ndhelik informasi (ChaCha20 lan Poly1305 digunakake). Ing babagan kinerja, Bcachefs luwih dhisik tinimbang Btrfs lan sistem file liyane adhedhasar mekanisme Copy-on-Write, lan nuduhake kinerja sing cedhak karo Ext4 lan XFS.

Saka prestasi paling anyar ing pangembangan Bcachefs, stabilisasi implementasi jepretan sing kasedhiya kanggo nulis kacathet. Dibandhingake karo Btrfs, gambar ing Bcachefs saiki luwih bisa diukur lan bebas saka masalah sing ana ing Btrfs. Ing praktik, karya snapshot diuji nalika ngatur serep MySQL. Bcachefs uga wis nindakake akeh karya kanggo nambah skalabilitas - sistem file wis dileksanakake apik ing testing ing 100 panyimpenan TB, lan Bcachefs samesthine bakal dipun ginakaken ing panyimpenan 1 PB ing mangsa cedhak. Mode nocow anyar wis ditambahake kanggo mateni mekanisme "copy-on-write" (nocow). Ing mangsa panas, padha rencana kanggo nggawa implementasine saka kode koreksi kesalahan lan RAIDZ menyang negara stabil, uga ngatasi masalah karo konsumsi memori dhuwur nalika mulihake lan mriksa sistem file karo sarana fsck.

Saka rencana kanggo masa depan, kepinginan kanggo nggunakake basa Rust ing pangembangan Bcachefs kasebut. Miturut penulis Bcachefs, dheweke seneng kode, ora debug kode, lan saiki edan nulis kode ing C yen ana pilihan sing luwih apik. Rust wis melu ing Bcachefs ing implementasine saka sawetara keperluan pangguna-ruang. Kajaba iku, ide kasebut ditetepake kanggo nulis ulang Bcachefs kanthi bertahap ing Rust, amarga nggunakake basa iki ngirit wektu debugging kanthi signifikan.

Kanggo mindhah Bcachefs menyang aliran utama kernel Linux, proses adopsi bisa uga ditundha amarga owah-owahan gedhene (2500 patch lan udakara 90 ewu baris kode), sing angel dideleng. Kanggo nyepetake review, sawetara pangembang nyaranake supaya seri patch dadi bagean sing luwih cilik lan luwih logis. Sajrone diskusi, sawetara peserta uga narik kawigaten babagan pangembangan proyek dening siji pangembang lan bebaya yen kode kasebut bisa ditinggalake yen ana kedadeyan karo pangembang kasebut (loro karyawan Red Hat kasengsem ing proyek kasebut, nanging karyane isih ndandani bug winates).

Bcachefs dikembangaké nggunakake teknologi wis dites ing pangembangan piranti pemblokiran Bcache, dirancang kanggo akses cache kanggo hard drive alon ing drive SSD cepet (kalebu ing kernel wiwit release 3.10). Bcachefs nggunakake mekanisme Copy-on-Write (COW), ing ngendi owah-owahan ora mimpin kanggo nimpa data - negara anyar ditulis menyang lokasi anyar, sawise owah-owahan indikator negara saiki.

Fitur Bcachefs yaiku dhukungan kanggo sambungan multi-lapisan drive, ing ngendi panyimpenan dumadi saka sawetara lapisan - drive paling cepet (SSD) disambungake menyang lapisan ngisor, sing digunakake kanggo cache data sing kerep digunakake, lan lapisan ndhuwur mbentuk. disk sing luwih gedhe lan luwih murah sing nyimpen data sing kurang dibutuhake. Caching writeback bisa digunakake ing antarane lapisan. Drive bisa ditambahake kanthi dinamis lan dicopot saka partisi tanpa ngganggu panggunaan sistem file (data pindhah kanthi otomatis).

Source: opennet.ru

Add a comment