Нашри OpenZFS 2.1 бо дастгирии dRAID

Опубликован релиз проекта OpenZFS 2.1, развивающего реализацию файловой системы ZFS для Linux и FreeBSD. Проект получил известность как «ZFS on 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 (Storage Pool Allocator), DMU (Unit Management Data), ZVOL (ZFS Emulated Volume) ва ZPL (ZFS POSIX Layer). Илова бар ин, лоиҳа қобилияти истифодаи ZFS -ро ҳамчун пуштибони системаи файлии кластери Luster таъмин мекунад. Кори лоиҳа ба рамзи аслии ZFS асос ёфтааст, ки аз лоиҳаи OpenSolaris ворид шудааст ва бо такмилҳо ва ислоҳи ҷомеаи Illumos васеъ карда шудааст. Лоиҳа бо иштироки кормандони лабораторияи миллии Ливермор тибқи шартнома бо вазорати энергетикаи ИМА таҳия карда мешавад.

Рамз зери литсензияи ройгони CDDL паҳн карда мешавад, ки бо GPLv2 номувофиқ аст, ки интегратсияи OpenZFS ба шохаи асосии ядрои Linux имкон намедиҳад, зеро омехта кардани код дар зери иҷозатномаҳои GPLv2 ва CDDL қобили қабул нест. Барои бартараф кардани ин номувофиқатии литсензионӣ, қарор дода шуд, ки тамоми маҳсулот таҳти литсензияи CDDL ҳамчун модули алоҳида зеркашӣ карда шавад, ки аз ядро ​​ҷудо карда мешавад. Устувории пойгоҳи коди OpenZFS ҳамчун муқоиса бо дигар FS барои Linux арзёбӣ мешавад.

Тағйироти асосӣ:

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

Манбаъ: opennet.ru

Илова Эзоҳ