Vydání souborového systému Bcachefs 1.33.0

Kent Overstreet zveřejnil vydání souborového systému Bcachefs 1.33.0. Vydání pokrývá dva balíčky: bcachefs-kernel-dkms s modulem jádra, který je sestavován pomocí systému DKMS (Dynamic Kernel Module Support), a bcachefs-tools s uživatelsky prostorem spuštěnou utilitou bcachefs, která realizuje příkazy pro vytváření (mkfs), montování, obnovu a kontrolu FS. Balíčky jsou sestaveny pro Debian, Ubuntu, Fedora, openSUSE, NixOS a Arch Linux. DKMS modul podporuje práci s jádry Linuxu od verze 6.16.

Nová verze přidává funkčnost "reconcile" (rebalance_v2), která je označena jako největší změna v FS za poslední dva roky. Na rozdíl od dříve dostupného režimu "rebalance" mechanismus "reconcile" umožňuje provádět rebalance nejen dat (například replikaci několika kopií na různé úložné zařízení), ale také metadat v FS (například pro přesun metadat po přidání dalšího úložiště do poolu). Kromě toho je reconcile nyní použitelný pro všechny možnosti vstupu/výstupu, nejen pro operace na pozadí kopírování a komprese. V reconcile se také automaticky zohledňují změny možností nebo nastavení zařízení a okamžitě se replikují degradovaná data a metadata.

V reconcile jsou zapojeny jednotlivé indexy pro: operace s vysokou prioritou; optimalizaci zpracování dat na diskových úložištích; data naplánovaná pro zpracování, které zatím není možné provést (například kvůli nedostatku místa). Přidána podpora pro vytváření souborového systému na jednom úložišti v režimu s dvojitou replikací (replicas=2) — v takové konfiguraci povede přidání druhého úložiště k automatické replikaci dat na přidaný disk, bez potřeby vykonávat jakékoliv kroky uživatelem.

Mezi dalšími změnami:

  • Byly přidány příkazy "reconcile status" a "reconcile wait". Přidány možnosti připojení "mount_trusts_udev" a "writeback_timeout". Byly převedeny na zastaralé příkazy "data rereplicate", "data job drop_extra_replicas".
  • Byl přidán režim obnovení "merge_btree_nodes", který provádí kontrolu všech uzlů v btree strukturách, které podléhají operacím sloučení.
  • Byla provedena příprava kódu na přechod k používání jazyka Rust. Počet použitého příkazu goto v kódu byl snížen z 2500 na 600. Místo pevně kódovaných vektorů byl použit makro DARRAY(), které poskytuje funkčnost podobnou dynamickým políčkům v C++ a Rust. Pro zpracování chyb bylo použito makro try(), převzaté z Rustu.
  • V týmu „bcachefs fs usage“ bylo zajištěno správné informování o degradovaných datech.
  • Bylo přepracováno zpracování čítačů, které jsou ukazovány v příkazu „bcachefs fs top“. Bylo zjednodušeno přidávání nových čítačů a implementována možnost převodu stop (tracepoint) na výstupní buffery (printbufs).
  • Byla zvýšena kvalita chybových zpráv, které nyní zahrnují informace o typech poruch (softwarové nebo hardwarové), opatřeních k odstranění chyby (například spuštění procesu obnovy), které byly získány z blokových zařízení kódy chyb vstupu/výstupu, chybějících zařízeních. Při skenování btree struktur byl zajištěn výstup informací o možnosti obnovy problémových uzlů.
  • Při zapisování do logu byla přidána možnost odděleně určovat limity na intenzitu výstupu různých typů chyb. Takové limity umožňují zabránit ztrátě zpráv o jednotlivých hardwarových problémech na pozadí velkého počtu zpráv o softwarových chybách.
  • Pro všechny fáze obnovy byly přidány indikátory pokroku.

Projekt Bcachefs vyvíjí souborový systém zaměřený na kombinaci rozšířené funkčnosti, typické pro Btrfs a ZFS, a úrovně výkonu, spolehlivosti a škálovatelnosti charakteristické pro XFS. Bcachefs podporuje funkce jako připojení několika zařízení v rámci jednoho svazku, 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ě vyžadovanými daty z pevných disků), replikaci (RAID 1/10), caching, transparentní kompresi dat (módy LZ4, gzip a ZSTD), snímky stavu (snapshots), kontrolu integrity pomocí hash funkcí, možnost uchovávání kódů pro opravu chyb podle Reeda-Solomona (RAID 5/6), a uchovávání informací v šifrované podobě (využívají se ChaCha20 a Poly1305). Co se výkonu týče, Bcachefs překonává Btrfs a další souborové systémy založené na mechanismu Copy-on-Write a vykazuje rychlost blízkou Ext4 a XFS.

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