1 авг. 2008 г.

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

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

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

Ext2

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

Ext3

Как видно из названия, Third Extended File System является наследником ext2. Она совместима с последней, но была улучшена засчет добавления журналирования.
Одним из главных недостатков «традиционных» файловых систем типа ext2 является их низкая устойчивость к внезапным падениям системы (отключение электричества или сбой программного обеспечения). Вообще говоря, при дальнейшей перезагрузке системы такие виды событий приводят к очень долгой проверке структуры файловой системы и попыткам исправить ошибки, что иногда вызывает более обширные разрушения. Это разрушение могло бы привести к частичной или полной потере данных.
Журналирование отвечает за решение этой проблемы. Для упрощения давайте будем говорить, что мы записываем действия (например, сохранение файла) до того, как они происходят на самом деле. Мы могли бы сравнить такой образ действий с тем, что ведет капитан корабля, который использует бортовой журнал для записи ежедневных событий. С той лишь разницей, что он делает запись после того, как событие произошло. Результат - всегда согласованная файловая система. А если возникают проблемы, проверка и окончательное восстановление выполняются очень быстро. Время, потраченное на проверку файловой системы, таким образом, пропорционально ее фактическому использованию и не связано с ее размером.
Таким образом, ext3 предлагает технологию журналирования файловой системы, сохраняя при этом структуру ext2, обеспечивая при этом отличную совместимость. Это значительно облегчает переход с ext2 на ext3 и обратно.

ReiserFS

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

JFS

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

XFS

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

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


Таблица 9.1. Характеристики файловой системы
Ext2Ext3ReiserFSJFSXFS
СтабильностьОтличнаяХорошаяХорошаяСреднееХорошая
Утилиты для восстановления удаленных файловЕсть (комплекс)Есть (комплекс)НетНетНет
Скорость перезагрузки после падения системыДолго, даже очень долгоБыстроОчень быстроОчень быстроОчень быстро
Состояние данных в случае падения системыВообще говоря, хорошее, но высок риск частичной или полной потери данныхОчень хоршееСреднееОчень хоршееОчень хоршее
Поддержка ACLДаДаНетНетДа
[a] Имеется возможность улучшить результаты восстановления после падения путем журналирования данных, а не только метаданных, посредством добавления опции data=journal в /etc/fstab.
Максимальный размер файла зависит от многих параметров (например, от размера блока для ext2/ext3), а также возможно дальнейшее развитие, в зависимости версии ядра и архитектуры. Согласно ограничениям файловой системы, текущий максимальный объем в настоящее время составляет порядка 2 терабайт или более (ТБ, 1ТБ=1024 ГБ), а для JFS он может составить до 4 петабайт (ПБ, 1ПБ=1024 ТБ). К сожалению, эти значения ограничены также и максимальным размером блочного устройства, который в текущем ядре 2.4.X ограничен (только для архитектуры X86) до 2ТБ даже в режиме RAID. В ядре 2.6.X этот предел блочного устройства может быть увеличен при использовании ядра, скомпилированного с включенной поддержкой Large Block Device (CONFIG_LBD=y).

Комментариев нет: