Выпуск Stratis 1.0, инструментария для управления локальными хранилищами

После двух лет разработки состоялся первый стабильный выпуск проекта Stratis, развиваемого компанией Red Hat и сообществом Fedora с целью унификации и упрощения средств для настройки и управления пулом из одного или нескольких локальных накопителей. Stratis предоставляет такие возможности как динамическое выделение места в хранилище, снапшоты, обеспечение целостности и создание слоёв для кэширования. Код проекта написан на языке Rust и распространяется под лицензией MPL 2.0.

Система во многом повторяет по своим возможностям расширенные средства управления разделами ZFS и Btrfs, но делает это на базе существующих штатных технологий и не требует для администрирования квалификации эксперта по системам хранения. Для управления предоставляется D-Bus API и cli-утилита.

Система оформлена в виде прослойки (демон stratisd), работающей поверх подсистемы device-mapper и файловой системы XFS. В отличие от ZFS и Btrfs компоненты Stratis работают только в пространстве пользователя и не требуют загрузки модулей ядра. Функциональность Stratis обеспечивается модулями dm-thin, dm-cache, dm-thinpool, dm-raid и dm-integrity, взаимодействие с которым скрывается от пользователя.

Применение уже проверенных device-mapper и XFS позволяет ускорить разработку и повысить надёжность предоставляемого решения. Работа в виде демона упрощает организацию периодического мониторинга и позволяет легко интегрироваться с различными внешними API, например для поддержки хранилищ на базе Ceph, Amazon EBS и Kubernetes CSI.

0_1538469150.png

Работа 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 (на Python написан cli-интерфейс).

©  OpenNet