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 цікава у випадку, якщо вам потрібні її розширені можливості. При “звичайному” використанні всі чотири файлові системи дають приблизно однакові результати і всі вони мають різні параметри для настроювання під певні завдання. Будь ласка, зверніться до відповідної документації по файловим системам.