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

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

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

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

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

Примечания

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