Kent Overstreet közzétette a Bcachefs 1.38.0 fájlrendszer kiadását. A kiadás két csomagot tartalmaz: a bcachefs-kernel-dkms-t, amely a kernel modult a DKMS (Dynamic Kernel Module Support) rendszer segítségével építi fel, és a bcachefs-tools-t, amely a felhasználói térben futó bcachefs segédeszközt tartalmaz, megvalósítva a fájlrendszer létrehozásához (mkfs), csatolásához, helyreállításához és ellenőrzéséhez szükséges parancsokat. A csomagok Debianra, Ubuntu-ra készültek, és várhatóan Arch Linux, Fedora, openSUSE és NixOS rendszerekhez is elérhetőek lesznek. A DKMS modul támogatja a Linux kernel 6.16-tól kezdődő verzióit.
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).
Az új verzióban:
- A függő struktúra need_discard, amely a felszabadított blokkhalmazok nyomon követésére szolgál, átváltott a naplóbból származó sorszám szerinti indexelésre a készülék/blokksorozat páros helyett. A változtatás lehetővé tette a need_discard struktúrával való munka felgyorsítását, és kiküszöbölte az egymással való blokkolódás előfordulását a fájlrendszerben a napló helyreállítása során, amikor nem áll megfelelő mennyiségű szabad blokk rendelkezésre a metaadatok számára.
- A napló írási műveleteket külön fifo sorba helyezték, és a naplóban egyszerre végrehajtható műveletek maximális számát 16-ról 256-ra növelték, ami lehetővé tette a nagy tárolórendszerek írási terhelés alatti teljesítményének javítását.
- Jelentősen felgyorsult a fájlrendszer csatolása, ha sok snapshot található rajta.
További érdekesség, hogy megjelent a NASty 0.0.3 projekt, amely egy NAS-hálózati tároló létrehozására szolgáló disztribúciót fejleszt tipikus hardveren. A disztribúció a NixOS csomagkezelő alapjain épül, Bcachefs fájlrendszert használ, és támogatja a fájlok NFS és SMB protokollon keresztüli elérését, valamint a blokkeszközök iSCSI és NVMe-oF általi exportálását. Az irányítás webes felületen keresztül történik. Az ISO telepítő kép mérete 1,9 GB. A projekt fejlesztése GPLv3 licenc alatt zajlik. A webes felület TypeScript nyelven készült, SvelteKit keretrendszer bevonásával. A tároló- és rendszerkezelő motor Rust nyelven készült.
A frissítések automatikusan töltődnek le és települnek. A rendszer atomikusan frissül, lehetővé téve a visszaállítást egy korábbi állapotba, ha probléma merül fel az új verzióval. A webes felületen lehetőség van a fájlrendszerek, pillanatképek, almeghajtók, lemezek, virtuális gépek és megosztott hozzáférés kezelésére. A webes felületen beépített fájlkezelő és terminálemulátor is található, amelyek böngészőben működnek. Létrehozhatók szabályok az intézkedések végrehajtásához és az adminisztrátor értesítéséhez a túlzott lemezhasználatról, a tárolók meghibásodásáról és a túlmelegedésről.
Támogatott az elszigetelt környezetek és alkalmazások indítása QEMU/KVM alapú virtualizációval, valamint k3s runtime használatával történő konténerizációs elszigeteltséggel (a WebUI-ból közvetlenül telepíthetők Helm chartok konténerekben futó alkalmazások indításához és az nginx ingress hozzáférésének beállításához). Támogatott a Kubernetes platform integrálása, amelyhez CSI meghajtó áll rendelkezésre a tárolóhely dinamikus kiosztásához. A disztribúció alapértelmezetten anonim adatokkal küldi a telemetriát a tárolók számáról és méretéről (a telemetria letiltható a „Settings → Telemetry” szakaszban).
A Bcachefs választásának okaiként az aktív fejlesztést, GPL licenc alatt történő terjesztést, a fájlrendszerrel való egyszerűsíthető munkát, az alrendszereket és a pillanatképeket emelik ki (bonyolult koncepciók, mint például a datasetek, zvol és beágyazott poolok nélkül), valamint a fejlett lehetőségek meglétét, például a ritkán használt adatok automatikus áthelyezését lassú tárolókra, hibajavító kódokat és a sérülések helyreállítását a fájlrendszer használatának megszakítása nélkül.
A NASty 0.0.3 verzió változásai között szerepel:
- átállás a nix flake mechanizmusának használatára a csomagolás és függőségek kezelése érdekében;
- Passkey VPN Tailscale NVMe-oF átjárónak VPN-en keresztüli használatára;
- k3s runtime integráció; a NUT (Network UPS Tools) hozzáadása az UPS eszközök figyelésére;
- webes panel az NFS, SMB és iSCSI finomhangolására (beleértve a beviteli/kimeneti ütemező, naplózás és metaadatok biztonsági mentésének beállítási lehetőségeit);
- további beállítások a Bcachefs-hez (hibajavító kódok kezelése, ellenőrzőösszeg algoritmus kiválasztása, online újraelosztás stb.);
- Cachix gyorsítótár támogatása a frissítések gyorsabb biztosítása érdekében;
- generálás lehetősége TLS-tanúsítványok a Let’s Encrypt-en keresztül;
- az iotop-c, btop, fwupd, rsync és croc segédeszközök integrálása.

Forrás: opennet.ru
