A Bcachefs fájlrendszer hivatalosan megszűnt kísérleti státuszú lenni.

Kent Overstreet közzétette a Bcachefs 1.38.6 fájlrendszer verzióját, és bejelentette a projekt hivatalos kivezetését a kísérleti fejlesztés címkéjével. Az utóbbi időben a beérkező problémák száma csökkent, és a felmerülő hibák kevésbé súlyosak és bonyolultak.

A kiadás két csomagot ölel fel: a bcachefs-kernel-dkms-t, amely a DKMS (Dynamic Kernel Module Support) rendszer segítségével összegyűjtött kernelmodult tartalmazza, valamint a bcachefs-tools-t, amely a felhasználói térben futó bcachefs segédprogramot tartalmazza, amely parancsokat valósít meg a fájlrendszer létrehozásához (mkfs), csatolásához, helyreállításához és ellenőrzéséhez. A csomagokat Debian, Ubuntu, Arch Linux számára állították össze, és várhatóan Fedora, openSUSE és NixOS számára is készülnek. A DKMS modul támogatja a Linux kernel 6.16-tól kezdődő verziókat.

Bár a verziónak nincs figyelemfelkeltő számjegye, mivel a lemezes formátumban nem történt változás, az 1.38.6 kiadás számos jelentős teljesítményoptimalizálást tartalmaz. A btree formátumban végzett műveletek, naplózás és a fájlrendszer működését biztosító kódba körülbelül 200 módosítást végeztek, amelyek növelik a teljesítményt. A tranzakciók megerősítésének logikája 4KByte gépi kódra lett tömörítve, és optimalizálásokat vezettek be a btree-vel kapcsolatos versengő zárolások („lock contention”) elkerülésére, a napló állapotának visszaállítása (journal flush) pedig teljesen mentesült a zárolásoktól.

Ezen szerveren 48-maggal rendelkező AMD CPU-val a Bcachefs-nél 16,5 GB/sec teljesítményt sikerült elérni, amikor 48 dbench klienssel futott a teszt (összehasonlításképpen az XFS 16 GB/sec eredményt ért el). Fel vannak készítve, de a következő kiadásra elhalasztva várják a dbench tesztelésének teljesítményét 19 GB/sec-ra növelő javításokat (ezek a javítások további tesztelést vagy a lemezformátum megváltoztatását igénylik). A fio segédprogram használatával a Bcachefs teljesítménye 700 művelet másodpercenként volt, amikor véletlenszerű írási műveleteket hajtottak végre 4 kilobájtos blokkokkal (az XFS ebben a tesztben egymillió műveletet mutatott másodpercenként, azt is figyelembe véve, hogy az XFS blokkok újrapárosításával korlátozódik, míg a Bcachefs a CoW (Copy-on-Write) teljes ciklusát kezeli ellenőrző összegek ellenőrzésével és a btree struktúra frissítésével).

A Bcachefs 1.38.6 verzióban a fájlrendszerekhez való csatlakozás támogatása 255 eszközig terjed. Az apt.bcachefs.org tárolóban elindult az Ubuntu 26.04-hez készült csomagok kialakítása. A folyamatos integrációs és automatizált tesztelési infrastruktúra átkerült a DKMS-alapú build ellenőrzésére. A következő néhány hónapban a fájlrendszer több tárolóeszközzel való működésének optimalizálására kívánjuk összpontosítani.

Emellett folytatódik a kód Rust nyelvre való átírása. Észlelni lehet, hogy a Rust támogatása a kernelben jelentős mérföldkőhöz érkezett — minden jelentősebb disztribúció alapértelmezetten aktiválta a CONFIG_RUST beállítást 7.0-ás kernelcsomagok létrehozásakor, lehetővé téve a Rust támogatásával való fordítást. A Rust nyelven már átírták a Bcachefs projekt eszközgyűjteményét.
A bcachefs-tools, amely a felhasználói térben fut, API-kat valósít meg a btree struktúrákkal való munkára. A következő kiadásban tervezik a Rust nyelvű írótömbök integrálását a kernel DKMS moduljába, és elkezdődik a Bcachefs alap kódjának átírása. Feltételezik, hogy a Rust használata növelni fogja a kód rugalmasságát, stabilitását és használhatóságát, érdekesebbé teszi a projektet a fiatal mérnökök számára, és a jövőben lehetővé teszi a megbízhatóság formális ellenőrzésének megvalósítását.

A Bcachefs projekt a fájlrendszert fejleszti, amely a Btrfs és ZFS kiterjesztett funkcióinak kombinálását célozza meg, valamint az XFS-re jellemző teljesítményszintet, megbízhatóságot és skálázhatóságot. A Bcachefs támogatja az olyan lehetőségeket, mint több eszköz bevonása a partícióba, réteges tárolóelrendezések (az alsó réteg gyors SSD-n tárolt gyakran használt adatokkal, míg a felső réteg merevlemezeken tárolt kevésbé keresett adatokkal), replikáció (RAID 1/10), gyorsítótárazás, átlátszó adat tömörítés (LZ4, gzip és ZSTD módok), állapotképek (snapshotok), integritás-ellenőrzés ellenőrző összegzésekkel, hibajavító kódok, az információ titkosítva történő tárolása (ChaCha20 és Poly1305 használatával).

A Bcachefs-hez az utolsó hónapokban hozzáadott jelentős újítások közül említést nyer:

  • Az „reconcile” (rebalance_v2) mechanizmus, amely ellentétben a „rebalance” móddal, lehetővé teszi nemcsak az adatok (például több másoló eltérő tárolókra történő replikálása), hanem a fájlrendszer metaadatainak újraelosztását is (például metaadatok áthelyezése egy új tároló hozzáadásakor a poolhoz). A reconcile minden bemeneti/kimeneti műveletre alkalmazható, nem csak háttérmásolási és tömörítési műveletekre. A reconcile automatikusan figyelembe veszi az eszközbeállítások változásait, és azonnal újra replikálja a degradálódott adatokat és metaadatokat.
  • Hibáskódok támogatása, amelyek lehetővé teszik a sérült adatok helyreállítását a RAID 5/6 mintájára. Az implementáció Reed-Solomon kódoláson alapul, amely akár N hibát is képes javítani a stripe-ban, ha N felesleges blokk áll rendelkezésre. Automatikus helyreállítás biztosított a degradált stripe-ok esetén. A helyreállító kódok alkalmazásának lehetősége különböző méretű tárolók konfigurációiban is érvényes.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster