Wersja OpenZFS 2.1 z obsługą dRAID

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

OpenZFS został przetestowany z jądrami Linuksa od 3.10 do 5.13 i wszystkimi gałęziami FreeBSD, począwszy od 12.2-RELEASE. Kod rozpowszechniany jest na bezpłatnej licencji CDDL. OpenZFS jest już używany we FreeBSD i jest zawarty w dystrybucjach Debian, Ubuntu, Gentoo, Sabayon Linux i ALT Linux. Pakiety z nową wersją zostaną wkrótce przygotowane dla głównych dystrybucji Linuksa, w tym Debian, Ubuntu, Fedora, RHEL/CentOS.

OpenZFS zapewnia implementację komponentów ZFS związanych zarówno z systemem plików, jak i menedżerem woluminów. W szczególności zaimplementowane są następujące komponenty: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) i ZPL (ZFS POSIX Layer). Dodatkowo projekt zapewnia możliwość wykorzystania ZFS jako backendu dla klastrowego systemu plików Lustre. Praca projektu opiera się na oryginalnym kodzie ZFS, zaimportowanym z projektu OpenSolaris i rozbudowanym o ulepszenia i poprawki społeczności Illumos. Projekt powstaje przy udziale pracowników Livermore National Laboratory w ramach kontraktu z Departamentem Energii USA.

Kod rozpowszechniany jest na wolnej licencji CDDL, która jest niezgodna z GPLv2, co nie pozwala na integrację OpenZFS z główną gałęzią jądra Linuksa, gdyż mieszanie kodu na licencjach GPLv2 i CDDL jest niedopuszczalne. Aby ominąć tę niezgodność licencyjną, zdecydowano się na dystrybucję całego produktu na licencji CDDL jako moduł do osobnego pobrania, który jest dostarczany oddzielnie od jądra. Stabilność bazy kodu OpenZFS ocenia się jako porównywalną z innymi systemami FS dla systemu Linux.

Główne zmiany:

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

Źródło: opennet.ru

Dodaj komentarz