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

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

Источник: opennet.ru

Добавить комментарий