Страницы

2015-04-09

ZFSonLinux 0.6.4, - ZFS для Linux

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

В рамках 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. Проект развивается при участии сотрудников Ливерморской национальной лаборатории по контракту с Министерством энергетики США.

Код распространяется под свободной лицензией CDDL, которая несовместима с GPLv2, что не позволяет добиться интеграции ZFSonLinux в состав основной ветки ядра Linux, так как смешивание кода под лицензиями GPLv2 и CDDL недопустимо. Для обхода данной лицензионной несовместимости было решено распространять продукт целиком под лицензией CDDL в виде отдельно загружаемого модуля, который поставляется отдельно от ядра. Стабильность кодовой базы ZFSonLinux оценивается как сопоставимая с другими ФС для Linux.

Основные изменения:
  • Обеспечение совместимости с ядром Linux 4.0; 
  • Поддержка асинхронного ввода/вывода (AIO); 
  • Режим сжатия метаданных с использованием алгоритма LZ4; 
  • Реализация шести новых флагов подключаемой функциональности (feature flags): 
    • spacemap_histogram - позволяет хранить дополнительную информацию о размещении свободного пространства в пуле;
    • extensible_dataset - даёт возможность более гибко использовать внутренние структуры данных;
    • bookmarks - реализует возможности для пометки момента времени создания снапшота, необходимые для работы команды "zfs bookmark";
    • enabled_txg - включает запись групповых номеров транзакций;
    • hole_birth - увеличивает производительность операций инкрементальной отправки данных ("zfs send -i") и получения объектов, содержащих большое число пустых областей;
    • embedded_data - увеличивает производительность и экономит дисковое пространство при работе с хорошо сжимаемыми блоками, которые поддаются упаковке как минимум в 112 байт (содержимое встраивается в dnodes).  
  • Возможность использования вызова fallocate() FALLOC_FL_PUNCH_HOLE для предварительного выделения места под пустые области в файлах;
  •     Отображения дополнительных данных об уровне фрагментации в выводе 'zpool list';
  •     Новое свойство "redundant_metadata", позволяющее управлять уровнем резервирования метаданных;
  •     Новое свойство "overlay" для управления поведением для непустых точек монтирования;
  •     В выводе 'zpool list -v' обеспечен показ ёмкости отдельных дисков;
  •     Новый режим вывода 'zpool get -H', удобный для разбора скриптами;
  •     Добавлена команда 'zpool create -t' для создания пула с временным именем;
  •     Из FreeNAS импортирован скрипт arc_summary.py, осуществляющий вывод сводной статистики;
  •     Поддержка контрольных точек для DTrace (DTRACE_PROBES);
  •     В zdb добавлено отображение гистограмм сжатых блоков. 


source1
source2

Комментариев нет:

Отправить комментарий