Propagace Bcachefs v jádře Linux

Kent Overstreet, autor systému kešování blokových zařízení na SSD úložištích BCache, ve svém vystoupení na konferenci LSFMM 2023 (Linux Storage, Filesystem, Memory Management & BPF Summit) shrnul výsledky práce na propagaci souborového systému Bcachefs do hlavního jádra Linuxu a podělil se o plány na další rozvoj tohoto FS. V květnu byl k recenzování a zařazení do hlavního jádra Linuxu navržen aktualizovaný soubor patchů s implementací FS Bcachefs. FS Bcachefs se vyvíjí již přibližně 10 let. O připravenosti k recenzování implementace Bcachefs před zařazením do jádra bylo oznámeno již na konci roku 2020 a v aktuálním souboru patchů byly zohledněny připomínky a nedostatky z předchozí recenze.

Cílem vývoje Bcachefs je dosáhnout úrovně XFS v oblasti výkonu, spolehlivosti a škálovatelnosti, přičemž poskytuje dodatečné funkce, charakteristické pro Btrfs a ZFS, jako je zapojení do oddílu více zařízení, vícevrstvé uspořádání úložišť, replikace (RAID 1/10), kešování, transparentní komprese dat (módy LZ4, gzip a ZSTD), snímky stavu (snapshots), ověřování integrity pomocí kontrolních součtů, možnost uchovávání kódů opravy chyb Reed-Solomon (RAID 5/6), uchovávání informací v zašifrované podobě (využívají se ChaCha20 a Poly1305). Co se výkonu týče, Bcachefs předčí Btrfs a další FS na bázi mechanizmu Copy-on-Write a vykazuje rychlost blízkou Ext4 a XFS.

Mezi nejnovějšími úspěchy vývoje Bcachefs je stabilizace implementace snapshotů, které jsou dostupné pro zápis. Ve srovnání s Btrfs jsou snapshoty v Bcachefs nyní mnohem lépe škálovatelné a postrádají problémy, které jsou vlastní Btrfs. V praxi byly snapshoty vyzkoušeny při organizaci zálohování MySQL. V Bcachefs byla také provedena rozsáhlá práce na zlepšení škálovatelnosti — souborový systém prokázal dobrou výkonnost při testování ve skladových systémech o velikosti 100 TB a v blízké budoucnosti se očekává implementace Bcachefs v úložišti o velikosti 1 PB. Byl přidán nový režim nocow pro deaktivaci mechanismu „copy-on-write“ (nocow). Během léta se plánuje stabilizace implementace kódů pro opravu chyb a RAIDZ, jakož i řešení problému s vysokou spotřebou paměti během obnovování a kontrolování FS pomocí utilitky fsck.

Mezi plány do budoucna se zmiňuje touha využít při vývoji Bcachefs jazyk Rust. Podle autora Bcachefs rád programuje, a ne ladí kód, a nyní považuje psaní kódu v jazyce C za bezvýznamné, když existuje lepší alternativa. Rust je již nasazen v Bcachefs v implementaci některých utilit, které běží v uživatelském prostoru. Kromě toho se zvažuje postupně celý Bcachefs na Rust přepsat, neboť použití tohoto jazyka značně šetří čas na ladění.

Pokud jde o propagaci Bcachefs do mainstremu jádra Linux, může se proces schvalování protáhnout kvůli dostatečně velkému objemu změn (2500 patchů a přibližně 90 tisíc řádků kódu), které je těžké přezkoumávat. Aby se urychlilo přezkoumání, někteří vývojáři navrhli rozdělit sérii patchů na menší a logicky oddělené části. Během diskuze někteří účastníci také upozornili na vývoj projektu jediným vývojářem a riziko, že by kód mohl zůstat bez podpory, pokud by se jeho vývojáři něco stalo (o projekt mají zájem dva zaměstnanci Red Hat, ale jejich práce je zatím omezena na opravy chyb).

Bcachefs se vyvíjí pomocí technologií, které byly již vyzkoušeny při vývoji blokového zařízení Bcache, určeného pro zrychlení přístupu k pomalým pevným diskům pomocí rychlých SSD (součástí jádra od verze 3.10). V Bcachefs se používá mechanismus Copy-on-Write (COW), při kterém změny nevedou k přepsání dat — nové stavy jsou zapisovány na nové místo, po čemž se změní ukazatel aktuálního stavu.

Hlavní výhodou Bcachefs je podpora vícestupňového připojení úložišť, kdy se úložiště skládá z několika vrstev — k dolní vrstvě se připojují nejrychlejší úložiště (SSD), která slouží k ukládání často používaných dat do cache, zatímco horní vrstvu tvoří prostornější a levnější disky, které poskytují úložiště pro méně žádaná data. Mezi vrstvami se může používat cache s odloženým zápisem (writeback). Úložiště lze dynamicky přidávat a odpojovat od oddílu, aniž by bylo nutné zastavit používání souborového systému (data se automaticky migrují).

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