Состояние развития ZFSonLinux и готовность проекта к повсеместному применению
11 сентября 2014 года
Опубликован обзор текущего состояния разработки проекта ZFSonLinux, в рамках которого развивается реализации файловой системы ZFS, оформленная в виде модуля для ядра Linux. Формально вышедшая в марте прошлого года версия 0.6.1 была объявлена первым стабильным выпуском ZFSonLinux, тем не менее разработчики получают много вопросов о том, готов ли проект для промышленного применения. Ричард Яо (Richard Yao), занимающий второе место среди разработчиков по числу внесённых изменений, подробно обосновал, почему он считает ZFSonLinux полностью стабильным и полнофункциональным продуктом, готовым для повсеместного применения.
Текущий уровень стабильности ZFSonLinux на 64-разрядных системах оценивается как соизмеримый с другими файловыми системами для Linux, а функциональность близка к возможностям других реализаций ZFS, что делает ZFSonLinux полноценным конкурентом таким ФС, как ext4, XFS, JFS и Btrfs.
ZFSonLinux предоставляет надёжную гарантию обеспечения целостности данных и значительно превосходит по средствам сохранения целостности другие ФС для постоянно подключенных накопителей. Например, для защиты от сбоев во время записи и внезапных аппаратных проблем при применении изменений используется двухуровневая система транзакций, гарантирующая нахождение данных в согласованном виде. Для отслеживания повреждений на этапе чтения применяется контроль целостности с использованием 256-разрядных контрольных сумм.
Стабильность кодовой базы ZFSonLinux оценивается как сопоставимая с другими ФС для Linux, что достигается тщательным рецензированием кода, проведением статического анализа и тестирования. Достижению паритета в функциональности с реализациями ZFS для FreeBSD и Illumos способствует проект OpenZFS, в рамках которого разработчики различных реализаций ZFS объединили усилия по развитию ZFS, обмена разработками и обеспечению переносимости. В настоящее время отмечается 18 возможностей ZFS из Illumos, которые пока не перенесены в ZFSonLinux.
Из недоработок упоминаются: необходимость ручного контроля синхронности пользовательского инструментария и кода на стороне ядра, проблемы с размещением в zvol раздела подкачки, проблемы со стабильностью на 32-разрядных системах, недостаточно полная интеграция с загрузчиками, отсутствие средств для автоматизации антивирусной проверки новых данных через ClamAV, отсутствие поддержки iSCSI и Zerocopy NFS через RDMA (Remote Direct Memory Access). В ближайшем выпуске 0.6.4 ожидается поддержка AIO, сжатия метаданных с использованием алгоритма LZ4, расширяемых наборов данных, закладок (ZFS bookmark), встраивания содержимого мелких файлов в dnodes, задания ограничений для снапшотов.
В рамках ZFSonLinux подготовлена реализация компонентов ZFS, связанных как с работой файловой системы, так и с функционированием менеджера томов. В частности, реализованы компоненты: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) и ZPL (ZFS POSIX Layer). Дополнительно проектом обеспечена возможность использования ZFS в качестве бэкенда для кластерной файловой системы Lustre. Наработки проекта основаны на оригинальном коде ZFS, импортированном из проекта OpenSolaris и расширенном улучшениями и исправлениями от сообщества Illumos. Реализованная в ZFSonLinux версия пула и файловой системы совместима с ZFS из состава Illumos и FreeBSD. Проект развивается при участии сотрудников Ливерморской национальной лаборатории по контракту с Министерством энергетики США.
Готовые установочные пакеты подготовлены для основных дистрибутивов Linux, включая Debian, Ubuntu, Fedora, RHEL/CentOS. Кроме того, модуль ZFSonLinux уже входит в состав дистрибутивов Gentoo, Sabayon Linux и AltLinux. Код распространяется под свободной лицензией CDDL, которая несовместима с GPLv2, что не позволяет добиться интеграции ZFSonLinux в состав основной ветки ядра Linux, так как смешивание кода под лицензиями GPLv2 и CDDL недопустимо. Для обхода данной лицензионной несовместимости было решено распространять продукт целиком под лицензией CDDL в виде отдельно загружаемого модуля, который поставляется отдельно от ядра.
Источники[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.