Utgivelse av OpenZFS 2.1 med dRAID-stΓΈtte

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

OpenZFS har blitt testet med Linux-kjerner fra 3.10 til 5.13 og alle FreeBSD-grener som starter fra 12.2-RELEASE. Koden distribueres under den gratis CDDL-lisensen. OpenZFS brukes allerede i FreeBSD og er inkludert i Debian, Ubuntu, Gentoo, Sabayon Linux og ALT Linux-distribusjonene. Pakker med den nye versjonen vil snart bli klargjort for store Linux-distribusjoner, inkludert Debian, Ubuntu, Fedora, RHEL/CentOS.

OpenZFS gir en implementering av ZFS-komponenter relatert til bΓ₯de filsystemet og volumbehandleren. Spesielt er fΓΈlgende komponenter implementert: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) og ZPL (ZFS POSIX Layer). I tillegg gir prosjektet muligheten til Γ₯ bruke ZFS som en backend for Luster-klyngefilsystemet. Prosjektets arbeid er basert pΓ₯ den originale ZFS-koden, importert fra OpenSolaris-prosjektet og utvidet med forbedringer og rettelser fra Illumos-fellesskapet. Prosjektet utvikles med deltakelse av ansatte ved Livermore National Laboratory under en kontrakt med US Department of Energy.

Koden distribueres under den gratis CDDL-lisensen, som er inkompatibel med GPLv2, som ikke tillater integrering av OpenZFS i hovedgrenen til Linux-kjernen, siden blanding av kode under GPLv2- og CDDL-lisensene er uakseptabelt. For Γ₯ omgΓ₯ denne lisensieringsinkompatibiliteten, ble det besluttet Γ₯ distribuere hele produktet under CDDL-lisensen som en separat nedlastbar modul, som leveres separat fra kjernen. Stabiliteten til OpenZFS-kodebasen vurderes som sammenlignbar med andre FS for Linux.

Hovedendringer:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ dRAID (Distributed Spare RAID), которая прСдставляСт собой Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ RAIDZ с ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ распрСдСлённой ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Π±Π»ΠΎΠΊΠΎΠ² для горячСго восстановлСния (hot spare). dRAID унаслСдовал всС прСимущСства RAIDZ, Π½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ увСличСния скорости пСрСстроСния Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° (resilvering) ΠΈ восстановлСния избыточности Π² массивС. Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ dRAID формируСтся ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… Π³Ρ€ΡƒΠΏΠΏ RAIDZ, Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ устройства для хранСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ устройства для хранСния Π±Π»ΠΎΠΊΠΎΠ² чётности. Π£ΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ распрСдСлСны ΠΏΠΎ всСм накопитСлям для ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ использования доступной пропускной способности дисков. ВмСсто ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ диска для горячСго восстановлСния Π² dRAID примСняСтся концСпция логичСского распрСдСлСния Π±Π»ΠΎΠΊΠΎΠ² для горячСго восстановлСния ΠΏΠΎ всСм дискам Π² массивС.
    Utgivelse av OpenZFS 2.1 med dRAID-stΓΈtte
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ свойство Β«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).
  • Optimaliseringer:
    • ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°.
    • УскорСна Ρ€Π°Π±ΠΎΡ‚Π° prefetch для Π½Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ, связанных с ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ΠΌ доступом ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ.
    • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ Π·Π° счёт сниТСния ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ.
    • Π‘ΠΎΠΊΡ€Π°Ρ‰Π΅Π½ΠΎ врСмя ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° ΠΏΡƒΠ»Π°.
    • Π‘ΠΎΠΊΡ€Π°Ρ‰Π΅Π½Π° фрагмСнтация ZIL-Π±Π»ΠΎΠΊΠΎΠ².
    • ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ рСкурсивных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.
    • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ.
    • УскорСна Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° модуля ядра.

Kilde: opennet.ru

Legg til en kommentar