После полутора лет разработки Запущен проект OpenZFS 2.0 который разрабатывает реализацию файловой системы ZFS для Linux и FreeBSD.
Проект получил название «ZFS на Linux». а ранее это ограничивалось разработкой модуля для ядра Linux, но после передачи поддержки FreeBSD он был признан основной реализацией OpenZFS и было удалено упоминание Linux в названии. Вся деятельность по разработке ZFS для систем Linux и BSD теперь сосредоточена в одном проекте и разрабатывается в общем репозитории.
OpenZFS уже используется в основной ветке разработки FreeBSD (ГЛАВА) и включен в дистрибутивы Debian, Ubuntu, Gentoo, Sabayon Linux и ALT Linux.. Пакеты с новой версией скоро будут готовы для всех основных дистрибутивов Linux, включая Debian, Ubuntu, Fedora, RHEL / CentOS.
В FreeBSD код синхронизирован с базой кода OpenZFS. Текущий. OpenZFS был протестирован с ядрами Linux от 3.10 до 5.9 (ядра, совместимые с последней версией 2.6.32) и ветвями FreeBSD 12.2, stable / 12 и 13.0 (HEAD).
О OpenZFS
OpenZFS обеспечивает реализацию компонентов ZFS относится как к файловой системе, так и к диспетчеру томов. В частности, реализованы следующие компоненты: SPA (Распределитель пула хранения), DMU (Блок управления данными), ZVOL (Эмулированный том ZFS) и ZPL (Уровень ZFS POSIX).
Кроме того, проект oОн предлагает возможность использовать ZFS в качестве серверной части для кластерной файловой системы Lustre. Работа над проектом основана на исходном коде ZFS, импортированном из проекта OpenSolaris и дополненном улучшениями и исправлениями сообщества Illumos. Проект разрабатывается с участием персонала Ливерморской национальной лаборатории по контракту с Министерством энергетики США.
Код распространяется под бесплатной лицензией CDDL, который несовместим с GPLv2, который не позволяет интегрировать OpenZFS в исходное ядро Linux, поскольку не разрешается смешивать код под лицензиями GPLv2 и CDDL. Чтобы устранить эту несовместимость лицензирования, было решено распространять весь продукт по лицензии CDDL как отдельный загружаемый модуль, который поставляется отдельно от ядра. Стабильность кодовой базы OpenZFS считается сопоставимой с другими ФС для Linux.
Основные новые возможности OpenZFS 2.0
Из основных изменений наиболее выделяется одно: поддержка платформы FreeBSD а база кода унифицирована для поддержки различных операционных систем. Все связанные изменения с FreeBSD сейчас разрабатываются в основном репозитории OpenZFS и этот проект считается основной реализацией ZFS для будущих версий FreeBSD.
Кроме того перенос FreeBSD на OpenZFS удалил многие условия гонки и проблемы с блокировкой, а также привнес в FreeBSD новые функции, такие как расширенная система квот, шифрование наборов данных, отдельные классы распределения, использование инструкций векторного процессора для ускорения реализации RAIDZ и вычислений контрольной суммы, поддержка алгоритма сжатия ZSTD, режим нескольких хостов ( MMP, защита от нескольких модификаторов) и улучшенные инструменты командной строки.
Еще одно важное изменение: реализован режим последовательного выполнения команды resilver (последовательный resilver), которая восстанавливает распределение данных с учетом изменений в конфигурации объекта.
Новый способ позволяет намного быстрее восстановить вышедшее из строя зеркало vdev чем традиционное средство восстановления: сначала утраченная избыточность в массиве восстанавливается как можно быстрее, и только затем автоматически запускается операция «очистки» для проверки всех контрольных сумм данных. Новый режим запускается, когда вы добавляете или заменяете диск с помощью «zpool replace | прикрепите "с опцией" -s ".
Было реализовано постоянный кеш второго уровня (L2ARC), в котором данные с устройства, подключенного для кэширования, сохраняются между перезагрузками системы, то есть кеш после запуска остается «горячим», а производительность сразу достигает номинальных значений, минуя начальную фазу заполнения кеша.
Добавлено поддержка алгоритма сжатия zstd (Zstandard), который демонстрирует в 3-5 раз более высокую скорость сжатия по сравнению с zlib / Deflate и вдвое более быструю декомпрессию, при этом улучшая уровень сжатия на 10-15%.
Кроме того обеспечивают различные уровни сжатия, Они предлагают другой баланс между эффективностью сжатия и производительностью.
источник: https://github.com