Vydání OpenZFS 2.2, implementace ZFS pro Linux a FreeBSD

Po více než dvou letech vývoje byl zveřejněn release projektu OpenZFS 2.2, který rozvíjí implementaci souborového systému ZFS pro Linux a FreeBSD. Projekt získal popularity jako „ZFS na Linuxu“ a dříve se omezoval na vývoj modulu pro jádro Linuxu, ale po přenesení podpory FreeBSD byl uznán jako hlavní implementace OpenZFS a přejmenován.

Práce OpenZFS byla ověřena s jádry Linux od 3.10 po 6.5 a všemi větvemi FreeBSD, počínaje verzí 12.2-RELEASE. Kód je distribuován pod svobodnou licencí CDDL. OpenZFS se již používá ve FreeBSD a je součástí distribucí Debian, Ubuntu, Gentoo, Sabayon Linux a ALT Linux. Balíčky s novou verzí budou brzy připraveny pro hlavní distribuce Linux, včetně Debian, Ubuntu, Fedora, RHEL/CentOS.

OpenZFS poskytuje implementaci komponentů ZFS, které se týkají jak fungování souborového systému, tak fungování správce svazků. Zejména jsou implementovány komponenty: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) a ZPL (ZFS POSIX Layer). Navíc projekt zajišťuje možnost využití ZFS jako backendu pro clusterový souborový systém Lustre. Vývoj projektu je založen na původním kódu ZFS, importovaném z projektu OpenSolaris a rozšířeném o vylepšení a opravy od komunity Illumos. Projekt se vyvíjí za účasti zaměstnanců Livermorské národní laboratoře na základě smlouvy s Ministerstvem energetiky USA.

Kód je distribuován pod svobodnou licencí CDDL, která není kompatibilní s GPLv2, což znemožňuje integraci OpenZFS do hlavní větve jádra Linux, protože smíšení kódu pod licencemi GPLv2 a CDDL je nepřijatelné. Aby se ob绕l tento licenční konflikt, bylo rozhodnuto distribuovat produkt jako celek pod licencí CDDL ve formě samostatně nahrávaného modulu, který je dodáván odděleně od jádra. Stabilita kódové základny OpenZFS je hodnocena jako srovnatelná s ostatními souborovými systémy pro Linux.

Hlavní změny:

  • Byl přidán mechanismus klonování bloků, který umožňuje vytvořit kopii souboru nebo jeho části bez duplicování dat, použitím v druhé kopii odkazů na již existující bloky dat zdrojového souboru bez jejich skutečného kopírování. V případě změn ve zdrojovém souboru nebo jeho kopii se provádí kopírování bloků a změny se provádějí v vytvořených kopiích (režim copy-on-write na úrovni souborů). Na základě mechanismu klonování byla implementována operace reflink, která může být použita pro automatické vytváření klonů v různých nástrojích pro kopírování, například v nových verzích /bin/cp v Linuxu.
  • Byla přidána podpora technologií používaných pro kontejnmentovou izolaci v Linuxu, jako je systémové volání renameat, FS overlayfs, mapování identit uživatelů při montování a delegování prostorů jmen pro kontejnery.
  • Byla realizována log chyb, které byly zjištěny při provádění operací ověřování kontrolních součtů (scrub). Při provádění příkazu „zpool status“ jsou zobrazeny informace o všech FS, snapshoty a klony, které se týkají poškozeného bloku. Pro pokus o rychlé obnovení známých poškozených bloků lze použít příkaz „zpool scrub -e“.
  • Byla přidána možnost používání kryptografické hashovací funkce BLAKE3 pro kontrolní součty, která se vyznačuje velmi vysokým výkonem výpočtu hashu (tři krát rychleji než Edon-R a výrazně rychleji než sha256 a sha512) při zajištění spolehlivosti na úrovni SHA-3.
  • Byla implementována operace „zfs receive -c“, kterou lze použít k obnovení poškozených dat (ne metadat) ve FS, snímcích a clonech, v případech, kdy je k dispozici replikovaná záloha uložená dříve příkazem „zfs send“.
  • Byla přidána podpora pro programové nastavování a čtení vlastností pro jednotlivé virtuální disky vdev.
  • Byla přidána možnost přiřazení libovolných uživatelských vlastností k vdev a zpool, obdobně jako uživatelské vlastnosti pro zfs dataset.
  • Byla vylepšena implementace adaptivního cache ARC (Adaptive Replacement Cache), což zvyšuje výkon při čtení. ARC se nyní lépe přizpůsobuje vysokým zátěžím a minimalizuje potřebu ruční optimalizace nastavení.
  • Byla přidána podpora mechanismů hardwarové akcelerace výpočtu kontrolních součtů SHA2.
  • Byla přeprogramována a optimalizována implementace kontrolních součtů Edon-R.
  • Při použití algoritmu zstd pro kompresi dat bylo zrychleno určování situací, kdy je komprese bezvýznamná (data nelze komprimovat).
  • Byla provedena vylepšení v mechanismu předběžného načítání (Prefetch), která zrychlují práci při intenzivním vstupu/výstupu.
  • Byly provedeny různé obecné optimalizace, které zvyšují výkon.

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