Настройка и работа в Linux




Как разделяют пингвинов Часть - часть 7


Выбрав режим, отличный от установленного по умолчанию, необходимо указать его с помощью опции -o. Например:

#mount -o data=journal -t ext3 /dev/hda5 /usr/local

Или в /etc/fstab:

/dev/hda5 /usr/local ext3 data=writeback 1 0 или если режим по-умолчанию, то просто /dev/hda5 /usr/local ext3 data=writeback 1 0

Если же теперь захочется отказаться от него, то, исправив ext3 на ext2, можно забыть о журнале:

/dev/hda5 /usr/local ext2 data=writeback 1 0

Для того чтобы к обычной ext2fs добавить журнал, достаточно выполнить команду

# /sbin/tune2fs -j /dev/hdа5

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

# /sbin/mke2fs -j /dev/hdb5

Начиная с версии 0.9.5, ext3fs может использовать другой диск для хранения файла журнала. Подробности можно узнать по адресу http://www.zipworld.com.au/~akpm/linux/ext3/ext3-usage.html.

Вот и все о данной файловой системе. От себя хочу заметить, что разделы /home, /usr/local, которые часто приходится монтировать к другим Linuxам, у меня отформатированы именно под ext3. Что и говорить, это предсказуемая и, главное, УДОБНАЯ файловая система. Характеристики относительно максимального количества файлов и каталогов, а также максимальных размеров разделов меня полностью устраивают. Но у нее есть один наследственный недостаток, который практически полностью решен в другой ФС.

ReiserFS

Это первая "сторонняя" файловая система, появившаяся в официальном ядре 2.4.4. На первое время ее работа вызывала одни только нарекания, поэтому ее использовали только любители острых ощущений. Данный проект стартовал в 90-х годах, первый прототип носил название TreeFS. Разработана Хансом Райзером (Hans Reiser) и его компанией Namesys (http://www.namesys.com), причем задачи они перед собой поставили очень, я бы сказал, революционные. Разработчики системы мечтают создать не только файловую систему, но вообще механизм иерархического именования объектов. Они считают, что лучшая файловая система та, которая формирует единую общедоступную среду - namespace. Для этого файловая система должна выполнять часть работы, традиционно выполнявшуюся приложениями, что уменьшит количество несовместимых API узкоспециального назначения. При таком подходе пользователи смогут продолжать прямое использование файловой системы без необходимости формировать уровни специального назначения, типа баз данных и т.п. А вообще, зайдите на сайт, благо из всех подобных проектов этот наилучшим образом документирован. Но предупреждаю, документации там много. Базируется она на оптимизированных b*-сбалансированных деревьях (одно на файловую систему), использование которых кроме увеличения производительности снимает ограничение на количество каталогов (хотите 100 тыс. - без проблем!) На данный момент поддерживает журналирование только метаданных, но разработчики обещают в скором времени предусмотреть и режим, аналогичный data=journal в ext3. Преимущества данной ФС в основном проявляются в работе с маленькими файлами. Поясняю. Как я уже говорил, информация на физическом носителе хранится не как попало, а отдельными блоками, размер которых зависит и от размера раздела (это связано с максимально возможной адресацией) в том числе (устанавливается при форматировании), но в большинстве случаев равен 4 Кб. Так вот, еxt2 (ext3 и FAT тоже) могут адресовать только целое количество блоков. Ну и что? Имеем файл 10 Кб, размер блока 4 Кб. Получается, что файл займет 2 целых блока и один только на половину - 4+4+2 (2 осталось незанятыми, это и называется внутренней фрагментацией). Для единичного файла это не страшно, но если их несколько тысяч? По подсчетам, в этих ФС теряется где-то от 6 до 10 процентов. Кстати, Fast File System (FFS), применяемая в BSD, умеет адресовать субблоки, а во всеми любимой FAT придется мириться с неизбежной потерей места. Разработчики ReiserFS решили отказаться от решения вереницы противоречивых задач, сосредоточившись на одной. ReiserFS может запросто упаковывать несколько маленьких файлов в один дисковый блок (tail packing), а совсем маленькие вообще просто запихать в inode (внутрь b*tree). По необходимости для файла может ассигноваться точный размер. Такой режим работы предусмотрен по умолчанию, но для повышения быстродействия есть возможность ее отключить. Хотя показатели ReiserFS при работе с большими файлами довольно высоки, именно работа с маленькими файлами (меньше Кб) и обслуживание большого их количества выделяет данную ФС. По работе с ними она превосходит по быстродействию все представленные файловые системы (видел цифры: в 8-15 раз), именно за счет того, что данные и метаданные хранятся рядом, но с "разреженными" файлами работает все-таки хуже (это, как ожидается, будет исправлено в четвертой версии, ожидаемой 30 июня 2003 года). Плюс, как видите, достигается значительная экономия дискового пространства. Различные источники называют ReiserFS самой устойчивой из всех рассматриваемых ФС; ее, я думаю, можно рекомендовать для корневого раздела, который к тому же состоит из маленьких файлов. Такая себе рабочая лошадка. Но для работы с данной ФС, кроме поддержки ее самим ядром, необходимы также специфические утилиты для работы и обслуживания разделов - они уже входят в стандартную поставку всех современных дистрибутивов, а если нет, то можете взять их по адресу ftp://ftp.namesys.com/pub/reiserfsprogs/reiserfsprogs-3.6.4.tar.gz.




Содержание  Назад  Вперед