Společnost Kent Overstreet vydala souborový systém Bcachefs verze 1.38.0. Tato verze obsahuje dva balíčky: bcachefs-kernel-dkms, který obsahuje modul jádra sestavený pomocí systému Dynamic Kernel Module Support (DKMS), a bcachefs-tools, který obsahuje uživatelský nástroj bcachefs implementující příkazy pro vytváření (mkfs), montáž, obnovu a ověřování souborového systému. Balíčky jsou kompilovány pro... Debian, Ubuntu a očekávají se pro Arch Linux, Fedora, openSUSE a NixOS. Modul DKMS podporuje jádra. Linux, počínaje od 6.16.
Projekt Bcachefs vyvíjí souborový systém, jehož cílem je kombinovat pokročilé funkce Btrfs a ZFS s výkonem, spolehlivostí a škálovatelností XFS. Bcachefs podporuje funkce, jako je více zařízení na oddíl, vícevrstvé úložné uspořádání (spodní vrstva s často používanými daty založená na rychlých SSD discích a horní vrstva s méně často používanými daty z pevných disků), replikace (RAID 1/10), ukládání do mezipaměti, transparentní komprese dat (režimy LZ4, gzip a ZSTD), stavové segmenty (snímky), ověřování integrity pomocí kontrolních součtů, kódy pro opravu chyb a šifrované ukládání dat (pomocí ChaCha20 a Poly1305).
V nové verzi:
- Struktura Btree need_discard, používaná ke sledování uvolněných bloků, byla přepnuta na indexování podle čísla indexu žurnálu namísto páru zařízení/bucket. Tato změna zlepšila výkon struktury need_discard a eliminovala zablokování během obnovy žurnálu při montáži souborového systému s nedostatkem volných bloků pro metadata.
- Operace zápisu protokolů byly přesunuty do samostatné fronty FIFO a maximální počet simultánních operací zápisu protokolů byl zvýšen ze 16 na 256, což zlepšilo výkon velkých úložných systémů s intenzivním zápisem.
- Montáž FS s velkým počtem snapshotů byla výrazně zrychlena.
Za zmínku stojí také vydání NASty 0.0.3, vývojářské distribuce pro vytváření síťových úložišť (NAS) s využitím běžného hardwaru. Distribuce je postavena na bázi balíčku NixOS, využívá souborový systém Bcachefs a podporuje sdílení souborů přes NFS a SMB, stejně jako export blokových zařízení přes iSCSI a NVMe-oF. Správa probíhá přes webové rozhraní. Instalační ISO obraz má velikost 1.9 GB. Práce projektu je licencována pod licencí GPLv3. Webové rozhraní je napsáno v jazyce TypeScript s využitím frameworku SvelteKit. Engine pro správu úložišť a systému je napsán v jazyce Rust.
Aktualizace se stahují a instalují automaticky. Systém se aktualizuje atomicky s možností návratu do předchozího stavu, pokud se v nové verzi zjistí problémy. Webové rozhraní nabízí možnosti pro správu souborových systémů, snímků, podklíčů, disků, virtuálních počítačů a sdíleného přístupu. Webové rozhraní obsahuje vestavěného správce souborů a emulátor terminálu, které běží v prohlížeči. Lze vytvářet pravidla pro provádění akcí a upozorňování správce v případě nadměrné spotřeby místa na disku, selhání disku nebo přehřátí.
Spouštění izolovaných prostředí a aplikací je podporováno pomocí virtualizace založené na QEMU/KVM a izolace kontejnerů s běhovým prostředím k3s. Helm charty lze instalovat přímo z webového rozhraní pro spouštění aplikací v kontejnerech a konfiguraci přesměrování přístupu přes Nginx ingress. Je podporována integrace s platformou Kubernetes s ovladačem CSI pro dynamickou alokaci úložiště. Distribuce ve výchozím nastavení odesílá telemetrii s anonymizovanými údaji o počtu disků a velikosti úložiště (telemetrii lze zakázat v sekci „Nastavení → Telemetrie“).
Mezi důvody pro volbu Bcachefs před ZFS patří aktivní vývoj, distribuce pod licencí GPL, jednoduchý model pro práci se souborovými systémy, podsekcemi a snapshoty (bez složitých konceptů, jako jsou datové sady, zvoly a vnořené pooly) a přítomnost pokročilých funkcí, jako je automatický přesun zřídka používaných dat na zpomalující disky, kódy pro opravu chyb a obnova po poškození bez přerušení práce se souborovým systémem.
Mezi změnami ve verzi NASty 0.0.3 vynikají následující:
- přechod na používání mechanismu nix flake pro balení a správu závislostí;
- podpora VPN Tailscale pro přesměrování NVMe-oF přes VPN;
- integrace běhového prostředí k3s; přidání nástrojů NUT (Network UPS Tools) pro monitorování zařízení nepřerušitelného napájení;
- Webový ovládací panel pro jemné doladění NFS, SMB a iSCSI (včetně možností pro výběr plánovače I/O, protokolování a zálohování metadat);
- další nastavení pro Bcachefs (správa kódů pro opravu chyb, výběr algoritmu kontrolního součtu, online vyvažování atd.);
- Podpora mezipaměti Cachix pro rychlejší doručování aktualizací;
- možnost generování Certifikáty TLS přes Let's Encrypt;
- Zahrnutí utilit iotop-c, btop, fwupd, rsync a croc.

Zdroj: opennet.ru
