Release fan OpenZFS 2.3.0, ZFS-ymplemintaasjes foar Linux en FreeBSD

Nei mear as in jier fan ûntwikkeling is de frijlitting fan it OpenZFS 2.3.0-projekt publisearre, it ûntwikkeljen fan de ymplemintaasje fan it ZFS-bestânsysteem foar Linux en FreeBSD. It projekt waard bekend as "ZFS op Linux" en wie earder beheind ta it ûntwikkeljen fan in module foar de Linux kernel, mar nei gearfoeging mei koade fan FreeBSD waard it erkend as de wichtichste ymplemintaasje fan OpenZFS en omneamd.

OpenZFS is hifke mei Linux-kernels fan 4.18 oant 6.12 en alle FreeBSD-tûken begjinnend fan 13.3. De koade wurdt ferspraat ûnder de fergese CDDL-lisinsje. OpenZFS wurdt al brûkt yn FreeBSD en is opnommen yn 'e Debian, Ubuntu, Gentoo, NixOS en ALT Linux-distribúsjes. Pakketten mei de nije ferzje sille ynkoarten wurde taret foar grutte Linux-distribúsjes, ynklusyf Debian, Ubuntu, Fedora, RHEL/CentOS.

OpenZFS leveret in ymplemintaasje fan ZFS-komponinten yn ferbân mei sawol it bestânsysteem as de folumebehearder. Komponinten ymplementearre: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) en ZPL (ZFS POSIX Layer). It projekt lit ZFS ek brûkt wurde as in backend foar it Luster-klustere bestânsysteem. It wurk fan OpenZFS is basearre op de orizjinele ZFS-koade, ymportearre út it OpenSolaris-projekt en útwreide mei ferbetteringen en reparaasjes fan 'e Illumos-mienskip. It projekt wurdt ûntwikkele mei de dielname fan meiwurkers fan it Livermore National Laboratory ûnder in kontrakt mei it US Department of Energy.

De koade wurdt ferspraat ûnder de fergese CDDL-lisinsje, dy't ynkompatibel is mei GPLv2, dy't gjin yntegraasje fan OpenZFS yn 'e haadtûke fan' e Linux-kernel tastean, om't it mingjen fan koade ûnder de GPLv2- en CDDL-lisinsjes net akseptabel is. Om lisinsje-ynkompatibiliteit te omgean, waard besletten om it hiele produkt foar Linux ûnder de CDDL-lisinsje te fersprieden as in apart laden module, apart levere fan 'e kearn. De stabiliteit fan 'e OpenZFS-koadebase wurdt beoardiele as fergelykber mei oare FS foar Linux.

Grutte feroaringen:

  • De mooglikheid om nije skiven op 'e flecht ta te foegjen oan in besteande RAIDZ-array om de opslachgrutte te fergrutsjen sûnder wurk te stopjen en sûnder de needsaak om in nije rydgroep te meitsjen is ymplementearre. Ferdieling fan oerstallige gegevens mei rekken hâldend mei nije skiven wurdt automatysk útfierd. Foar in foegjen in skiif oan in besteande groep, kinne jo gebrûk meitsje fan de "zpool attach POOL raidzP-N NEW_DEVICE" kommando, en foar in tafersjoch op de foltôging fan de eftergrûn array útwreiding proses, kinne jo brûke "zpool status".
  • De útfiering fan operaasjes yn ferbân mei deduplikaasje fan gegevensblokken is signifikant fersneld. De optimisaasjes hawwe ûnder oaren ynfloed op it formaat fan 'e deduplikaasjetabellen, dus om de foarstelde optimisaasjes yn besteande pools yn te skeakeljen, moatte jo de opsje "fast_dedup" ynskeakelje, wêrnei't nije deduplikaasjetabellen oanmakke wurde, dy't parallel wurde brûkt mei de âlde tafels.
  • Direkte IO-modus tafoege, wêrmei jo lês- en skriuwoperaasjes kinne útfiere troch de ARC-cache (Adaptive Replacement Cache) te omgean. Dizze modus ferbettert prestaasjes yn situaasjes wêr't caching de prestaasjes negatyf kin beynfloedzje troch ekstra ûnthâldkopyoperaasjes, lykas by it brûken fan NVMe-apparaten.
  • De measte kommando's (zfs list|get|mount|ferzje, zpool status|list|get|ferzje) hawwe de opsje "-j" tafoege foar útfier yn JSON-formaat.
  • De tastiene grutte fan triem- en mapnammen is ferhege fan 255 nei 1023 karakters (de nije grutte waard keazen om 255 4-byte tekens te foldwaan).
  • Prestaasjeoptimalisaasjes binne makke oer ferskate dielen fan 'e codebase.
  • Opsjes tafoege oan de kernelmodule:
    • 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

Boarne: opennet.ru

Add a comment