Vydanie OpenZFS 2.1 s podporou dRAID

Опубликован релиз проекта OpenZFS 2.1, развивающего реализацию файловой системы ZFS для Linux и FreeBSD. Проект получил известность как «ZFS on Linux» и ранее ограничивался разработкой модуля для ядра Linux, но после переноса поддержки FreeBSD был признан основной реализацией OpenZFS и был избавлен от упоминания Linux в названии.

OpenZFS bol testovaný s linuxovými jadrami od 3.10 do 5.13 a všetkými vetvami FreeBSD počnúc od 12.2-RELEASE. Kód je distribuovaný pod bezplatnou licenciou CDDL. OpenZFS sa už používa vo FreeBSD a je súčasťou distribúcií Debian, Ubuntu, Gentoo, Sabayon Linux a ALT Linux. Balíky s novou verziou budú čoskoro pripravené pre hlavné distribúcie Linuxu vrátane Debian, Ubuntu, Fedora, RHEL/CentOS.

OpenZFS poskytuje implementáciu komponentov ZFS súvisiacich so súborovým systémom aj so správcom zväzkov. Konkrétne sú implementované tieto komponenty: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) a ZPL (ZFS POSIX Layer). Okrem toho projekt poskytuje možnosť použiť ZFS ako backend pre klastrový súborový systém Luster. Práca projektu je založená na pôvodnom kóde ZFS, importovanom z projektu OpenSolaris a rozšírenom o vylepšenia a opravy od komunity Illumos. Projekt sa vyvíja za účasti zamestnancov Národného laboratória v Livermore na základe zmluvy s Ministerstvom energetiky USA.

Kód je distribuovaný pod bezplatnou licenciou CDDL, ktorá je nekompatibilná s GPLv2, ktorá neumožňuje integráciu OpenZFS do hlavnej vetvy linuxového jadra, pretože miešanie kódu pod licenciami GPLv2 a CDDL je neprijateľné. Aby sa predišlo tejto licenčnej nekompatibilite, bolo rozhodnuté distribuovať celý produkt pod licenciou CDDL ako samostatne stiahnuteľný modul, ktorý sa dodáva oddelene od jadra. Stabilita kódovej základne OpenZFS je hodnotená ako porovnateľná s inými FS pre Linux.

Hlavné zmeny:

  • Добавлена поддержка технологии dRAID (Distributed Spare RAID), которая представляет собой вариант RAIDZ с интегрированной распределённой обработкой блоков для горячего восстановления (hot spare). dRAID унаследовал все преимущества RAIDZ, но позволил добиться значительного увеличения скорости перестроения хранилища (resilvering) и восстановления избыточности в массиве. Виртуальное хранилище dRAID формируется из нескольких внутренних групп RAIDZ, в каждой из которой присутствуют устройства для хранения данных и устройства для хранения блоков чётности. Указанные группы распределены по всем накопителям для оптимального использования доступной пропускной способности дисков. Вместо отдельного диска для горячего восстановления в dRAID применяется концепция логического распределения блоков для горячего восстановления по всем дискам в массиве.
    Vydanie OpenZFS 2.1 s podporou 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).
  • Optimalizácie:
    • Повышена производительность интерактивного ввода/вывода.
    • Ускорена работа prefetch для нагрузок, связанных с параллельным доступом к данным.
    • Улучшена масштабируемость за счёт снижения конфликта блокировок.
    • Сокращено время импорта пула.
    • Сокращена фрагментация ZIL-блоков.
    • Повышена производительность рекурсивных операций.
    • Улучшено управление памятью.
    • Ускорена загрузка модуля ядра.

Zdroj: opennet.ru

Pridať komentár