Utgivning av OpenZFS 2.3.0, implementeringar av ZFS för Linux och FreeBSD

Efter mer Àn ett Ärs utveckling har version 2.3.0 av OpenZFS publicerats, vilket utvecklar implementeringen av filsystemet ZFS för Linux och FreeBSD. Projektet har blivit kÀnt som "ZFS on Linux" och var tidigare begrÀnsat till utvecklingen av en modul för Linux-kÀrnan, men efter sammanslagningen med koden frÄn FreeBSD har det erkÀnts som den huvudsakliga implementationen av OpenZFS och har bytt namn.

OpenZFS har testats med Linux-kÀrnor frÄn 4.18 till 6.12 och alla versioner av FreeBSD, som börjar med 13.3. Koden distribueras under den fria licensen CDDL. OpenZFS anvÀnds redan i FreeBSD och ingÄr i distributioner som Debian, Ubuntu, Gentoo, NixOS och ALT Linux. Paket med den nya versionen kommer snart att förberedas för de största Linux-distributionerna, inklusive Debian, Ubuntu, Fedora, RHEL/CentOS.

OpenZFS tillhandahÄller en implementation av ZFS-komponenter relaterade bÄde till filsystemets funktion och volymhanterarens funktion. Komponenterna som har implementerats Àr: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) och ZPL (ZFS POSIX Layer). Projektet möjliggör Àven anvÀndning av ZFS som backend för klusterfilsystemet Lustre. Arbetet med OpenZFS baseras pÄ den ursprungliga koden av ZFS som importerats frÄn projektet OpenSolaris och utvidgats med förbÀttringar och rÀttelser frÄn Illumos-gemenskapen. Projektet utvecklas med deltagande av anstÀllda vid Lawrence Livermore National Laboratory under ett kontrakt med USA:s energidepartement.

Koden distribueras under den fria licensen CDDL, som inte Àr kompatibel med GPLv2, vilket gör det omöjligt att integrera OpenZFS i den primÀra grenen av Linux-kÀrnan, eftersom blandning av kod under licenserna GPLv2 och CDDL Àr oacceptabelt. För att kringgÄ licenskonflikten beslöts det att distribuera produkten för Linux helt under CDDL-licensen som en separat nedladdningsmodul, som levereras separat frÄn kÀrnan. Stabiliteten i kodbasen för OpenZFS bedöms vara jÀmförbar med andra filsystem för Linux.

Huvudsakliga förÀndringar:

  • Möjligheten att hĂ€nga till nya diskar i befintliga RAIDZ-arrayer har implementerats för att öka lagringskapaciteten utan att stoppa arbetet och utan behov av att skapa en ny grupp lagringsenheter. Omskrivning av överskott av data med hĂ€nsyn till de nya diskarna sker automatiskt. För att lĂ€gga till en disk till en befintlig grupp kan kommandot "zpool attach POOL raidzP-N NEW_DEVICE" anvĂ€ndas, och för att övervaka slutet av den bakgrundsprocess som expanderar arrayen - "zpool status".
  • Utförandet av operationer relaterade till blockdeduplicering har avsevĂ€rt pĂ„skyndats. Optimeringarna har bland annat berört formatet pĂ„ dedupliceringstabeller, sĂ„ för att aktivera de föreslagna optimeringarna i redan existerande pooler mĂ„ste alternativet "fast_dedup" aktiveras, vilket dĂ€refter kommer att skapa nya dedupliceringstabeller som anvĂ€nds parallellt med de gamla.
  • En direkt in- och utgĂ„ngslĂ€ge (Direct IO) har lagts till, vilket möjliggör lĂ€s- och skrivoperationer utan att anvĂ€nda ARC-cache (Adaptive Replacement Cache). LĂ€ge tillĂ„ter en ökning av effektiviteten i situationer dĂ€r caching kan pĂ„verka prestandan negativt pĂ„ grund av extra kopieringsoperationer i minnet, till exempel vid anvĂ€ndning av NVMe-enheter.
  • MĂ„nga kommandon (zfs list|get|mount|version, zpool status|list|get|version) har fĂ„tt alternativet "-j" för att producera utdata i JSON-format.
  • Den tillĂ„tna storleken pĂ„ filnamn och kataloger har ökat frĂ„n 255 till 1023 tecken (den nya storleken har valts med hĂ€nsyn till lagring av 255 4-byte tecken).
  • Prestandaoptimeringar har genomförts, som omfattar olika delar av kodbasen.
  • Alternativ har lagts till i kĂ€rnmodulen:
    • 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

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster