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

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

0_1538469150.png

В новом выпуске повышены требования к версии компилятора Rust (как минимум 1.37, но рекомендуется 1.38). Значительное изменение номера версии связано с переименованием некоторых интерфейсов D-Bus и переработкой организации работы с D-Bus (выделен набор первичных фундаментальных свойств, а остальные свойства теперь запрашиваются при помощи нового метода FetchProperties).

Источник: http://www.opennet.ru/opennews/art.shtml? num=51828

© OpenNet