Опубликован выпуск проекта Stratis 3.3, развиваемого компанией Red Hat и сообществом Fedora для унификации и упрощения средств настройки и управления пулом из одного или нескольких локальных накопителей. Stratis предоставляет такие возможности, как динамическое выделение места в хранилище, снапшоты, обеспечение целостности и создание слоёв для кэширования. Поддержка Stratis интегрирована в дистрибутивы Fedora и RHEL начиная с выпусков Fedora 28 и RHEL 8.2. Код проекта распространяется под лицензией MPL 2.0.
Система во многом повторяет по своим возможностям расширенные средства управления разделами ZFS и Btrfs, но реализована в виде прослойки (демон stratisd), работающей поверх подсистемы device-mapper ядра Linux (используются модули dm-thin, dm-cache, dm-thinpool, dm-raid и dm-integrity) и файловой системы XFS. В отличие от ZFS и Btrfs, компоненты Stratis работают только в пространстве пользователя и не требуют загрузки специфичных модулей ядра. Проект изначально преподносится как не требующий для администрирования квалификации эксперта по системам хранения.
Для управления предоставляется D-Bus API и cli-утилита.
Работа Stratis протестирована с блочными устройствами на базе LUKS (шифрованные разделы), mdraid, dm-multipath, iSCSI, логическими томами LVM, а также с различными НЖМД, SSD и NVMe-накопителями. При наличии в пуле одного диска Stratis позволяет использовать логические разделы с поддержкой снапшотов для отката изменений. При добавлении нескольких накопителей в пул появляется возможность логического объединения накопителей в непрерывную область. Такие возможности, как
RAID, сжатие данных, дедупликация и организация отказоустойчивости пока не поддерживаются, но запланированы на будущее.
![](https://www.opennet.ru/opennews/pics_base/0_1538469150.png)
- Добавлена поддержка расширения размера физических устройств, позволяющая добавить в пул Stratis дополнительное дисковое пространство, ставшее доступным на устройстве хранения (например, при расширении RAID-массива).
- Добавлена команда “stratis pool extend-data” для добавления в определённый пул хранения дополнительного дискового пространства, появившегося на одном из устройств. Для отслеживания изменения размера устройств в вывод команды “stratis pool list” добавлено специальное предупреждение, а в команду “stratis blockdev list” добавлены сведения о различиях в размерах пула и устройства.
- Улучшено распределение места для метаданных, связанных с устройствами хранения и динамическим выделение места в хранилище (“thin provisioning”). Изменение позволило сократить фрагментацию при хранении метаданных.
- Переработана проверка исполняемых файлов фреймворка Clevis, применяемого для автоматического шифрования и расшифровки данных в дисковых разделах. Проверка теперь выполняется каждый раз, когда при выполнении команды пользователя требуется обращение к Clevis (ранее проверка осуществлялась только один раз, при запуске Stratis), что решает проблемы с использованием Clevis, установленным после запуска stratisd.