OpenZFS 2.3.0-udgivelse, ZFS-implementering til Linux og FreeBSD

Efter mere end et års udvikling er udgivelsen af OpenZFS 2.3.0 offentliggjort, som udvikler implementeringen af filsystemet ZFS til Linux og FreeBSD. Projektet har opnået anerkendelse som 'ZFS på Linux' og var tidligere begrænset til udviklingen af et modul til Linux-kernen, men efter sammensmeltningen med koden fra FreeBSD blev det anerkendt som den primære implementering af OpenZFS og omdøbt.

OpenZFS er blevet testet med Linux-kerners versioner fra 4.18 til 6.12 og alle versioner af FreeBSD, begyndende fra 13.3. Koden distribueres under den frie CDDL-licens. OpenZFS anvendes allerede i FreeBSD og er en del af distributionerne Debian, Ubuntu, Gentoo, NixOS og ALT Linux. Pakker med den nye version vil snart blive forberedt til de vigtigste Linux-distributioner, herunder Debian, Ubuntu, Fedora, RHEL/CentOS.

OpenZFS tilbyder implementering af ZFS-komponenter, der relaterer til både filsystemets funktionalitet og volumesystemets drift. Komponenterne SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) og ZPL (ZFS POSIX Layer) er implementeret. Projektet giver også mulighed for at bruge ZFS som backend til det klyngebaserede filsystem Lustre. Udviklingen af OpenZFS er baseret på den originale ZFS-kode, importeret fra OpenSolaris-projektet og udvidet med forbedringer og rettelser fra Illumos-samfundet. Projektet udvikles i samarbejde med ansatte fra Livermore National Laboratory under kontrakt med det amerikanske energiministerium.

Koden distribueres under den frie CDDL-licens, som er inkompatibel med GPLv2, hvilket forhindrer integrationen af OpenZFS i hovedgrenen af Linux-kernen, da blanding af kode under GPLv2- og CDDL-licenser er uacceptabelt. For at omgå licenskompatibiliteten blev det besluttet at distribuere produktet til Linux fuldstændigt under CDDL-licensen som et separat modul, leveret adskilt fra kernen. Stabiliteten af OpenZFS-kodebasen vurderes at være sammenlignelig med andre filsystemer til Linux.

Vigtige ændringer:

  • Funktionen til at tilføje nye diske til et eksisterende RAIDZ-array er blevet implementeret, så størrelsen af lageret kan udvides uden at stoppe driften og uden behov for at oprette en ny gruppe af enheder. Omfordelingen af redundante data med hensyn til de nye diske sker automatisk. For at tilføje en disk til en eksisterende gruppe kan kommandoen „zpool attach POOL raidzP-N NEW_DEVICE“ anvendes, og for at overvåge afslutningen af den baggrundsproces, der udvider arrayet, kan man bruge „zpool status“.
  • Udførelsen af operationer relateret til deduplisering af datablocks er blevet betydeligt hurtigere. Optimeringer omfattede blandt andet formatet for dedupliseringstabeller, så for at aktivere de foreslåede optimeringer i allerede eksisterende puljer skal indstillingen „fast_dedup“ aktiveres, hvorefter nye dedupliseringstabeller vil blive oprettet og anvendt parallelt med de gamle tabeller.
  • Der er tilføjet en direkte ind- og udgangsmodus (Direct IO), som muliggør læse- og skriveoperationer uden om ARC-cachen (Adaptive Replacement Cache). Denne modus øger effektiviteten i situationer, hvor caching kan have en negativ indvirkning på ydeevnen på grund af yderligere kopieringsoperationer i hukommelsen, for eksempel ved brug af NVMe-enheder.
  • Flere kommandoer (zfs list|get|mount|version, zpool status|list|get|version) har fået tilføjet optionen „-j“ til output i JSON-format.
  • Den tilladte størrelse af fil- og katalognavne er blevet øget fra 255 til 1023 tegn (den nye størrelse er valgt med henblik på opbevaring af 255 4-byte tegn).
  • Der er foretaget ydeevneoptimeringer, der dækker forskellige dele af kodebasen.
  • Options er blevet tilføjet til kernemodulet:
    • 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

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster