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 (Data Management Unit), ZVOL (ZFS Emulated Volume) և ZPL (ZFS POSIX Layer): Բացի այդ, նախագիծը հնարավորություն է տալիս օգտագործել ZFS-ը որպես Luster կլաստերի ֆայլային համակարգի հետին պլան: Ծրագրի աշխատանքը հիմնված է բնօրինակ ZFS կոդի վրա, որը ներմուծվել է OpenSolaris նախագծից և ընդլայնվել է Illumos համայնքի բարելավումներով և ուղղումներով: Նախագիծը մշակվում է Լիվերմորի ազգային լաբորատորիայի աշխատակիցների մասնակցությամբ՝ ԱՄՆ էներգետիկայի նախարարության հետ կնքված պայմանագրով։

Կոդը տարածվում է անվճար CDDL լիցենզիայի ներքո, որն անհամատեղելի է GPLv2-ի հետ, որը թույլ չի տալիս OpenZFS-ի ինտեգրումը Linux միջուկի հիմնական ճյուղին, քանի որ GPLv2 և CDDL լիցենզիաների ներքո կոդ խառնելը անընդունելի է: Այս արտոնագրման անհամատեղելիությունը շրջանցելու համար որոշվեց ամբողջ արտադրանքը տարածել CDDL լիցենզիայի ներքո որպես առանձին ներբեռնվող մոդուլ, որը մատակարարվում է միջուկից առանձին: OpenZFS կոդի բազայի կայունությունը գնահատվում է որպես համեմատելի Linux-ի այլ FS-ների հետ:

Խոշոր փոփոխություններ.

  • Добавлена поддержка технологии 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-блоков.
    • Повышена производительность рекурсивных операций.
    • Улучшено управление памятью.
    • Ускорена загрузка модуля ядра.

Source: opennet.ru

Добавить комментарий