Первый стабильный выпуск ZFSonLinux, реализации ZFS для ядра Linux
Брайан Белендорф (Brian Behlendorf), получивший известность как создатель http-сервера Apache, представил релиз модуля для ядра Linux с поддержкой ZFS — ZFSonLinux 0.6.1. Несмотря на неприглядный номер версии, выпуск 0.6.1 вобрал в себя результаты разработки и тестирования за последние два года и ознаменовал собой стабилизацию кодовой базы. ZFSonLinux 0.6.1 официально преподносится как первый выпуск проекта, пригодный для широкомасштабного внедрения на широком спектре оборудования, от настольных ПК пользователей до суперкомпьютеров. Проект развивается при участии сотрудников Ливерморской национальной лаборатории по контракту с Министерством энергетики США. Для упрощения установки пакеты подготовлены для большинства дистрибутивов Linux, включая Debian, Ubuntu, Fedora, RHEL/CentOS. Кроме того, модуль ZFSonLinux уже входит в состав дистрибутивов Gentoo и Sabayon Linux. Реализованная в ZFSonLinux версия пула и файловой системы совместима с ZFS из состава Illumos, FreeBSD 9.1 и 8.3. Наработки проекта основаны на оригинальном коде ZFS, импортированном из проекта OpenSolaris и расширенном улучшениями и исправлениями от сообщества Illumos.
В рамках ZFSonLinux подготовлена стабильная и полнофункциональная реализация поддержки компонентов ZFS, связанных как с работой файловой системы, таки с функционированием менеджера томов. В частности, реализованы компоненты: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) и ZPL (ZFS POSIX Layer). Дополнительно проектом обеспечена возможность использования ZFS в качестве бэкенда для кластерной файловой системы Lustre. Поддержка ZFS появится в следующем выпуске Lustre, что позволит снять многие ограничения штатного бэкенда на базе ФС ext3/ext4, например, лимит размера ФС в 8 Тб и отсутствие средств гарантирующих целостность хранимых данных.
Код распространяется под свободной лицензией CDDL, которая несовместима с GPLv2, что не позволяет добиться интеграции ZFSonLinux в состав основной ветки ядра Linux, так как смешивание кода под лицензиями GPLv2 и CDDL недопустимо. Для обхода данной лицензионной несовместимости было решено распространять продукт целиком под лицензией CDDL в виде отдельно загружаемого модуля, который поставляется отдельно от ядра.
Кроме общей стабилизации кодовой базы, версия ZFSonLinux 0.6.1 примечательна реализацией поддержки свойства «snapdev», позволяющего управлять видимостью устройств снапшотов через установку значений 'visible' или 'hidden'. По умолчанию используется значение 'hidden' при котором связанные со снапшотами устройства не создаются в директории /dev/. Кроме того, в новом выпуске обеспечена совместимость с веткой ядра Linux 3.9, по умолчанию включена опция «zfs_arc_memory_throttle_disable», улучшена работа кода сброса дисковых кэшей, добавлены man-страницы для команд splat, fsck.zfs, mount.zfs, zhack, zinject, zpios, ztest и zpool-features.
© OpenNet