Перейти к содержанию

ReiserFS

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
ReiserFS
Разработчик Namesys
Файловая система ReiserFS
Дата представления 2001 (Linux 2.4.1)
Метка тома Apple_UNIX_SVR2 (Apple Partition Map)
0x83 (MBR)
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (GPT)
Структура
Содержимое папок B⁺-дерево
Размещение файлов битовая карта [1]
Ограничения
Максимальный размер файла 1 EiB (8 TiB на 32-битных системах )[2]
Максимум файлов 232-3 (~4 миллиарда) [2]
Максимальная длина имени файла 4032 байт, limited to 255 by Linux VFS
Максимальный размер тома 16 TiB [2]
Допустимые символы в названиях Все байты, кроме NULL и '/'
Возможности
Свойства modification (mtime), metadata change (ctime), access (atime)
Диапазон дат 14 декабря 1901 г. - 18 января 2038 г.
Точность хранения даты 1 секунда
Потоки метаданных Да (названные Extended Attributes)
Права доступа Unix , ACL и произвольные атрибуты безопасности
Фоновая компрессия Нет
Фоновое шифрование Нет
Поддерживается ОС Linux

ReiserFS — журналируемая файловая система, разработанная специально для Linux компанией Namesys под руководством Ханса Райзера; этим наименованием обозначают третью версию семейства файловых систем Райзера (тогда как четвёртую называют Reiser4). Удалена из ядра Linux 6.13 19 января 2025 года[3].

Поддерживается только под Linux. Стала первой журналируемой файловой системой, включённой в ядро Linux (в версии 2.4.1); является основной файловой системой в дистрибутивах Elive, Xandros, Linspire, GoboLinux, Yoper Linux, ранее была основной в SuSE (Enterprise, до октября 2006), Ubuntu, Gentoo, Archlinux, Slackware, также рекомендуется в Calculate Linux[4]. Версии ReiserFS, включённые в ядро Linux старых версий (младше версии 2.4.10), признаны нестабильными компанией Namesys и не рекомендованы для промышленного использования, особенно в связке с NFS.

Для создания структур файловой системы используется команда mkreiserfs.

Система поддерживает конфигурируемое блочное перераспределение — возможность упаковки нескольких небольших файлов в один блок во избежание фрагментации и потери дискового пространства. Из-за сильной потери производительности Namesys рекомендует отключить эту возможность на чувствительных к ресурсам машинах. Также реализовано несколько режимов журналирования (можно подвергать журналированию только метаданные либо все данные — аналогично Ext3). Важной особенностью системы является возможность изменения размера файловой системы «на лету», без размонтирования тома.

Среди недостатков файловой системы — вероятность повреждения файловой системы в целом при сильно повреждённых метаданных и неэффективность единственного известного способа дефрагментации, требующего снятия полного дампа и последующего восстановления (в Reiser4 реализован переупаковщик, решающий эту проблему[5]).

Реализована поддержка параллельно масштабируемых логических томов, позволяющая эффективно распределять данные по логическому тому. Возможности добавить небольшое высокопроизводительное блочное устройство (напр. NVRAM), называемое прокси-диском, к относительно большому логическому тому, скомпонованному из медленных бюджетных дисков. При этом будет создаваться впечатление, что весь том скомпонован из таких же дорогостоящих высокопроизводительных устройств, как и «прокси-диск». В основу реализованного метода легло простое наблюдение, что на практике запись на диск не ведётся постоянно, а кривая нагрузки ввода-вывода имеет форму пиков. В промежутке между такими «пиками» всегда имеется возможность сбросить данные с прокси-диска, переписав в фоновом режиме все данные (или же только часть) в основное, «медленное» хранилище. Таким образом, прокси-диск всегда готов к приёму новой порции данных. Изначально данная техника известная как Burst Buffers[6].

Примечания

  1. http://www.namesys.com/X0reiserfs.html#nodelayout (копия в Internet Archive)
  2. 2,0 2,1 2,2 http://www.namesys.com/faq.html (копия в Internet Archive)
  3. Linux_6.13 - Linux kernel newbies. Дата обращения: 26 января 2025.
  4. Calculate Linux:Разбиение диска. Дата обращения: 2 октября 2010. Архивировано 19 февраля 2011 года.
  5. Пешеходов А. Архитектура и реализация reiser4. Дата обращения: 19 мая 2012. Архивировано 21 сентября 2014 года.
  6. В Reiser5 анонсирована поддержка Burst Buffers (Data Tiering). www.opennet.ru. Дата обращения: 28 мая 2020. Архивировано 3 июня 2020 года.

Ссылки