ReiserFS


Из Википедии, бесплатной энциклопедии
  (Перенаправлено с Reiserfs )
Перейти к навигации Перейти к поиску

ReiserFS - это журналируемая файловая система общего назначения, изначально разработанная и реализованная командой Namesys во главе с Хансом Райзером . ReiserFS в настоящее время поддерживается в Linux (без поддержки квот) под лицензией GPLv2 . Представленная в версии 2.4.1 ядра Linux , это была первая файловая система с журналированием, включенная в стандартное ядро. ReiserFS была файловой системой по умолчанию в Novell SUSE Linux Enterprise, пока 12 октября 2006 года Novell не решила перейти на ext3 для будущих выпусков. [3]

Namesys рассматривала версию ReiserFS 3.6, которая представила новый дисковый формат, позволяющий файлы большего размера, теперь иногда называемый Reiser3, как стабильный и полнофункциональный, и, за исключением обновлений безопасности и исправлений критических ошибок, прекратил разработку, чтобы сосредоточиться на его преемник, Reiser4 . Namesys вышла из бизнеса в 2008 году после осуждения Райзера за убийство. В настоящее время продукт поддерживается добровольцами как открытый исходный код. [4] Reiserfsprogs 3.6.27 был выпущен 25 июля 2017 года. [5]

Функции

На момент своего появления ReiserFS предлагала функции, которые не были доступны в существующих файловых системах Linux. Одним из примеров является упаковка хвоста - схема уменьшения внутренней фрагментации . Уплотнение хвоста может существенно повлиять на производительность. Reiser4, возможно, улучшил это, упаковав хвосты, где это не сказывается отрицательно на производительности. [6]

Дизайн

ReiserFS сохраняет файл метаданные ( «стат элементы»), каталог записи ( «пункты каталога»), инод списки блоков ( «косвенные пункты»), и хвосты файлов ( «прямые ЗАПИСИ») в одном сочетании B + дереве шпоночных по а универсальный идентификатор объекта. Блоки диска, выделенные узлам дерева, являются «форматированными внутренними блоками». Блоки для конечных узлов (в которых элементы упакованы непрерывно) являются «форматированными конечными блоками». Все остальные блоки представляют собой «неформатированные блоки», содержащие содержимое файла. Элементы каталога со слишком большим количеством записей или косвенные элементы, которые слишком длинные для размещения в узле, переходят в правого соседнего листа. Распределение блоков отслеживается по битовым картам свободного пространства в фиксированных местах.

Напротив, ext2 и другие файловые системы, подобные FFS Беркли того времени, просто использовали фиксированную формулу для вычисления местоположения inode, тем самым ограничивая количество файлов, которые они могут содержать. [7] Большинство таких файловых систем также хранят каталоги в виде простых списков записей, что позволяет выполнять поиск в каталогах и обновлять операции с линейным временем и снижает производительность в очень больших каталогах. Единое дерево B + в ReiserFS позволяет избежать обеих этих проблем благодаря лучшим свойствам масштабируемости.

Представление

По сравнению с ext2 и ext3 в версии ядра Linux 2.4, при работе с файлами размером менее 4  КиБ и с включенной упаковкой хвоста ReiserFS может быть быстрее. [8]

До Linux 2.6.33, [9] ReiserFS интенсивно использовала большую блокировку ядра (BKL) - глобальную блокировку всего ядра - которая плохо масштабируется для систем с несколькими ядрами [10], поскольку критические части кода выполняются только когда-либо. по одному ядру за раз.

использование

ReiserFS была файловой системой по умолчанию в SuSE Linux с версии 6.4 (выпущенной в 2000 году) [11] [12] до перехода на ext3 в SUSE Linux Enterprise 10.2 и openSUSE 11, объявленного в 2006 году. [13] [14]

Джефф Махони из SUSE написал сообщение 14 сентября 2006 г., в котором предлагалось перейти с ReiserFS на ext3 в качестве файловой системы установки по умолчанию. [10] Некоторыми причинами, которые он назвал, были масштабируемость, «проблемы с производительностью с расширенными атрибутами и ACL », «небольшое и сокращающееся сообщество разработчиков» и что « Reiser4 не является инкрементным обновлением и требует переформатирования, что для большинства людей неразумно. " [10] 4 октября он написал ответный комментарий в блоге, чтобы прояснить некоторые проблемы. [15] Он написал, что его предложение о переходе не было связано с тем, что Ханс Райзер предстал перед судом за убийство. [16] [ не удалось проверить] Махони писал, что он «был обеспокоен тем, что люди установят связь там, где ее не было», и что «время полностью случайно, а мотивация не связана». [15]

Критика

Некоторые операции с каталогами (включая unlink (2)) не синхронны в ReiserFS, что может привести к повреждению данных с приложениями, в значительной степени зависящими от файловых блокировок (таких как агенты передачи почты qmail [17] и Postfix [18] ), если компьютер останавливается до того, как будет синхронизирован диск. [19]

Нет программ для дефрагментации файловой системы ReiserFS, хотя были написаны инструменты для автоматического копирования содержимого фрагментированных файлов в надежде, что можно будет найти более непрерывные блоки свободного пространства. Тем не менее, в следующей файловой системе Reiser4 был запланирован инструмент «переупаковщик» для борьбы с фрагментацией файлов. [20] С появлением твердотельных дисков эта проблема стала неактуальной.

fsck

Процесс восстановления дерева fsck ReiserFS вызвал много критики со стороны сообщества * nix: если файловая система настолько сильно повреждена, что ее внутреннее дерево станет непригодным для использования, выполнение операции восстановления дерева может привести к дальнейшему повреждению существующих файлов или появлению новых записей с неожиданным содержимым, [21], но это действие не является частью нормальной работы или нормальной проверки файловой системы и должно быть явно инициировано и подтверждено администратором.

