Paglabas ng OpenZFS 2.1 na may suporta sa dRAID

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Ρ€Π΅Π»ΠΈΠ· ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° OpenZFS 2.1, Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы ZFS для Linux ΠΈ FreeBSD. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΠΈΠ·Π²Π΅ΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΊΠ°ΠΊ Β«ZFS on LinuxΒ» ΠΈ Ρ€Π°Π½Π΅Π΅ ограничивался Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ модуля для ядра Linux, Π½ΠΎ послС пСрСноса ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ FreeBSD Π±Ρ‹Π» ΠΏΡ€ΠΈΠ·Π½Π°Π½ основной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ OpenZFS ΠΈ Π±Ρ‹Π» ΠΈΠ·Π±Π°Π²Π»Π΅Π½ ΠΎΡ‚ упоминания Linux Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ.

Ang OpenZFS ay nasubok sa mga kernel ng Linux mula 3.10 hanggang 5.13 at lahat ng mga sangay ng FreeBSD simula sa 12.2-RELEASE. Ang code ay ipinamahagi sa ilalim ng libreng lisensya ng CDDL. Ang OpenZFS ay ginagamit na sa FreeBSD at kasama sa Debian, Ubuntu, Gentoo, Sabayon Linux at ALT Linux distributions. Ang mga package na may bagong bersyon ay malapit nang maihanda para sa mga pangunahing pamamahagi ng Linux, kabilang ang Debian, Ubuntu, Fedora, RHEL/CentOS.

Nagbibigay ang OpenZFS ng pagpapatupad ng mga bahagi ng ZFS na nauugnay sa parehong file system at volume manager. Sa partikular, ang mga sumusunod na bahagi ay ipinatupad: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) at ZPL (ZFS POSIX Layer). Bukod pa rito, ang proyekto ay nagbibigay ng kakayahang gamitin ang ZFS bilang backend para sa Lustre cluster file system. Ang gawain ng proyekto ay batay sa orihinal na ZFS code, na na-import mula sa proyekto ng OpenSolaris at pinalawak na may mga pagpapabuti at pag-aayos mula sa komunidad ng Illumos. Ang proyekto ay binuo na may partisipasyon ng mga empleyado ng Livermore National Laboratory sa ilalim ng isang kontrata sa US Department of Energy.

Ang code ay ipinamahagi sa ilalim ng libreng lisensya ng CDDL, na hindi tugma sa GPLv2, na hindi pinapayagan ang pagsasama ng OpenZFS sa pangunahing sangay ng kernel ng Linux, dahil ang paghahalo ng code sa ilalim ng mga lisensya ng GPLv2 at CDDL ay hindi katanggap-tanggap. Upang iwasan ang hindi pagkakatugma sa paglilisensya na ito, napagpasyahan na ipamahagi ang buong produkto sa ilalim ng lisensya ng CDDL bilang isang hiwalay na mada-download na module, na ibinibigay nang hiwalay sa kernel. Ang katatagan ng OpenZFS codebase ay tinasa bilang maihahambing sa ibang FS para sa Linux.

Pangunahing pagbabago:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ dRAID (Distributed Spare RAID), которая прСдставляСт собой Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ RAIDZ с ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ распрСдСлённой ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Π±Π»ΠΎΠΊΠΎΠ² для горячСго восстановлСния (hot spare). dRAID унаслСдовал всС прСимущСства RAIDZ, Π½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ увСличСния скорости пСрСстроСния Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° (resilvering) ΠΈ восстановлСния избыточности Π² массивС. Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ dRAID формируСтся ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… Π³Ρ€ΡƒΠΏΠΏ RAIDZ, Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ устройства для хранСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ устройства для хранСния Π±Π»ΠΎΠΊΠΎΠ² чётности. Π£ΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ распрСдСлСны ΠΏΠΎ всСм накопитСлям для ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ использования доступной пропускной способности дисков. ВмСсто ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ диска для горячСго восстановлСния Π² dRAID примСняСтся концСпция логичСского распрСдСлСния Π±Π»ΠΎΠΊΠΎΠ² для горячСго восстановлСния ΠΏΠΎ всСм дискам Π² массивС.
    Paglabas ng OpenZFS 2.1 na may suporta sa dRAID
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ свойство Β«compatibilityΒ» (Β«zpool create -o compatibility=off|legacy|file[,file…] pool vdevΒ»), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π΅ администратору Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€ возмоТностСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ слСдуСт Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΡƒΠ»Π΅, с Ρ†Π΅Π»ΡŒΡŽ создания пСрСносимых ΠΏΡƒΠ»ΠΎΠ² ΠΈ поддСрТания совмСстимости ΠΏΡƒΠ»ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ вСрсиями OpenZFS ΠΈ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ.
  • ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ сохранСния статистики ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΡƒΠ»Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Π‘Π£Π‘Π” InfluxDB, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ для хранСния, Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ манипулирования Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ряда (срСзы Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ). Для экспорта Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ InfluxDB ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«zpool influxdbΒ».
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° горячСго добавлСния памяти ΠΈ CPU.
  • НовыС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ ΠΎΠΏΡ†ΠΈΠΈ:
    • Β«zpool create -uΒ» β€” Π·Π°ΠΏΡ€Π΅Ρ‚ автоматичСского монтирования.
    • Β«zpool history -iΒ» β€” ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² истории ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ выполнСния ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.
    • Β«zpool statusΒ» β€” Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π²Ρ‹Π²ΠΎΠ΄ прСдупрСТдСния ΠΎ дисках с Π½Π΅ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Π±Π»ΠΎΠΊΠ°.
    • Β«zfs send β€”skip-missing|-sΒ» β€” ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΡΠ½Π°ΠΏΡˆΠΎΡ‚ΠΎΠ² Π² процСссС ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠ° для Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ.
    • Β«zfs rename -uΒ» β€” ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Π€Π‘ Π±Π΅Π· пСрСмонтирования.
    • Π’ arcstat Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° статистики L2ARC ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΎΠΏΡ†ΠΈΠΈ Β«-aΒ» (all) ΠΈ Β«-pΒ» (parsable).
  • Mga Pag-optimize:
    • ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°.
    • УскорСна Ρ€Π°Π±ΠΎΡ‚Π° prefetch для Π½Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ, связанных с ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ΠΌ доступом ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ.
    • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ Π·Π° счёт сниТСния ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ.
    • Π‘ΠΎΠΊΡ€Π°Ρ‰Π΅Π½ΠΎ врСмя ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° ΠΏΡƒΠ»Π°.
    • Π‘ΠΎΠΊΡ€Π°Ρ‰Π΅Π½Π° фрагмСнтация ZIL-Π±Π»ΠΎΠΊΠΎΠ².
    • ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ рСкурсивных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.
    • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ.
    • УскорСна Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° модуля ядра.

Pinagmulan: opennet.ru

Magdagdag ng komento