Файловая система Reiserfs

Файловая система ReiserFS была разработана специально для операционной системы Linux Гансом Райзером и компанией Namesys. Она стала первой журналированной файловой системой, которую приняли в ядро и развивалась тогда, когда про журналирование файловых систем Ext еще не планировалось.

Первая версия ReiserFS вышла в 2001 году, на то время, файловая система была очень интересна и имела множество новых возможностей, но потом ее развитие замедлилось и теперь ее обогнали такие известные файловые системы, как Btrfs и ZFS. В этой статье будет рассмотрена файловая система ReiserFS, мы поговорим о ее особенностях, а также детально разберем как создавать разделы и работать с ней.

 

Особенности файловой системы ReiserFS

Как я уже сказал, первая версия файловой системы ReiserFS вышла в 2001 году и на то время, она была очень перспективной. Это эффективная файловая система, которая очень быстро работает с небольшими файлами и поддерживает журналирование для быстрого восстановления в случае проблем. В основе структуры файловой системы, также как и для ReiserFS лежат деревья. Максимальный размер файла составляет 1 экзабайт, а количество файлов, которые находятся на одном разделе около четырех миллиардов.

Кроме того, файловая система поддерживает быструю перестройку своего дерева и имеет обширные возможности восстановления. Она быстрее файловых систем семейства ext4. И самое главное - это то, что Reiserfs можно использовать в качестве основной файловой системы для корня, также как и ext4. Но ее минус в том, что вы не можете использовать фоновое шифрование.

На этом особенности Reiserfs не завершаются. Она позволяет помещать небольшие файлы и хвосты файлов в один блок, это снижает занимаемое ими место.

На данный момент существуют две стабильные версии файловой системы. Это Reiser3 или как ее еще называют ReiserFS и новая версия Reiser4. В ней было добавлено шифрование, улучшена производительность и многое другое. Она вышла в 2004 году. Но после ареста руководителя, Ганса Рейзера, разработка файловой системы замедлилась, а новая версия до сих пор не включена в состав ядра. Поэтому мы будем рассматривать только возможности Reiser3.

Файловая система Raiserfs

Вы узнали основные особенности файловой системы и можете принять решение нужно ли вам ее использовать. Дальше мы рассмотрим как создавать разделы, изменять их размер и восстанавливать поврежденную Reiserfs на примере дистрибутива Ubuntu.

Для работы с ReiserFS нам понадобится набор утилит Reiserfsprogs. Обычно, этот пакет уже установлен в большинстве дистрибутивов, но если у вас его нет, то вы можете его очень просто установить. Для этого наберите:

sudo apt install reiserfsprogs

После этого можно перейти к работе с файловой системой. Бывает, что система говорит, что утилита установлена, но команд для работы с файловой системой нет. Тогда просто удалите ее и установите заново:

sudo apt purge reiserfsprogs && sudo apt install reiserfsprogs

1. Создание раздела

Reiserfs - это обычная файловая система, без всяких наворотов, вроде встроенных менеджеров разделов и пулов, поэтому создать такую фс на разделе очень просто. Для этого используется утилита mkreiserfs. Рассмотрим ее синтаксис и опции:

$ sudo mkreiserfs опции устройство размер

Опции указывают параметры файловой системы, устройство - раздел жесткого диска, на котором вы собираетесь разместить файловую систему, а размер, это необязательный параметр, который указывает нужно ли заполнять все доступное место на разделе. Рассмотрим основные опции:

  • -b - размер одного блока файловой системы, может быть от 512 до 8192 байт;
  • -h -указать хэш функцию, с помощью которой будут сортироваться файлы и директории r5, rupasov или tea;
  • -u - позволяет задать UUID раздела;
  • -l - метка раздела;
  • -j - файл, в котором будет размещен журнал;
  • -s - размер журнала файловой системы;
  • -B - файл с адресами битых блоков;
  • -d - вывести отладочную информацию.