Образы ReiserFS v3 не должны храниться в разделе ReiserFS v3 (например, резервные копии или образы дисков для эмуляторов) без их преобразования (например, путем сжатия или шифрования) во избежание путаницы при перестроении. Переформатирование существующего раздела ReiserFS v3 также может оставить после себя данные, которые могут затруднить операцию восстановления и привести к повторному появлению файлов из старой системы. Это также позволяет злоумышленникам намеренно хранить файлы, которые запутают программу восстановления. Поскольку метаданные всегда находятся в согласованном состоянии после проверки файловой системы, повреждение здесь означает, что содержимое файлов неожиданным образом объединяется с метаданными содержащейся файловой системы. Преемник ReiserFS, Reiser4, решает эту проблему.

Предыдущие выпуски

ReiserFS в версиях ядра Linux до 2.4.16 была сочтена Namesys нестабильной и не рекомендована для производственного использования, особенно в сочетании с NFS . [22]

Ранние реализации ReiserFS (до этого в Linux 2.6.2) также были подвержены рискам неправильной записи. Но текущая реализация журналирования в ReiserFS теперь находится на одном уровне с «упорядоченным» уровнем журналирования ext3 . [ необходима цитата ]

Смотрите также

  • Список файловых систем
  • Сравнение файловых систем

использованная литература

  1. ^ Схема узла Reiser FS , Namesys, заархивировано из оригинала 14.06.2006.
  2. ^ a b c «Спецификации Reiser FS», FAQ , Namesys, заархивировано из оригинала 05.07.2006.
  3. ^ Шенкленд, Стивен (2006-10-16). «Novell меняет программное обеспечение для хранения файлов» . Business Tech . cnet..
  4. ^ Шенкленд, Стивен (16 января 2008). «Namesys исчезает, но проект Reiser продолжает жить» . CNet . Архивировано из оригинального 27 марта 2016 года . Проверено 26 января 2008 .
  5. ^ " " Fossies "- Свежий архив программного обеспечения с открытым исходным кодом" . 25 июля 2017 года . Проверено 25 июля 2019 .
  6. ^ Райзер, Ганс. "Reiser4 выпущен!" . Архивировано из оригинала на 2007-10-24 . Проверено 15 июля 2006 .
  7. ^ Минмин Цао; Теодор Ю. Ц'О ; Бадари Пулаварти; Супарна Бхаттачарья ( 26 июля 2005 г. ). «Современное состояние: где мы находимся с файловой системой Ext3» . 2005 Linux Symposium . Оттава, Канада: Технологический центр IBM Linux . Проверено 8 марта 2007 .
  8. ^ "Руководство по PHP" . php.net . Группа PHP . Проверено 5 декабря 2018 .
  9. ^ "kill-the-BKL" . git.kernel.org .
  10. ^ a b c Джефф Махони (14 сентября 2006 г.). «Предложение: изменение ФС по умолчанию для версий> = 10.2» . gmane.org . Проверено 23 августа 2009 ..
  11. ^ «Архив: SuSE Linux 6.4» . openSUSE wiki . Проверено 28 июня 2017 .
  12. ^ «Руководство администратора SUSE LINUX 9.1: основные файловые системы в Linux» . Novell . Проверено 28 июня 2017 .
  13. ^ Шенкленд, Стивен (16 октября 2006). «Novell меняет программное обеспечение для хранения файлов» . CNET .
  14. Sharma, Mayank (12 октября 2006 г.). «Novell перейдет с ReiserFS на ext3» . Linux.com .
  15. ^ Б комментарий Джефф Махони (2006-10-04). «Отказ от SUSE 10.2 ReiserFS в качестве стандартной [ sic ] FS? (Комментарий 29)» . linux.wordpress.com . Архивировано из оригинала на 2006-11-09 . Проверено 23 августа 2009 .
  16. CBS 5 / AP / BCN (14 сентября 2006 г.). «Полиция Окленда обыскивает дом бывшего пропавшего без вести женщины» . CBS5.com / archive.org . Архивировано из оригинала на 2006-11-06 . Проверено 23 августа 2009 .
  17. ^ Дэниел Роббинс (2001), «Руководство разработчика расширенной файловой системы» . Проверено 5. июль 2006 г.
  18. ^ Маттиас Андре (2001), сообщение LKML о предположениях синхронности Postfix . Дата обращения 15. июль 2006.
  19. ^ НЕОХАПСИС - душевный покой через честность и проницательность
  20. ^ Ханс Рейзер, Reiser4 дизайн, repacker Архивированных 2007-10-24 в Wayback Machine . Проверено 5. июль 2006 г.
  21. ^ Сообщение Theodore Ts'o LKML . Проверено 5. июль 2006 г.
  22. ^ Страница загрузки ReiserFS , см. Предупреждение. Проверено 5. июль 2006 г.

внешние ссылки

  • ReiserFS 3.6 в репозитории Git Линуса Торвальдса - в настоящее время (2019 г.) основной ресурс разработки ReiserFS 3
  • ReiserFS и Reiser4 вики
  • Reiserfsprogs
  • convertfs , утилита, которая выполняет преобразование на месте между любыми двумя файловыми системами с поддержкой разреженных файлов.
  • Ссылка на форум Gentoo - Обсуждение фрагментации ReiserFS, включая скрипт для измерения фрагментации и дефрагментации файлов
  • Утилиты Windows для доступа к ReiserFS: YAReG - Another R (eiser) FStool GUI , rfsd - ReiserDriver .
Источник « https://en.wikipedia.org/w/index.php?title=ReiserFS&oldid=1038188206 »