1. Сравнение нескольких файловых систем

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

Если вы не специалист, то выбор файловой системы не совсем понятен. Мы вкратце рассмотрим несколько современных файловых систем, доступных в Mandriva Linux.

1.1. Различные используемые файловые системы

1.1.1. Ext2

Second Extended Filesystem (сокращенно звучит как ext2FS или просто ext2) много лет была файловой системой GNU/Linux по умолчанию. Она заменила Extended File System (вот откуда в названии появилось «Second»). ext2 устраняет определенные проблемы и ограничения своего предка.

ext2 соблюдает обычные стандарты для файловых систем UNIX®-типа. С самого начала она была предназначена для дальнейшего развития, сохраняя при этом высокую отказоустойчивость и хорошую производительность.

[Замечание]Замечание

Предупреждение: перед изменением размера раздела, он должен быть размонтирован.

1.1.2. Ext3

Как видно из названия, Third Extended File System является наследником ext2. Она совместима с последней, но была улучшена за счет добавления журналирования

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

Журналирование отвечает за решение этой проблемы. Для упрощения давайте будем говорить, что мы записываем действия (например, сохранение файла) до того, как они происходят на самом деле. Мы могли бы сравнить такой образ действий с тем, что ведет капитан корабля, который использует бортовой журнал для записи ежедневных событий. В результате мы получаем всегда согласованную файловую систему. А если возникают проблемы, проверка и окончательное восстановление выполняются очень быстро. Следовательно, время, потраченное на проверку файловой системы, пропорционально ее фактическому использованию и не связано с ее размером.

Таким образом, ext3 предлагает технологию журналирируемой файловой системы с сохранением структуры ext2, обеспечивая при этом отличную совместимость. Это значительно упрощает переход с ext2 на ext3 и обратно.

[Замечание]Замечание

Как и для ext2, перед изменением размера такого раздела, он должен быть размонтирован.

1.1.3. ReiserFS

В отличие от ext3 reiserfs была написана с нуля. Это журналируемая файловая система наподобие ext3, но её внутренняя структура радикально отличается, т.к. в ней используются идеи двоичного дерева, навеянные программным обеспечением для баз данных, а также применяется переменный размер блока, что делает её оптимальной для работы с несколькими (тысячами или сотнями тысяч) небольших файлов. Она также хорошо ведёт себя при работе с большими файлами, что позволяет использовать её для разнообразных целей.

[Замечание]Замечание

Размер такого раздела может быть изменен «на лету», без размонтирования файловой системы.

1.1.4. JFS

JFS - это журналируемая файловая система, разработанная и используемая в IBM. Изначально она была собственнической и закрытой, но потом корпорация IBM решила открыть к ней доступ движению за свободное программное обеспечение. Ее внутренняя структура близка к структуре reiserfs.

[Внимание]Внимание

В GNU/Linux размер такого раздела не может быть изменен.

1.1.5. XFS

XFS - это журналируемая файловая система, разработанная в SGI, и также используемая в операционной системе Irix. Изначально она была собственнической и закрытой, но потом в SGI также решили открыть к ней доступ для движения за свободное программное обеспечение. Ее внутренняя структура имеет много разнообразных возможностей, таких как поддержка пропускной способности реального времени, экстенты (непрерывные области с прямым доступом, резервируемые для определенного набора данных) и кластерные файловые системы (но не в свободной версии).

[Внимание]Внимание

В GNU/Linux размер такого раздела может быть изменен только в сторону увеличения. Вы не можете уменьшить его. Изменение размера может быть выполнено только для примонтированной файловой системы.

1.2. Различия между файловыми системами

Таблица 4.1. Характеристики файловой системы

 Ext2Ext3ReiserFSJFSXFS
СтабильностьОтличнаяОчень хорошееХорошаяСреднееХорошая
Утилиты для восстановления удаленных файловЕсть (комплекс)Есть (комплекс)НетНетНет
Скорость перезагрузки после падения системыДолго, даже очень долгоБыстроОчень быстроОчень быстроОчень быстро
Состояние данных в случае падения системыВообще говоря, хорошее, но высок риск частичной или полной потери данныхОчень хорошееСреднее[a] Очень хорошееОчень хорошее
Поддержка ACLДаДаНетНетДа

[a] Имеется возможность улучшить результаты восстановления после падения путем журналирования данных, а не только метаданных, посредством добавления опции data=journal в /etc/fstab.

Максимальный размер файла зависит от многих параметров (т.е. размер блока для ext2/ext3), а также возможно дальнейшее развитие, в зависимости версии ядра и архитектуры.

В ядре 2.6.X этот предел блочного устройства может быть увеличен при использовании ядра, скомпилированного с включенной поддержкой Large Block Device (CONFIG_LBD=y). За дополнительной информацией обращайтесь к сайтам Adding Support for Arbitrary File Sizes to the Single UNIX Specification, Large File Support in Linux и Large Block Devices. С помощью этой функции и поддерживающей ее файловой системы вы можете достичь ёмкости в многие ТБ без специальных без специальных «примочек» файловой системы, как это сделано в JFS для размера файловой системы.

1.3. А как насчёт производительности?

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

Каждая из систем обладает своими преимуществами и недостатками. В действительности все зависит от того, как вы используете свою машину. Для простой настольной машины вполне хватит ext2. Для сервера предпочтение следует отдать журналируемой файловой системе типа ext3. reiserfs, возможно из-за ее происхождения, больше подходит для сервера баз данных. JFS более предпочтительна в случаях, где на первом месте стоит производительность файловой системы. XFS интересна в том случае, если вам нужны ее расширенные возможности. При «обычном» использовании, все эти четыре файловые системы дают приблизительно одинаковые результаты и все они обладают различными опциями для настройки под определённые задачи. Пожалуйста, обратитесь к соответствующей документации по файловым системам.