Типи файлових систем для linux

Операційна система Windows може бути встановлена ​​тільки на файлову систему NTFS, тому зазвичай у користувачів не виникає питань яку ФС краще використовувати. Але Linux дуже сильно відрізняється, тут в ядро ​​системи вбудовані і можуть використовуватися кілька файлових систем, кожна з яких оптимізована для вирішення певних завдань і краще підходить саме для них.

Нові користувачі не завжди розуміють що таке розділ жорсткого диска і файлову систему. У нашій сьогоднішній статті ми спробуємо розібратися у всіх цих поняттях, розглянемо що таке файлова система, а також розглянемо найпоширеніші типи файлових систем Linux. Але почнемо з самих основ, розділів диска.

Жорсткий диск і розділи

Зазвичай в комп`ютері використовується один жорсткий диск, але для зручності весь доступний простір розділяється на розділи, в Windows вони відомі як диски, в Linux же їх прийнято називати розділами. Щоб операційна система знала скільки розділів є на диску і їх фізичні кордону використовується таблиця розділів. Вона може бути двох типів - GPT або MBR. У цій статті ми не будемо розглядати її докладно. Скажу тільки, що там знаходиться мітка розділу, його порядковий номер і адресу початку і кінця на жорсткому диску.

Що таке файлова система?

Дальше більше. Щоб на кожному розділі можна було працювати з файлами і каталогами, необхідна файлова система. Ми могли б писати просто вміст файлів на диск, але потрібно ще десь зберігати дані про папках, імена файлів, їх розмір, адресу на жорсткому диску, атрибути доступу. Всім цим займається файлова система.

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

Типи файлових систем Linux

Файлові системи в Linux використовуються не тільки для роботи з файлами на диску, але і для зберігання даних в оперативній пам`яті або доступу до конфігурації ядра під час роботи системи. Далі ми розглянемо типи файлових систем Linux, включаючи спеціальні файлові системи.

Основні файлові системи

Кожен дистрибутив Linux дозволяє використовувати одну з цих файлових систем, кожна з них має свої переваги і недоліки:

  • Ext2;
  • Ext3;
  • Ext4;
  • JFS;
  • ReiserFS;
  • XFS;
  • Btrfs;
  • ZFS;

Всі вони включені в ядро ​​і можуть використовуватися в якості кореневої файлової системи. Давайте розглянемо кожну з них більш детально.

Ext2, Ext3, Ext4 або Extended Filesystem - це стандартна файлова система для Linux. Вона була розроблена ще для Minix. Вона найстабільніша з усіх існуючих, кодова база змінюється дуже рідко і ця файлова система містить найбільше функцій. Версія ext2 була розроблена вже саме для Linux і отримала багато поліпшень.

У 2001 році вийшла ext3, яка додала ще більше стабільності завдяки використанню журналирования. У 2006 була випущена версія ext4, яка використовується в усіх дистрибутивах Linux до сьогоднішнього дня. У ній було внесено багато покращень, в тому числі збільшено максимальний розмір розділу до одного екзабайт.




JFS або Journaled File System була розроблена в IBM для AIX UNIX і використовувалася в якості альтернативи для файлових систем ext. Зараз вона використовується там, де необхідна висока стабільність і мінімальне споживання ресурсів. При розробці файлової системи ставилося за мету створити максимально ефективну файлову систему для багатопроцесорних комп`ютерів. Також як і ext, це журнальована файлова система, але в журналі зберігаються тільки метадані, що може привести до використання старих версій файлів після збоїв.

ReiserFS - була розроблена набагато пізніше, в якості альтернативи ext3 з поліпшеною продуктивністю і розширеними можливостями. Вона була розроблена під керівництвом Ганса Райзера і підтримує тільки Linux. З особливостей можна відзначити динамічний розмір блоку, що дозволяє упаковувати кілька невеликих файлів в один блок, що запобігає фрагментації і покращує роботу з невеликими файлами.

Ще одна перевага - в можливості змінювати розміри розділів на льоту. Але мінус в деякій нестабільності і ризику втрати даних при відключенні енергії. Раніше ReiserFS застосовувалася за замовчуванням в SUSE Linux, але зараз розробники перейшли на Btrfs.

XFS - це високопродуктивна файлова система, розроблена в Silicon Graphics для власної операційної системи ще в 2001 році. Вона спочатку була розрахована на файли великого розміру, і підтримувала диски до 2 Терабайт. З переваг файлової системи можна відзначити високу швидкість роботи з великими файлами, відкладену виділення місця, збільшення розділів на льоту і незначний розмір службової інформації.

XFS - журнальована файлова система, однак на відміну від ext, в журнал записуються тільки зміни метаданих. Вона використовується за умовчанням в дистрибутивах на основі Red Hat. З недоліків - це неможливість зменшення розміру, складність відновлення даних і ризик втрати файлів при записі, якщо буде несподіване відключення живлення, оскільки більшість даних знаходиться в пам`яті.




