ReiserFS – это файловая система, разработанная Хансом Рейзером. Она была создана специально для улучшения производительности и надежности обработки файлов, особенно для огромного количества маленьких файлов. Reiserfs использует систему журналирования, что повышает быстродействие и предотвращает потерю данных в случае сбоев системы. Также она поддерживает функции сжатия данных и шифрования. В настоящее время reiserfs не так широко используется, как другие файловые системы, такие как ext3 или ext4.
Поддерживается только под Linux. Стала первой журналируемой файловой системой, включённой в ядро Linux (в версии 2.4.1); является основной файловой системой в дистрибутивах Elive, Xandros, Linspire, GoboLinux, Yoper Linux, ранее была основной в SuSE (Enterprise, до октября 2006), Ubuntu, Gentoo, Archlinux, Slackware, также рекомендуется в Calculate Linux. Версии ReiserFS, включённые в ядро Linux старых версий (младше версии 2.4.10), признаны нестабильными компанией Namesys и не рекомендованы для промышленного использования, особенно в связке с NFS.
Для создания структур файловой системы используется команда mkreiserfs.
Система поддерживает конфигурируемое блочное перераспределение — возможность упаковки нескольких небольших файлов в один блок во избежание фрагментации и потери дискового пространства. Из-за сильной потери производительности Namesys рекомендует отключить эту возможность на чувствительных к ресурсам машинах. Также реализовано несколько режимов журналирования (можно подвергать журналированию только метаданные либо все данные — аналогично Ext3). Важной особенностью системы является возможность изменения размера файловой системы «на лету», без размонтирования тома.
Среди недостатков файловой системы — вероятность повреждения файловой системы в целом при сильно повреждённых метаданных и неэффективность единственного известного способа дефрагментации, требующего снятия полного дампа и последующего восстановления (в Reiser4 реализован переупаковщик, решающий эту проблему).
Реализована поддержка параллельно масштабируемых логических томов, позволяющая эффективно распределять данные по логическому тому. Возможности добавить небольшое высокопроизводительное блочное устройство (напр. NVRAM), называемое прокси-диском, к относительно большому логическому тому, скомпонованному из медленных бюджетных дисков. При этом будет создаваться впечатление, что весь том скомпонован из таких же дорогостоящих и высокопроизводительных устройств, как и «прокси-диск». В основу реализованного метода легло простое наблюдение, что на практике запись на диск не ведётся постоянно, а кривая нагрузки ввода-вывода имеет форму пиков. В промежутке между такими «пиками» всегда имеется возможность сбросить данные с прокси-диска, переписав в фоновом режиме все данные (или же только часть) в основное, «медленное» хранилище. Таким образом, прокси-диск всегда готов к приёму новой порции данных. Изначально данная техника известная как Burst Buffers.
ReiserFS на момент 2022 года поддерживается в ядре Linux без поддержки квот. С начала 2022 идет дискуссия по удалению поддержки системы из ядра из-за недостатка поддержки и таких нерешенных технических проблем, как проблема 2038 года.
Преимущества файловой системы ReiserFS:
1. Высокая производительность на системах с большим количеством маленьких файлов.
2. Эффективное использование дискового пространства благодаря поддержке сжатия файлов.
3. Хорошая защита данных благодаря журналированию, которое позволяет восстановить файловую систему после сбоя.
4. Возможность использования различных методов шифрования для защиты данных.
5. Поддержка различных архитектур процессоров, включая x86, x86-64 и ARM.
Недостатки файловой системы ReiserFS:
1. Необходимость использования специализированных утилит для восстановления данных в случае повреждения файловой системы.
2. Ограниченная поддержка операционных систем, ReiserFS чаще всего используется на дистрибутивах Linux.
3. Проблемы с безопасностью, так как разработчик ReiserFS был признан виновным в убийстве жены и осужден в 2008 году.
4. Недостаточный опыт работы и тестирования на многих аппаратных платформах, поэтому могут возникнуть проблемы совместимости на некоторых устройствах.