Релиз OpenZFS 2.4.0, реализации ZFS для Linux и FreeBSD
После 11 месяцев разработки опубликован релиз проекта OpenZFS 2.4.0, развивающего реализацию файловой системы ZFS для Linux и FreeBSD. Проект получил известность как «ZFS on Linux» и ранее ограничивался разработкой модуля для ядра Linux, но после слияния с кодом из FreeBSD был признан основной реализацией OpenZFS и переименован.
Работа OpenZFS проверена с ядрами Linux c 4.18 по 6.18 и всеми ветками FreeBSD, начиная с 13.3. Код распространяется под свободной лицензией CDDL. OpenZFS уже используется во FreeBSD и входит в состав дистрибутивов Debian, Ubuntu, Gentoo, NixOS и 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 в качестве бэкенда для кластерной файловой системы Lustre. Наработки OpenZFS основаны на оригинальном коде ZFS, импортированном из проекта OpenSolaris и расширенном улучшениями и исправлениями от сообщества Illumos. Проект развивается при участии сотрудников Ливерморской национальной лаборатории по контракту с Министерством энергетики США.
Код распространяется под свободной лицензией CDDL, которая несовместима с GPLv2, что не позволяет добиться интеграции OpenZFS в состав основной ветки ядра Linux, так как смешивание кода под лицензиями GPLv2 и CDDL недопустимо. Для обхода лицензионной несовместимости было решено распространять продукт для Linux целиком под лицензией CDDL в виде отдельно загружаемого модуля, поставляемого отдельно от ядра. Стабильность кодовой базы OpenZFS оценивается как сопоставимая с другими ФС для Linux.
Основные изменения:
Реализована возможность задания квот по умолчанию для пользователей, групп и проектов. В прошлых версиях квоты могли устанавливаться только по отдельности для каждого идентификатора пользователя. В новой версии появилась возможность задания значения по умолчанию, которое будет применяться, если для конкретного пользователя квота не была установлена.
Добавлена возможность отката режима прямого ввода/вывода (O_DIRECT, Direct I/O) на использование легковесного механизма некешируемого ввода/вывода (Uncached I/O) для запросов, не выравненных по границе страницы памяти, не поддерживаемых в Direct I/O.
Предложен новый унифицированный алгоритм ограничения скорости операций записи и размещения блоков, сокращающий фрагментацию vdev (Virtual Device) за счёт агрегирования нескольких операций записи и использования для них более крупных непрерывных свободных областей вместо помещения результатов единичных операций записи в мелкие свободные области.
Повышена производительность шифрования за счёт использования инструкций AVX2 в реализации алгоритма AES-GCM. В проведённых тестах ускорение достигает 80%.
Разрешено размещение ZIL-блоков (ZFS Intent Log) не только на нормальных vdev или на отельном устройстве SLOG, но и на специальных vdev. Если нормальный vdev связан с жёстким диском, а специальный vdev c SSD-накопителем, изменение позволяет исключить ситуации, когда данные записываются на SSD, а связанные с ними блоки ZIL на жёсткий диск из-за чего возникают лишние задержки.
Разрешено выставление свойства special_small_blocks для разделов (ZVOL), а не только для файловых систем, что позволяет организовать размещение мелких блоков на отдельном специальном vdev, например, на SSD-накопителе.
Добавлен режим перезаписи «zfs rewrite -P», по возможности оставляющий неизменным логическое время создания, что позволяет отличать блоки, просто перемещённые в пул от блоков, реально изменённых пользователем.
Для команд «zpool trim», «zpool scrub» и «zpool initialize» реализована опция »-a» (--all), позволяющая выполнять эти команды сразу для всех импортированных пулов.
Добавлена команда «zpool scrub -S -E» для выполнения проверки контрольных сумм данных, подпадающих в указанные интервал времени.
Добавлены новые оптимизации процесса дедупликации.
Источник: http://www.opennet.ru/opennews/art.shtml? num=64448
OpenNet прочитано 2237 раз
