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

Po více než roce vývoje byl zveřejněn release projektu OpenZFS 2.3.0, který vyvíjí implementaci souborového systému ZFS pro Linux a FreeBSD. Projekt se proslavil jako 'ZFS na Linuxu' a dříve se omezoval na vývoj modulu pro jádro Linuxu, ale po sloučení s kódem z FreeBSD byl uznán za hlavní implementaci OpenZFS a přejmenován.

Práce OpenZFS byla ověřena s jádry Linuxu od 4.18 do 6.12 a se všemi větvemi FreeBSD od verze 13.3. Kód je distribuován pod svobodnou licencí CDDL. OpenZFS je již používán ve FreeBSD a je součástí distribucí Debian, Ubuntu, Gentoo, NixOS a ALT Linux. Balíčky s novou verzí budou brzy připraveny pro hlavní distribuce Linuxu, včetně Debianu, Ubuntu, Fedory, RHEL/CentOS.

OpenZFS poskytuje implementaci komponent ZFS, které se vztahují jak k fungování souborového systému, tak k fungování správce svazků. Byly implementovány komponenty: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) a ZPL (ZFS POSIX Layer). Projekt také umožňuje použití ZFS jako backendu pro clusterový souborový systém Lustre. Práce OpenZFS vycházejí z původního kódu ZFS, importovaného z projektu OpenSolaris a rozšířeného o vylepšení a opravy od komunity Illumos. Projekt se rozví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á je nekompatibilní s GPLv2, což brání integraci OpenZFS do hlavní větve jádra Linuxu, protože míchání kódu pod licencemi GPLv2 a CDDL není přípustné. Aby se vyřešila licenční nekompatibilita, bylo rozhodnuto distribuovat produkt pro Linux výhradně pod licencí CDDL jako samostatně stahovatelný modul dodávaný odděleně od jádra. Stabilita kódové základny OpenZFS je hodnocena jako srovnatelná s jinými FS pro Linux.

Hlavní změny:

  • Byla implementována možnost přidávat za běhu nové disky do stávajícího pole RAIDZ pro zvýšení velikosti úložiště bez zastavení provozu a bez potřeby vytváření nové skupiny úložišť. Přerozdělení redundantních dat s ohledem na nové disky je prováděno automaticky. Pro přidání disku do existující skupiny lze použít příkaz „zpool attach POOL raidzP-N NEW_DEVICE“, a pro sledování ukončení na pozadí procesu rozšíření pole — „zpool status“.
  • Bylo výrazně zrychleno provádění operací souvisejících s deduplikací datových bloků. Optimalizace se mimo jiné dotkly formátu tabulek deduplikace, takže pro aktivaci navrhovaných optimalizací v již existujících pultech je nutné povolit možnost „fast_dedup“, po níž budou vytvořeny nové tabulky deduplikace, které budou používány paralelně se starými tabulkami.
  • Byl přidán režim přímého vstupu/výstupu (Direct IO), který umožňuje provádět operace čtení a zápisu mimo cache ARC (Adaptive Replacement Cache). Tento režim zvyšuje efektivitu práce v situacích, kdy může cache negativně ovlivnit výkon kvůli dodatečným kopírovacím operacím v paměti, například při použití zařízení NVMe.
  • Do většiny příkazů (zfs list|get|mount|version, zpool status|list|get|version) byla přidána možnost „-j“ pro výstup ve formátu JSON.
  • Povolená velikost názvů souborů a adresářů byla zvýšena z 255 na 1023 znaků (nová velikost byla zvolena s ohledem na umístění 255 4-bajtových znaků).
  • Byly provedeny optimalizace výkonu, které pokrývají různé části kódové základny.
  • Do jádrového modulu byly přidány možnosti:
    • dmu_ddt_copies
    • raidz_expand_max_copy_bytes
    • raidz_expand_max_reflow_bytes
    • raidz_io_aggregate_rows
    • spa_cpus_per_allocator
    • spa_num_allocators
    • zap_shrink_enabled
    • zfetch_max_idistance
    • zfs_active_allocator
    • zfs_arc_shrinker_seeks
    • zfs_dedup_log_flush_entries_min
    • .zfs_dedup_log_flush_flow_rate_txgs
    • zfs_dedup_log_flush_min_time_ms
    • zfs_dedup_log_flush_passes_max
    • zfs_dedup_log_mem_max
    • zfs_dedup_log_mem_max_percent
    • zfs_dedup_log_txg_max
    • zfs_dio_enabled
    • zfs_dio_write_verify_events_per_second
    • zfs_resilver_defer_percent
    • zfs_scrub_after_expand
    • zfs_snapshot_no_setuid
    • zfs_vdev_direct_write_verify
    • zio_taskq_write_tpq

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