Выпуск Stratis 1.0, инструментария для управления локальными хранилищами
Состоялся первый стабильный выпуск проекта Stratis, развиваемого разработчиками Fedora и компании Red Hat с целью унификации и упрощения средств для настройки и управления пулом из одного или нескольких локальных накопителей. Stratis предоставляет такие возможности как динамическое выделение места в хранилище, снапшоты, обеспечение целостности и создание слоев для кэширования. Код проекта написан на языке Rust и распространяется под лицензией MPL 2.0.
Система во многом повторяет по своим возможностям расширенные средства управления разделами ZFS и Btrfs, но делает это на базе существующих штатных технологий и не требует для администрирования квалификации эксперта по системам хранения. Для управления предоставляется D-Bus API и cli-утилита.
Система оформлена в виде прослойки (демон stratisd), работающей поверх подсистемы devicemapper и файловой системы XFS. В отличие от ZFS и Btrfs компоненты Stratis работают только в пространстве пользователя и не требуют загрузки модулей ядра. Применение уже проверенных devicemapper и XFS позволяет ускорить разработку и повысить надежность предоставляемого решения. Работа в виде демона упрощает организацию периодического мониторинга и позволяет легко интегрироваться с различными внешними API, на пример для доступа к хранилищам на базе Ceph, Amazon EBS и Kubernetes CSI.
Работа Stratis протестирована с блочными устройствами на базе LUKS (шифрованные разделы), mdraid, dm-multipath, iSCSI, логическими томами LVM, а также с различными НЖМД, SSD и NVMe-накопителями. При наличии в пуле одного диска Stratis позволяет использовать логические разделы с поддержкой снапшотов для отката изменений. При добавлении нескольких накопителей в пул появляется возможность логического объединения накопителей в непрерывную область. Такие возможности как RAID и организация отказоусточивости пока не поддерживаются.
Выпуск Stratis 1.0 примечателен стабилизацией дискового формата метаданных и интерфейса командной строки. D-Bus API пока не стабилизирован. Stratis 1.0 будет поставляться в составе Fedora 29 и признан готовый для более широкого тестирования и начального внедрения на системах пользователей. Поддерживается работа на системах с ядром Linux 4.14 или более новыми выпусками. Для сборки требуется Rust 1.25+ и Python 3.