Lëshimi i OpenZFS 2.3.0, implementimi i ZFS për Linux dhe FreeBSD

Pas më shumë se një vit zhvillimi, është publikuar versioni i projektit OpenZFS 2.3.0, që zhvillon implementimin e sistemit të skedarëve ZFS për Linux dhe FreeBSD. Projekti fitoi popullaritet si "ZFS në Linux" dhe më parë ishte i kufizuar në zhvillimin e një moduli për bërthamën Linux, por pas bashkimit me kodin nga FreeBSD, u njoh si implementimi kryesor i OpenZFS dhe u riemërua.

Puna e OpenZFS është verifikuar me bërthemat Linux nga 4.18 deri në 6.12 dhe të gjitha degët e FreeBSD, duke filluar nga 13.3. Kodi shpërndahet nën licencën e lirë CDDL. OpenZFS është tashmë në përdorim në FreeBSD dhe është pjesë e shpërndarjeve Debian, Ubuntu, Gentoo, NixOS dhe ALT Linux. Paketat me versionin e ri do të përgatiten së shpejti për shpërndarjet kryesore të Linux, duke përfshirë Debian, Ubuntu, Fedora, RHEL/CentOS.

OpenZFS ofron një implementim të komponentëve ZFS, të lidhur si me funksionimin e sistemit të skedarëve, ashtu edhe me funksionimin e menaxherit të volumit. Janë implementuar komponentët: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) dhe ZPL (ZFS POSIX Layer). Projekti gjithashtu lejon përdorimin e ZFS si backend për sistemin klaster të skedarëve Lustre. Përparimet e OpenZFS bazohen në kodin origjinal ZFS, i importuar nga projekti OpenSolaris dhe i zgjeruar me përmirësime dhe korrigjime nga komuniteti Illumos. Projekti zhvillohet në bashkëpunim me punonjësit e laboratorit kombëtar Livermore, sipas kontratës me Ministrinë e Energjisë të SHBA.

Kodi shpërndahet nën licencën e lirë CDDL, e cila është e papajtueshme me GPLv2, çka nuk lejon integrimin e OpenZFS në degën kryesore të bërthamës Linux, pasi përzierja e kodit nën licencat GPLv2 dhe CDDL është e papranueshme. Për të kapërcyer papajtueshmërinë e licencave, u vendos që produkti për Linux të shpërndahet krejtësisht nën licencën CDDL si një modul i shkarkueshëm veçmas nga bërthama. Stabiliteti i bazës së kodit OpenZFS vlerësohet si i krahasueshëm me sistemet e tjera të skedarëve për Linux.

Ndryshimet kryesore:

  • ËshtĂ« realizuar mundĂ«sia e shtimit nĂ« fluks tĂ« disqeve tĂ« rinj nĂ« njĂ« grup ekzistues RAIDZ pĂ«r tĂ« rritur madhĂ«sinĂ« e ruajtjes pa ndaluar punĂ«n dhe pa pasur nevojĂ« pĂ«r krijimin e njĂ« grupi tĂ« ri ruajtĂ«sish. Rredistribuimi i tĂ« dhĂ«nave tĂ« tepĂ«rta duke marrĂ« parasysh disqet e rinj kryhet automatikisht. PĂ«r tĂ« shtuar njĂ« disk nĂ« grupin ekzistues, mund tĂ« pĂ«rdoret urdhri "zpool attach POOL raidzP-N NEW_DEVICE", dhe pĂ«r tĂ« ndjekur pĂ«rfundimin e procesit tĂ« fondeve tĂ« zgjerimit tĂ« grupit - "zpool status".
  • PĂ«rshpejtuar ndjeshĂ«m realizimi i operacioneve tĂ« lidhura me deduplication e blloqeve tĂ« tĂ« dhĂ«nave. Optimizimet pĂ«rfshinĂ«, ndĂ«r tĂ« tjera, formatin e tabelave tĂ« deduplication, prandaj pĂ«r tĂ« aktivizuar optimizimet e propozuara nĂ« bazen ekzistuese, duhet tĂ« aktivizohet opsioni "fast_dedup", pas sĂ« cilĂ«s do tĂ« krijohen tabela tĂ« reja deduplication, tĂ« cilat do tĂ« pĂ«rdoren paralelisht me tabelat e vjetra.
  • Shtuar njĂ« modalitet tĂ« hyrjes/jeshjes direkte (Direct IO), i cili lejon kryerjen e operacioneve tĂ« leximit dhe shkruajtjes duke anashkaluar cache ARC (Adaptive Replacement Cache). Ky modalitet rrit efikasitetin e punĂ«s nĂ« situata kur keq-shkallĂ«zimi mund tĂ« ndikojĂ« negativisht nĂ« performancĂ«n pĂ«r shkak tĂ« operacioneve shtesĂ« tĂ« kopjimit nĂ« memorie, pĂ«r shembull, kur pĂ«rdoren pajisje NVMe.
  • NĂ« shumicĂ«n e komandave (zfs list|get|mount|version, zpool status|list|get|version) Ă«shtĂ« shtuar opsioni "-j" pĂ«r daljen nĂ« formatin JSON.
  • MadhĂ«sia e lejueshme e emrave tĂ« skedarĂ«ve dhe katalogĂ«ve Ă«shtĂ« rritur nga 255 nĂ« 1023 karaktere (madhĂ«sia e re Ă«shtĂ« zgjedhur duke llogaritur vendosjen e 255 karaktereve 4-byte).
  • JanĂ« bĂ«rĂ« optimizime tĂ« performancĂ«s qĂ« pĂ«rfshijnĂ« pjesĂ« tĂ« ndryshme tĂ« kodit.
  • Shtuar opsione nĂ« modul tĂ« bĂ«rthamĂ«s:
    • 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

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster