Пускане на OpenZFS 2.1 с поддръжка на dRAID

Публикувана е версията на проекта OpenZFS 2.1, разработваща внедряването на файловата система ZFS за Linux и FreeBSD. Проектът стана известен като „ZFS на Linux“ и преди това беше ограничен до разработването на модул за ядрото на Linux, но след преместване на поддръжката, FreeBSD беше признат за основна реализация на OpenZFS и беше освободен от споменаването на Linux в името.

OpenZFS е тестван с Linux ядра от 3.10 до 5.13 и всички клонове на FreeBSD, започвайки от 12.2-RELEASE. Кодът се разпространява под безплатния CDDL лиценз. OpenZFS вече се използва във FreeBSD и е включен в дистрибуциите на Debian, Ubuntu, Gentoo, Sabayon Linux и ALT Linux. Скоро ще бъдат подготвени пакети с новата версия за основните Linux дистрибуции, включително Debian, Ubuntu, Fedora, RHEL/CentOS.

OpenZFS предоставя имплементация на ZFS компоненти, свързани както с файловата система, така и с мениджъра на томове. По-специално са внедрени следните компоненти: SPA (Разпределител на пул за съхранение), DMU (Единица за управление на данни), ZVOL (ZFS емулиран том) и ZPL (ZFS POSIX слой). Освен това проектът предоставя възможност за използване на ZFS като бекенд за клъстерната файлова система Luster. Работата по проекта се основава на оригиналния ZFS код, импортиран от проекта OpenSolaris и разширен с подобрения и поправки от общността на Illumos. Проектът се разработва с участието на служители на Ливърморската национална лаборатория по договор с Министерството на енергетиката на САЩ.

Кодът се разпространява под безплатния лиценз CDDL, който е несъвместим с GPLv2, което не позволява интегриране на OpenZFS в основния клон на ядрото на Linux, тъй като смесването на код под лицензите GPLv2 и CDDL е неприемливо. За да се заобиколи тази лицензионна несъвместимост, беше решено да се разпространява целият продукт под лиценза CDDL като отделен модул за изтегляне, който се доставя отделно от ядрото. Стабилността на кодовата база на OpenZFS се оценява като сравнима с други FS за Linux.

Основни промени:

  • Добавена е поддръжка за технологията dRAID (Distributed Spare RAID), която е вариант на RAIDZ с интегрирана разпределена блокова обработка за горещи резерви. dRAID наследява всички предимства на RAIDZ, но позволява значително увеличаване на скоростта на повторно възстановяване на паметта и възстановяване на излишъка в масива. Виртуалното хранилище dRAID се формира от няколко вътрешни RAIDZ групи, всяка от които съдържа устройства за съхранение на данни и устройства за съхраняване на паритетни блокове. Тези групи са разпределени във всички устройства за оптимално използване на наличната честотна лента на диска. Вместо отделно устройство за горещо възстановяване, dRAID използва концепцията за логическо разпределение на блокове за горещо възстановяване във всички устройства в масива.
    Пускане на OpenZFS 2.1 с поддръжка на dRAID
  • Внедрено е свойството „съвместимост“ („zpool create -o compatibility=off|legacy|file[,file...] pool vdev“), което позволява на администратора да избере набор от възможности, които трябва да бъдат активирани в пула, в ред за създаване на преносими пулове и поддържане на съвместимост между пуловете различни версии на OpenZFS и различни платформи.
  • Възможно е да се запазват статистически данни за работата на пула във формат InfluxDB DBMS, който е оптимизиран за съхраняване, анализиране и манипулиране на данни под формата на времеви серии (отрезки от стойности на параметри на определени интервали). За експортиране във формат InfluxDB се предлага командата „zpool influxdb“.
  • Добавена е поддръжка за горещо добавяне на памет и процесор.
  • Нови команди и опции:
    • “zpool create -u” - забранете автоматичното монтиране.
    • “zpool history -i”—отразява в историята на операциите продължителността на изпълнение на всяка команда.
    • “zpool status” - добавено предупредително съобщение за дискове с неоптимален размер на блока.
    • „zfs send —skip-missing|-s“ — игнорира липсващите моментни снимки при изпращане на поток за репликация.
    • “zfs rename -u” - преименува файловата система без премонтиране.
    • Arcstat добави поддръжка за статистика на L2ARC и добави опциите "-a" (всички) и "-p" (парсируеми).
  • Оптимизации:
    • Подобрена интерактивна I/O производителност.
    • Предварителното извличане е ускорено за натоварвания, свързани с паралелен достъп до данни.
    • Подобрена скалируемост чрез намаляване на конкуренцията за заключване.
    • Времето за импортиране на пула е намалено.
    • Намалена фрагментация на ZIL блокове.
    • Подобрена производителност на рекурсивни операции.
    • Подобрено управление на паметта.
    • Зареждането на модула на ядрото е ускорено.

Източник: opennet.ru

Добавяне на нов коментар