Rhyddhau OpenZFS 2.1 gyda chefnogaeth dRAID

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

Mae OpenZFS wedi'i brofi gyda chnewyllyn Linux o 3.10 i 5.13 a phob cangen FreeBSD gan ddechrau o 12.2-RELEASE. Dosberthir y cod o dan y drwydded CDDL am ddim. Mae OpenZFS eisoes yn cael ei ddefnyddio yn FreeBSD ac mae wedi'i gynnwys yn y dosbarthiadau Debian, Ubuntu, Gentoo, Sabayon Linux ac ALT Linux. Cyn bo hir bydd pecynnau gyda'r fersiwn newydd yn cael eu paratoi ar gyfer dosbarthiadau Linux mawr, gan gynnwys Debian, Ubuntu, Fedora, RHEL / CentOS.

Mae OpenZFS yn darparu gweithrediad o gydrannau ZFS sy'n gysylltiedig Γ’'r system ffeiliau a'r rheolwr cyfaint. Yn benodol, gweithredir y cydrannau canlynol: SPA (Dyrannu Pwll Storio), DMU (Uned Rheoli Data), ZVOL (ZFS Emulated Volume) a ZPL (ZFS POSIX Layer). Yn ogystal, mae'r prosiect yn darparu'r gallu i ddefnyddio ZFS fel backend ar gyfer system ffeiliau clwstwr Luster. Mae gwaith y prosiect yn seiliedig ar y cod ZFS gwreiddiol, a fewnforiwyd o brosiect OpenSolaris a'i ehangu gyda gwelliannau ac atgyweiriadau gan gymuned Illumos. Mae'r prosiect yn cael ei ddatblygu gyda chyfranogiad gweithwyr Labordy Cenedlaethol Livermore o dan gontract gydag Adran Ynni'r UD.

Dosberthir y cod o dan y drwydded CDDL am ddim, sy'n anghydnaws Γ’ GPLv2, nad yw'n caniatΓ‘u integreiddio OpenZFS i brif gangen y cnewyllyn Linux, gan fod cymysgu cod o dan drwyddedau GPLv2 a CDDL yn annerbyniol. Er mwyn osgoi'r anghydnawsedd trwyddedu hwn, penderfynwyd dosbarthu'r cynnyrch cyfan o dan y drwydded CDDL fel modiwl y gellir ei lawrlwytho ar wahΓ’n, a gyflenwir ar wahΓ’n i'r cnewyllyn. Asesir bod sefydlogrwydd sylfaen cod OpenZFS yn debyg i FS eraill ar gyfer Linux.

Newidiadau mawr:

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

Ffynhonnell: opennet.ru

Ychwanegu sylw