Новый выпуск ZFSonLinux 0.6.3, реализации ZFS для ядра Linux

После десяти месяцев разработки увидел свет релиз ZFSonLinux 0.6.3, реализации файловой системы ZFS, оформленной в виде модуля для ядра Linux. Наработки проекта основаны на оригинальном коде ZFS, импортированном из проекта OpenSolaris и расширенном улучшениями и исправлениями от сообщества Illumos. Реализованная в ZFSonLinux версия пула и файловой системы совместима с ZFS из состава Illumos и FreeBSD. Проект развивается при участии сотрудников Ливерморской национальной лаборатории по контракту с Министерством энергетики США. В рамках ZFSonLinux подготовлена стабильная и полнофункциональная реализация поддержки компонентов ZFS, связанных как с работой файловой системы, так и с функционированием менеджера томов. В частности, реализованы компоненты: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) и ZPL (ZFS POSIX Layer). Дополнительно проектом обеспечена возможность использования ZFS в качестве бэкенда для кластерной файловой системы Lustre.

Готовые установочные пакеты подготовлены для основных дистрибутивов Linux, включая Debian, Ubuntu, Fedora, RHEL/CentOS. Кроме того, модуль ZFSonLinux уже входит в состав дистрибутивов Gentoo, Sabayon Linux и AltLinux. Код распространяется под свободной лицензией CDDL, которая несовместима с GPLv2, что не позволяет добиться интеграции ZFSonLinux в состав основной ветки ядра Linux, так как смешивание кода под лицензиями GPLv2 и CDDL недопустимо. Для обхода данной лицензионной несовместимости было решено распространять продукт целиком под лицензией CDDL в виде отдельно загружаемого модуля, который поставляется отдельно от ядра.

Основные изменения:

Совместимость со свежими выпусками ядра Linux, вплоть до 3.14; Более плавное регулирование интенсивности операций записи для достижения устойчивой производительности под нагрузкой; Повышена эффективность кэширования, что позволило добиться увеличения числа попаданий в кэш для некоторых видов нагрузки; Поддержка ACL в стиле POSIX; Поддержка атрибутов файлов «неизменяемый» и «только для добавления»; Поддержка монтирования файловых систем с обновлениями типа relatime (время доступа обновляется только если оно раньше, чем время модификации); Интеграция с SELinux; Поддержка Systemd и улучшенная интеграция с дистрибутивами на его основе; Новый демон ZED (ZFS Event Daemon) для мониторинга и управления пулом; Поддержка архитектур aarch64 и sparc64; Многочисленные оптимизации производительности; Устранено более 200 ошибок.

© OpenNet