ReiserFS
ReiserFS — журналируемая файловая система, разработанная специально для Linux компанией Namesys под руководством Ханса Райзера; этим наименованием обозначают третью версию семейства файловых систем Райзера (тогда как четвёртую называют Reiser4).
| 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 ЭиБ (8 ТиБ на 32-битных системах)[2] |
| Максимум файлов | (≈ 4 миллиарда)[2] |
| Максимальная длина имени файла | 4032 байта (255 при использовании Linux VFS) |
| Максимальный размер тома | 16 ТиБ[2] |
| Допустимые символы в названиях |
Все значения байтов кроме 0x00 (NUL) и 0x2F (/) |
| Возможности | |
| Свойства | Дата изменения (mtime), изменения метаданных (ctime) и доступа (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.
С момента ареста и осуждения Ханса Райзера (основного автора) за убийство, техническая поддержка файловой системы снижалась как в ядре, так и со стороны дистрибутивов.
С марта 2022 года файловая система ReiserFS объявлена устаревшей, в Linux 6.6 она полностью помечена как «устаревшая», с планами по её удалению из основной кодовой базы ядра в 2025 году[4].
В 2024 году ведущий разработчик и осужденный убийца Ханс Райзер написал письма с извинениями за свои социальные ошибки и другими комментариями, в числе которых было просьба о ReiserFS в ядре Linux:
«Если будет принято решение удалить [ReiserFS] V3 из ядра, у меня есть только одна просьба: для последнего релиза отредактируйте файл README, добавив в список авторов Михаила Гилулу, Константина Швачко и Анатолия Пинчука, и удалите все, что я мог сказать о причинах, по которым они не были указаны. Пришло время отпустить ситуацию».
В файле README действительно было много негативных высказываний от Райзера в сторону разработчиков, которые по этой его просьбе были удалены[5].
Технические подробности
[править | править код]Для создания структур файловой системы используется команда mkreiserfs.
Система поддерживает конфигурируемое блочное перераспределение — возможность упаковки нескольких небольших файлов в один блок во избежание фрагментации и потери дискового пространства. Из-за сильной потери производительности Namesys рекомендует отключить эту возможность на чувствительных к ресурсам машинах. Также реализовано несколько режимов журналирования (можно подвергать журналированию только метаданные либо все данные — аналогично Ext3). Важной особенностью системы является возможность изменения размера файловой системы «на лету», без размонтирования тома.
Среди недостатков файловой системы — вероятность повреждения файловой системы в целом при сильно повреждённых метаданных и неэффективность единственного известного способа дефрагментации, требующего снятия полного дампа и последующего восстановления (в Reiser4 реализован переупаковщик, решающий эту проблему[6]).
Реализована поддержка параллельно масштабируемых логических томов, позволяющая эффективно распределять данные по логическому тому. Возможности добавить небольшое высокопроизводительное блочное устройство (напр. NVRAM), называемое прокси-диском, к относительно большому логическому тому, скомпонованному из медленных бюджетных дисков. При этом будет создаваться впечатление, что весь том скомпонован из таких же дорогостоящих высокопроизводительных устройств, как и «прокси-диск». В основу реализованного метода легло простое наблюдение, что на практике запись на диск не ведётся постоянно, а кривая нагрузки ввода-вывода имеет форму пиков. В промежутке между такими «пиками» всегда имеется возможность сбросить данные с прокси-диска, переписав в фоновом режиме все данные (или же только часть) в основное, «медленное» хранилище. Таким образом, прокси-диск всегда готов к приёму новой порции данных. Изначально данная техника известная как Burst Buffers[7].
Примечания
[править | править код]- ↑ http://www.namesys.com/X0reiserfs.html#nodelayout (копия в Internet Archive)
- ↑ 1 2 3 http://www.namesys.com/faq.html (копия в Internet Archive)
- ↑ Calculate Linux:Разбиение диска. Дата обращения: 2 октября 2010. Архивировано 19 февраля 2011 года.
- ↑ Linux Patches To Begin Removing ReiserFS From Default Kernel Builds (англ.). www.phoronix.com. Дата обращения: 21 февраля 2026.
- ↑ Linux 6.10 Honors One Last ReiserFS Request Made By Hans Reiser (англ.). www.phoronix.com. Дата обращения: 21 февраля 2026.
- ↑ Пешеходов А. Архитектура и реализация reiser4. Дата обращения: 19 мая 2012. Архивировано 21 сентября 2014 года.
- ↑ В Reiser5 анонсирована поддержка Burst Buffers (Data Tiering). www.opennet.ru. Дата обращения: 28 мая 2020. Архивировано 3 июня 2020 года.
Ссылки
[править | править код]- Сайт производителя (англ.) (копия в Internet Archive)
- www.forensicswiki.org/wiki/Reiserfs
- Дисковая структура ReiserFS 3.6
- Каталог ReiserFS на kernel.org
- Патчи для ядра и последние версии утилит ReiserFS на SourceForge.net
- Сергей Козлов. Летописец файловой системы // Компьютерра. — 2001, 15 февраля. — № 6 (383).
- Тестирование двенадцати файловых систем в Linux. Overclockers (20 апреля 2018).
- https://marc.info/?l=reiserfs-devel&m=159045532620013&w=2 (В Reiser5 анонсирована поддержка Burst Buffers (Data Tiering)(2020-05-26)