После десяти месяцев разработки доступен релиз 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.
Основные изменения:
source1
source2
В рамках 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
Комментариев нет:
Отправить комментарий