Vydání Bcachefs 1.38.0. Distribuce NASty pro nasazení NAS na základě Bcachefs

Kent Overstreet publikoval vydání souborového systému Bcachefs 1.38.0. Vydání zahrnuje dva balíčky: bcachefs-kernel-dkms s jádrovým modulem sestaveným pomocí systému DKMS (Dynamic Kernel Module Support) a bcachefs-tools se spouštěnou v uživatelském prostoru utilitou bcachefs, která implementuje příkazy pro vytváření (mkfs), montování, obnovu a kontrolu FS. Balíčky jsou sestaveny pro Debian, Ubuntu a očekávají se pro Arch Linux, Fedora, openSUSE a NixOS. DKMS modul podporuje práci s jádry Linuxu počínaje verzí 6.16.

Projekt Bcachefs vyvíjí souborový systém, který cílí na kombinaci rozšířené funkčnosti charakteristické pro Btrfs a ZFS a úrovně výkonu, spolehlivosti a škálovatelnosti typické pro XFS. Bcachefs podporuje takové možnosti, jako je zahrnutí několika zařízení do oddílu, vícestupňové rozložení úložišť (spodní vrstva s často používanými daty na rychlých SSD a horní vrstva s méně žádanými daty z pevných disků), replikace (RAID 1/10), cachování, transparentní kompresi dat (módy LZ4, gzip a ZSTD), snímky stavu (snapshots), ověřování integrity pomocí kontrolních součtů, kódy pro opravu chyb, uchovávání informací v zašifrované podobě (využívají se ChaCha20 a Poly1305).

V nové verzi:

  • Struktura Btree need_discard, používaná pro sledování uvolněných sad bloků, byla převedena na indexování podle pořadového čísla z journálu místo páru zařízení/sada bloků (device/bucket). Změna umožnila zrychlit práci se strukturou need_discard a vyloučit vznik vzájemného zablokování při obnově z journálu během montování FS s nedostatečným počtem volných bloků na metadata.
  • Operace zápisu do journálu byly vyčleněny do samostatné fifo fronty a maximální počet současně prováděných operací zápisu do journálu byl zvýšen z 16 na 256, což umožnilo zrychlit práci velkých úložišť s intenzivním záznamem.
  • Signifikantně bylo zrychleno montování FS s velkým počtem snapshotů.

Dále lze zmínit vydání projektu NASty 0.0.3, který vyvíjí distribuci pro vytváření síťových úložišť (NAS) na základě standardního hardwaru. Distribuce je postavena na balíčkové platformě NixOS, používá souborový systém Bcachefs a podporuje poskytování přístupu k souborům prostřednictvím NFS a SMB, stejně jako export blokových zařízení přes iSCSI a NVMe-oF. Správa se provádí prostřednictvím webového rozhraní. Velikost instalačního ISO obrazu je 1,9 GB. Vývoj projektu je licencován pod GPLv3. Webové rozhraní je napsáno v TypeScriptu s využitím frameworku SvelteKit. Motor pro správu úložiště 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 v případě problémů v nové verzi. V webovém rozhraní jsou k dispozici možnosti pro správu souborových systémů, snapshotů, oddílů, disků, virtuálních strojů a sdílení. Jsou zde vestavěné v webovém rozhraní souborové manažery a emulátor terminálu, které fungují v prohlížeči. Je možné vytvářet pravidla pro provádění akcí a upozornění administrátora v případě nadměrného využívání diskového prostoru, poruchy v práci úložišť a přehřátí.

Podporuje se spuštění izolovaných prostředí a aplikací pomocí virtualizace na bázi QEMU/KVM a kontejnerové izolace s pomocí runtime k3s (z WebUI lze přímo nainstalovat Helm chart pro spuštění aplikací v kontejnerech a nastavení přístupu prostřednictvím nginx ingress). Podporuje se integrace s platformou Kubernetes, pro kterou je k dispozici řidič CSI pro dynamické přidělování místa v úložišti. Distribuce ve výchozím nastavení odesílá telemetrii s anonymizovanými daty o počtu úložišť a velikosti úložiště (telemetrie se vypíná v sekci 'Nastavení → Telemetrie').

Mezi důvody volby Bcachefs místo ZFS se uvádí aktivní vývoj, dodání pod licencí GPL, jednoduchý model práce s FS, podřetězci a snímky (bez komplikovaných konceptů, jako jsou dataset-y, zvol a vnořené pool-y) a dostupnost pokročilých funkcí, jako je automatický přesun málo používaných dat na pomalejší úložiště, kódy pro opravu chyb a obnovení poškození bez přerušení práce s FS.

Mezi změnami ve verzi NASty 0.0.3 vyniká:

  • 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í NUT (Network UPS Tools) pro monitorování zařízení s nepřerušitelným napájením;
  • webová panela pro jemné nastavení NFS, SMB a iSCSI (včetně možností pro výběr plánovače I/O, žurnálování a zálohování metadat);
  • další nastavení pro Bcachefs (správa kódů pro opravu chyb, výběr algoritmu pro kontrolní součty, online rebalancování atd.);
  • podpora cache Cachix pro urychlení dodávky aktualizací;
  • možnost generování TLS certifikátů přes Let’s Encrypt;
  • zařazení do souborů utilit iotop-c, btop, fwupd, rsync a croc.

Vydání Bcachefs 1.38.0. Distribuce NASty pro nasazení NAS na základě Bcachefs

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster