Kent Overstreet Bcachefs 1.38.6 fayl tizimini chiqardi va loyihadan eksperimental ishlab chiqish yorlig'i rasman olib tashlanganini e'lon qildi. So'nggi paytlarda muammolar haqida xabarlar soni kamaydi va duch kelgan xatolar unchalik jiddiy emas va sezilmaydi.
Ushbu nashr ikkita paketni o'z ichiga oladi: DKMS (Dynamic Kernel Module Support) tizimi yordamida yaratilgan yadro modulini o'z ichiga olgan bcachefs-kernel-dkms va foydalanuvchi maydonida ishlaydigan va fayl tizimlarini yaratish (mkfs), o'rnatish, tiklash va tekshirish buyruqlarini amalga oshiradigan bcachefs yordamchi dasturini o'z ichiga olgan bcachefs-tools. Paketlar quyidagilar uchun kompilyatsiya qilingan: Debian, Ubuntu, Arch Linux va Fedora, openSUSE va NixOS uchun kutilmoqda. DKMS moduli yadrolarni qo'llab-quvvatlaydi. Linux, 6.16 dan boshlab.
Diskdagi formatga o'zgartirishlar kiritilmaganligi sababli versiya raqamining ahamiyatsizligiga qaramay, 1.38.6 versiyasi bir qator muhim ishlash optimallashtirishlarini o'z ichiga oladi. Btree tuzilmalari, jurnal yuritish va fayl tizimini qo'llab-quvvatlash bilan ishlash uchun kodga 200 ga yaqin ishlashni yaxshilovchi o'zgartirishlar kiritildi. Tranzaksiyalarni bajarish mantig'i 4 KB mashina kodiga siqildi, btrees bilan ishlashda ziddiyatlarni bartaraf etish uchun optimallashtirishlar qo'shildi va jurnalni tozalash jarayoni butunlay qulfsiz.
48 yadroli AMD protsessoriga ega serverda Bcachefs 48 ta dbench mijozini ishga tushirganda 16.5 Gb/soniya tezlikka erishdi (taqqoslash uchun, XFS 16 Gb/soniya tezlikka erishdi). dbench ishlashini 19 Gb/soniyagacha oshiradigan yamalar tayyorlangan, ammo keyingi nashrga qoldirildi (bu yamalar qo'shimcha sinovdan o'tkazishni yoki disk formatini o'zgartirishni talab qiladi). fio yordamchi dasturi bilan sinovdan o'tkazilganda, Bcachefs 4 kilobaytli bloklarda tasodifiy yozish uchun 700 IOPS ga erishdi (XFS bloklarni qayta xaritalash bilan cheklanishiga qaramay, bu sinovda million IOPS ga erishdi, Bcachefs esa checksum tekshiruvi va btree tuzilmasini yangilash bilan to'liq CoW (Nusxalashda nusxalash) siklini boshqaradi).
Optimallashtirishlardan tashqari, Bcachefs 1.38.6 versiyasi 255 tagacha qurilmani bitta fayl tizimiga ulashni qo'llab-quvvatlaydi. Buning uchun paketlar apt.bcachefs.org omborida yaratila boshlandi. Ubuntu 26.04-aprel. Uzluksiz integratsiya va avtomatlashtirilgan sinov infratuzilmasi DKMS asosidagi tuzilmalarni sinovdan o'tkazishga o'tkazildi. Keyingi bir necha oy ichida biz bir nechta saqlash qurilmalari bilan fayl tizimining ishlashini optimallashtirishga e'tibor qaratishni rejalashtirmoqdamiz.
Bundan tashqari, Rust kodini qayta yozish bo'yicha ishlar davom etmoqda. Ta'kidlanishicha, yadroda Rust qo'llab-quvvatlashi muhim bosqichga yetdi: barcha asosiy distributivlar 7.0 yadrosini Rust qo'llab-quvvatlashi bilan yadroni yaratish uchun paketlashda CONFIG_RUST sozlamasini sukut bo'yicha yoqdi. Bcachefs loyihasi allaqachon Rustda bir qator yordamchi dasturlarni qayta yozgan.
Foydalanuvchi maydonida ishlaydigan bcachefs-tools btree tuzilmalari bilan ishlash uchun API implementatsiyasini o'z ichiga oladi. Keyingi nashrda biz tayyorlangan Rust bog'lanishlarini DKMS yadro moduliga integratsiya qilishni va asosiy Bcachefs kodini qayta yozishni boshlashni rejalashtirmoqdamiz. Rustdan foydalanish kodning moslashuvchanligi, barqarorligi va foydalanish qulayligini oshirishi, loyihani yosh muhandislar uchun yanada qiziqarli qilishi va kelajakda rasmiy ishonchlilikni tekshirishni amalga oshirish imkonini berishi kutilmoqda.
Bcachefs loyihasi Btrfs va ZFS ning ilg'or funksiyalarini XFS ning ishlashi, ishonchliligi va masshtablanishi bilan birlashtirishga qaratilgan fayl tizimini ishlab chiqmoqda. Bcachefs har bir bo'lim uchun bir nechta qurilmalar, ko'p qatlamli saqlash sxemalari (tezkor SSD-larga asoslangan tez-tez kirish mumkin bo'lgan ma'lumotlarga ega pastki qatlam va qattiq disklardan kamroq kirish mumkin bo'lgan ma'lumotlarga ega yuqori qatlam), replikatsiya (RAID 1/10), keshlash, shaffof ma'lumotlarni siqish (LZ4, gzip va ZSTD rejimlari), holat bo'laklari (suratlar), checksum yordamida yaxlitlikni tekshirish, xatolarni tuzatish kodlari va shifrlangan ma'lumotlarni saqlash (ChaCha20 va Poly1305 dan foydalangan holda) kabi funksiyalarni qo'llab-quvvatlaydi.
So'nggi oylarda Bcachefsga qo'shilgan ba'zi muhim yangi xususiyatlar quyidagilarni o'z ichiga oladi:
- "Yarashish" mexanizmi (rebalance_v2), "qayta muvozanatlash" rejimidan farqli o'laroq, nafaqat ma'lumotlarni (masalan, bir nechta nusxalarni turli drayvlarga replikatsiya qilish), balki fayl tizimi metama'lumotlarini ham (masalan, hovuzga qo'shimcha drayver qo'shgandan so'ng metama'lumotlarni ko'chirish) qayta muvozanatlash imkonini beradi. Yarashish nafaqat fon nusxalash va siqish, balki barcha kirish/chiqish operatsiyalari uchun ham qo'llaniladi. Yarashish avtomatik ravishda qurilma sozlamalaridagi o'zgarishlarni hisobga oladi va buzilgan ma'lumotlar va metama'lumotlarni darhol qayta nusxalaydi.
- Xatolarni tuzatish kodlarini qo'llab-quvvatlash, RAID 5/6 ga o'xshash ma'lumotlarni tiklash imkonini beradi. Amalga oshirish Reed-Solomon kodlashiga asoslangan bo'lib, u N ta ortiqcha bloklar bilan har bir chiziq uchun N tagacha xatolarni tuzatishi mumkin. Buzilgan chiziqlarni avtomatik tiklash ta'minlanadi. Tiklash kodlaridan foydalanish turli o'lchamdagi drayvlarga ega konfiguratsiyalarga tegishli.
Manba: opennet.ru
