Kutulutsidwa kwa OpenZFS 2.1 ndi thandizo la dRAID

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

OpenZFS yayesedwa ndi ma kernels a Linux kuyambira 3.10 mpaka 5.13 ndi nthambi zonse za FreeBSD kuyambira 12.2-RELEASE. Khodiyo imagawidwa pansi pa layisensi ya CDDL yaulere. OpenZFS imagwiritsidwa ntchito kale mu FreeBSD ndipo ikuphatikizidwa mu magawo a Debian, Ubuntu, Gentoo, Sabayon Linux ndi ALT Linux. Maphukusi okhala ndi mtundu watsopanowu akonzekera posachedwa kugawa kwakukulu kwa Linux, kuphatikiza Debian, Ubuntu, Fedora, RHEL/CentOS.

OpenZFS imapereka kukhazikitsidwa kwa zigawo za ZFS zokhudzana ndi mafayilo amafayilo komanso woyang'anira voliyumu. Makamaka, zigawo zotsatirazi zikugwiritsidwa ntchito: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) ndi ZPL (ZFS POSIX Layer). Kuphatikiza apo, polojekitiyi imapereka mwayi wogwiritsa ntchito ZFS ngati kumbuyo kwa fayilo ya Luster cluster. Ntchito ya pulojekitiyi idakhazikitsidwa ndi code yoyambirira ya ZFS, yotumizidwa kuchokera ku projekiti ya OpenSolaris ndikukulitsidwa ndi kukonza ndi kukonza kuchokera kugulu la Illumos. Ntchitoyi ikupangidwa ndi ogwira ntchito ku Livermore National Laboratory pansi pa mgwirizano ndi Dipatimenti ya Zamagetsi ku US.

Khodiyo imagawidwa pansi pa chilolezo cha CDDL chaulere, chomwe sichigwirizana ndi GPLv2, chomwe sichilola kuphatikizidwa kwa OpenZFS munthambi yayikulu ya Linux kernel, popeza kusakaniza kachidindo pansi pa GPLv2 ndi CDDL layisensi sikuvomerezeka. Kuti tipewe kusagwirizana kwa chilolezochi, zidaganiza zogawira katundu yense pansi pa layisensi ya CDDL ngati gawo lotsitsa padera, lomwe limaperekedwa mosiyana ndi kernel. Kukhazikika kwa codebase ya OpenZFS kumayesedwa ngati kufanana ndi FS ina ya Linux.

Zosintha zazikulu:

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

Source: opennet.ru

Kuwonjezera ndemanga