146

Доступна файловая система Reiser5

Доступна файловая система Reiser5 Файловая система, Open source

Доступна для тестирования файловая система 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) тома, агрегирующие устройства на разных машинах.

GNU/Linux

840 постов14.4K подписчика

Добавить пост

Правила сообщества

Все дистрибутивы хороши.

Будьте людьми.

Подробнее