Но большинство из них вам не понадобится. Вы можете создать раздел и нормально им пользоваться используя опции по умолчанию. Например, создадим файловую систему на разделе /dev/sda20:

sudo mkreiserfs /dev/sda20

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

2. Монтирование ReiserFS

Монтирование файловой системы аналогично другим популярным ФС, таким как Ext4 или XFS. Для этого используется команда mount:

sudo mount /dev/sda20 /mnt/

Все, после этого вы можете пользоваться этим разделом и копировать на него файлы. Некоторыми возможностями файловой системы можно управлять через опции монтирования. Но большинство из них стандартны для всех файловых систем, поэтому мы не будем их рассматривать. Но есть и особенные опции. Как вы помните, файловая система Reiserfs позволяет упаковывать хвосты файлов в один блок, что позволяет экономить пространство. Но это снижает производительность. Чтобы отключить эту возможность используется опция notail:

sudo mount -o notail /dev/sda20 /mnt/

Также вы можете указать эту опцию во время автоматического монтирования с помощью /etc/fstab:

sudo vi /etc/fstab

/dev/sda20 /mnt reiserfs notail 0 0

Эта строчка сообщает системе инициализации, что раздел /dev/sda20 стоит монтировать в папку /mnt с опцией notail.

3. Изменение раздела

Утилита reiserfstune позволяет изменить параметры, которые вы могли задать во время создания файловой системы. Например, можно изменить размер журнала, адрес журнала, UUID, файл битых секторов, а также частоту проверок на ошибки. Синтаксис такой же, как и у mkreiserfs:

$ sudo reiserfstune опции устройство

Опции те же, но только стоит выделить несколько из них:

  • -c - установить интервал в днях между проверками файловой системы на ошибки;
  • -C - установить дату последней проверки;
  • -m - установить максимальное количество монтирований перед проверкой;
  • -M - установить текущее количество монтирований с момента текущей проверки.

Например, скажем, что файловую систему нужно проверять каждый день:

sudo reiserfstune -c 1 /dev/sda20

4. Восстановление Reiserfs

При резком выключения компьютера, файловая система может быть повреждена. Reiserfs имеет различные инструменты для восстановления. Для этого используется утилита reiserfsck. Сначала проверим файловые системы:

sudo reiserfsck --check /dev/sda20

Для подтверждения выполнения проверки необходимо набрать Yes, причем не y, не yes, и именно полностью и с большой буквы. Если вы получаете ошибки чтения корневого блока, нужно перестроить дерево файловой системы, на основе существующих ветвей дерева:

sudo reiserfsck --scan-whole-partition --rebuild-tree /dev/sda20

 

Этот процесс включает сканирование всей файловой системы, поэтому займет много времени. Каждая файловая система имеет суперблок, в котором содержится информация про тип файловой системы, ее размер и основные метаданные. Если этот блок был поврежден, его тоже можно восстановить:

sudo reiserfsck --rebuild-sb /dev/sda20

 

После этого восстановление файловой системы будет завершено и вы можете ее монтировать. Если были повреждены файлы, то вы можете найти их в папке losst_found.

Выводы

В этой статье мы рассмотрели файловую систему ReiserFS. Это была очень перспективная файловая система на момент начала ее разработки, но после ареста создателя разработка очень замедлилась. Такие современные файловые системы, как Btrfs и ZFS уже давно ее обогнали. Надеюсь информация из статьи была полезной для вас. На завершение видео для начинающих, зачем разделать диск на разделы и зачем нужны файловые системы:

https://youtu.be/h8YUNtTpiDk

6 комментариев

  1. Евгений Апрель 27, 2017 Ответить
  2. root_x Июль 1, 2017 Ответить
    • Scorpikor Декабрь 8, 2017 Ответить
  3. Алексей Сентябрь 21, 2017 Ответить

Ответить

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: