Linux -сборник рецептов

         

Журнальные файловые системы


Старая добрая файловая система Ext2 постепенно дряхлеет. Она уже не поспевает за пользователями, которым нужны терабайты дискового пространства, и не обеспечивает быстрого восстановления в случае сбоев. Для большинства пользователей, у которых объем данных измеряется гигабайтами и менее, важнейшими причинами для перехода на журнальную файловую систему являются быстрое восстановление и целостность данных.

Файловые системы Linux асинхронны. Они не записывают метаданные прямо на диск, а накапливают данные в кэше записи в памяти и осуществляют запись периодически, в моменты низкой загрузки процессора. Такая схема повышает общее быстродействие системы, но сбой питания или системы может привести к потере метаданных. Если это произойдет, при активации драйвера файловой системы во время перезапуска и при выполнении программы fsck (FileSystem Consistency checK) будут обнаружены несоответствия. Поскольку Ext2 хранит несколько экземпляров метаданных, обычно ей удается восстановить нормальное состояние системы.

Но у такого подхода есть недостаток — время восстановления. Fsck проверяет абсолютно все биты метаданных. На это может потребоваться от нескольких минут до получаса и более для больших файловых систем. Журнальным файловым системам столь долгая проверка не нужна, потому что они ведут журналы изменений. Таким образом, проверяются только изменившиеся файлы, а не вся файловая система.

В распоряжении пользователей Linux имеется немало замечательных журнальных файловых систем, в том числе Ext3, ReiserFS, XFS и JFS. Ext3 — журнальная система на базе Ext2. Системы ReiserFS, XFS и JFS способны работать с файловыми системами, объем которых на 64-разрядных платформах измеряется экзабайтами. К сожалению, пользователи ia32 ограничены обычными терабайтами.

Какую файловую систему выбрать? Не существует однозначно лучшего варианта; все они хороши по-своему. Далее приводится краткая сводка основных достоинств и недостатков.

Ext3 — система отличается простотой и удобством. Она прекрасно устанавливается поверх Ext2, поэтому вам не придется строить систему с самого начала.

Система является расширением Ext2, поэтому она использует тот же пакет файловых утилит, e2fsprogs. Принципиальное отличие Ext3 от других файловых систем заключается в том, что она использует фиксированное количество i-узлов, тогда как в других системах узлы создаются динамически. Кроме того, Ext3 поддерживает ведение журналов данных, а не только метаданных. Впрочем, за это приходится расплачиваться более низкой производительностью и дополнительными расходами дискового пространства. Ext3 работает в любой архитектуре, поддерживаемой системой Linux.

Содержание раздела