OpenZFS 2.1 izlaišana ar dRAID atbalstu

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

OpenZFS ir pārbaudīts ar Linux kodoliem no 3.10 līdz 5.13 un visiem FreeBSD atzariem, sākot no 12.2-RELEASE. Kods tiek izplatīts saskaņā ar bezmaksas CDDL licenci. OpenZFS jau tiek izmantots FreeBSD un ir iekļauts Debian, Ubuntu, Gentoo, Sabayon Linux un ALT Linux izplatījumos. Paketes ar jauno versiju drīzumā tiks sagatavotas lielākajiem Linux izplatījumiem, tostarp Debian, Ubuntu, Fedora, RHEL/CentOS.

OpenZFS nodrošina ZFS komponentu ieviešanu, kas saistīti gan ar failu sistēmu, gan ar apjoma pārvaldnieku. Jo īpaši tiek ieviesti šādi komponenti: SPA (Storage Pool Allocator), DMU (Datu pārvaldības vienība), ZVOL (ZFS Emulated Volume) un ZPL (ZFS POSIX Layer). Turklāt projekts nodrošina iespēju izmantot ZFS kā Luster klastera failu sistēmas aizmugursistēmu. Projekta darbs ir balstīts uz oriģinālo ZFS kodu, kas importēts no OpenSolaris projekta un paplašināts ar Illumos kopienas uzlabojumiem un labojumiem. Projekts tiek izstrādāts, piedaloties Livermoras Nacionālās laboratorijas darbiniekiem saskaņā ar līgumu ar ASV Enerģētikas departamentu.

Kods tiek izplatīts saskaņā ar bezmaksas CDDL licenci, kas nav saderīga ar GPLv2, kas neļauj integrēt OpenZFS galvenajā Linux kodola atzarā, jo koda sajaukšana saskaņā ar GPLv2 un CDDL licencēm ir nepieņemama. Lai apietu šo licencēšanas nesaderību, tika nolemts izplatīt visu produktu saskaņā ar CDDL licenci kā atsevišķi lejupielādējamu moduli, kas tiek piegādāts atsevišķi no kodola. OpenZFS koda bāzes stabilitāte ir novērtēta kā salīdzināma ar citu FS for Linux.

Galvenās izmaiņas:

  • Добавлена поддержка технологии dRAID (Distributed Spare RAID), которая представляет собой вариант RAIDZ с интегрированной распределённой обработкой блоков для горячего восстановления (hot spare). dRAID унаследовал все преимущества RAIDZ, но позволил добиться значительного увеличения скорости перестроения хранилища (resilvering) и восстановления избыточности в массиве. Виртуальное хранилище dRAID формируется из нескольких внутренних групп RAIDZ, в каждой из которой присутствуют устройства для хранения данных и устройства для хранения блоков чётности. Указанные группы распределены по всем накопителям для оптимального использования доступной пропускной способности дисков. Вместо отдельного диска для горячего восстановления в dRAID применяется концепция логического распределения блоков для горячего восстановления по всем дискам в массиве.
    OpenZFS 2.1 izlaišana ar dRAID atbalstu
  • Реализовано свойство «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).
  • Optimizācijas:
    • Повышена производительность интерактивного ввода/вывода.
    • Ускорена работа prefetch для нагрузок, связанных с параллельным доступом к данным.
    • Улучшена масштабируемость за счёт снижения конфликта блокировок.
    • Сокращено время импорта пула.
    • Сокращена фрагментация ZIL-блоков.
    • Повышена производительность рекурсивных операций.
    • Улучшено управление памятью.
    • Ускорена загрузка модуля ядра.

Avots: opennet.ru

Pievieno komentāru