Btrfs або B-Tree File System - це абсолютно нова файлова система, яка зосереджена на відмовостійкості, легкості адміністрування та відновлення даних. Файлова система об`єднує в собі дуже багато нових цікавих можливостей, таких як розміщення на декількох розділах, підтримка подтомов, зміна розміру НЕ літа, створення миттєвих знімків, а також висока продуктивність. Але багатьма користувачами файлова система Btrfs вважається нестабільною. Тим не менш, вона вже використовується як файлова система за замовчуванням в OpenSUSE і SUSE Linux.

Інші файлові системи, такі як NTFS, FAT, HFS можуть використовуватися в Linux, але коренева файлова система linux на них не встановлюється, оскільки вони для цього не призначені.

Спеціальні файлові системи

Ядро Linux використовує спеціальні файлові системи, щоб надати доступ користувачеві і програмам до своїх налаштувань і інформації. Найбільш часто ви будете стикатися з такими випадками:

  • tmpfs;
  • procfs;
  • sysfs;

файлова система tmpfs дозволяє розміщувати будь-які призначені для користувача файли в оперативній пам`яті комп`ютера. Досить створити блоковий пристрій потрібного розміру, потім підключити його до папки, і ви можете писати файли в оперативну пам`ять.

procfs - за замовчуванням змонтована в папку proc і містить всю інформацію про запущені в системі процесах, а також самому ядрі.

sysfs - за допомогою цієї файлової системи ви можете задавати різні налаштування ядра під час виконання.

Віртуальні файлові системи

Не всі файлові системи потрібні в ядрі. Існують деякі рішення, які можна реалізувати і в просторі користувача. Розробники ядра створили модуль FUSE (filesystem in userspace), який дозволяє створювати файлові системи в просторі користувача. До віртуальних файлових систем можна віднести ФС для шифрування і мережеві файлові системи.

EncFS - файлова система, яка шифрує всі файли і зберігає їх в зашифрованому вигляді в потрібну директорію. Отримати доступ до розшифрованих даними можна тільки примонтировать файлову систему.

Aufs (AnotherUnionFS) - дозволяє об`єднувати декілька файлових систем (папок) в одну загальну.

NFS (Network Filesystem) - дозволяє примонтировать файлову систему віддаленого комп`ютера по мережі.

Таких файлових систем дуже багато, і ми не будемо перераховувати всі їх в даній статті. Є навіть дуже екзотичні варіанти, зверніть увагу на проект PIfs.

висновки

У цій статті ми розглянули типи файлових систем Linux. Як бачите, тут все набагато заплутаніше ніж в Windows. Але насправді все просто. Якщо вам потрібна максимально стабільна файлова система linux - то кращим рішенням буде ext4, хочете нових технологій - btrfs, для маленьких файлів - raiser4, для великих - XFS. А які файлові системи linux ви надаєте перевагу? Напишіть в коментарях!

На завершення відео про те, що таке файлова система і її структура в linux:

Поділися в соціальних мережах:

Схожі
Файлова система linuxФайлова система linux
Продуктивність btrfs vs. Ext4 vs. F2fs vs. Xfs vs. Ntfs в ядрі linux 4.7Продуктивність btrfs vs. Ext4 vs. F2fs vs. Xfs vs. Ntfs в ядрі linux 4.7
Яка файлова система краще exfat або ntfs?Яка файлова система краще exfat або ntfs?
Розбивка диска для установки linuxРозбивка диска для установки linux
Процес завантаження linuxПроцес завантаження linux
Перетворення файлової системи fat16 або fat32 в ntfs за допомогою windows xpПеретворення файлової системи fat16 або fat32 в ntfs за допомогою windows xp
Чим відрізняється unix від linuxЧим відрізняється unix від linux
Огляд ext4 vs btrfs vs xfsОгляд ext4 vs btrfs vs xfs
Помилка / dev / sda2 clean files blocks при завантаженніПомилка / dev / sda2 clean files blocks при завантаженні
Створення розділів і форматування жорсткого дискаСтворення розділів і форматування жорсткого диска
» » Типи файлових систем для linux