Доступна для тестирования файловая система Reiser5 с поддержкой логических томов на локальной машине. Основное новшество - это параллельное масштабирование (scaling out), которое осуществляется не на блочном уровне, а средствами файловой системы.
Как преимущество данного подхода заявлено отсутствие недостатков, присущих связкам FS+RAID/LVM и непараллельным ФС (ZFS, Btrfs), таких как проблема свободного места, проседание производительности при заполнении тома свыше 70%, устаревшие алгоритмы компоновки логических томов (RAID/LVM), не позволяющие эффективно распределять данные по логическому тому. В параллельной ФС перед добавлением устройства в логический том, его необходимо отформатировать при помощи стандартной утилиты mkfs.
В Reiser5 используется O(1)-аллокатор свободных блоков. Максимальная стоимость любой операции по поиску свободного блока не зависит от размера логического тома. Возможно просто и эффективно скомпоновать логический том из блочных устройств, разных по размеру и пропускающей способности. Распределение данных по таким устройствам происходит при помощи новых алгоритмов (т.н. "фибер-страйпинг"), предложенных российским математиком и программистом Эдуардом Шишкиным.
Порция запросов ввода-вывода, направленных на каждое устройство равна его относительной ёмкости, назначаемой пользователем, так что логический том заполняется данными "равномерно" и "справедливо". При этом меньшие по ёмкости блочные устройства получают меньше блоков для хранения, а устройства с меньшей пропускной способностью не становятся "бутылочным горлышком" (как это происходит, к примеру, в RAID-массивах).
Добавление устройства в том и удаление устройства из тома сопровождается перебалансировкой, сохраняющей "справедливость" распределения. При этом порция мигрируемых данных также равна отностительной ёмкости добавляемого(удаляемого) устройства. Скорость миграции нефрагментированных данных близка к скорости записи на диск. Возможно параллельное обслуживание всех блочных устройств, входящих в логический том, с применением индивидуального подхода к каждому из них (дефрагментация для НЖМД, издание Discard-запросов для SSD, и т.п.). Мониторинг свободного места на логическом томе производится при помощи стандартной утилиты df(1). Помимо этого пользователю предоставляется возможность отслеживать свободное место на каждом устройстве-компоненте логического тома.
Все операции с логическими томами (добавление, удаление устройств и т.п.) атомарны и реализованы при помощи штатных средств работы с транзакциями в Reiser4. Правильное "развёртывание" тома после прерваной такой операции регламентировано инструкциями. На данный момент в Reiser5 пока нет средств управления off-line (отмонтированными) томами, поэтому пользователям предлагается пока самостоятельно хранить и обновлять конфигурации их логических томов. Такую конфигурацию легко приготовить для примонтированного тома при помощи утилиты работы с логическими томами, входящей в состав пакета reiser4progs.
Из планируемого:
- Распределение метаданных по нескольким подтомам;
- Проверка/восстановление логических томов утилитой fsck (путём модернизации старой её версии);
- Пользовательское управление распределением и прозрачной миграцией данных, имеющее большое значение для HPC-приложений (Burst Buffers);
- Контрольные суммы данных и метаданных;
- 3D-снимки (snapshots) логических томов с возможностью отката не только регулярных файловых операций, но и операций над томами (таких как добавление и удаление устройств);
- Глобальные (networking) тома, агрегирующие устройства на разных машинах.