Які файлові системи Linux слід використовувати?
При форматуванні розділів на комп'ютері з Linux ви побачите різноманітні параметри файлової системи. Ці параметри не обов'язково повинні бути переважними. Якщо ви не впевнені, яку файлову систему Linux використовувати, є проста відповідь.
Швидкий відповідь: Використовуйте Ext4, якщо Ви не впевнені
Ми потрапимо в бур'яни і розірвемо різницю між різними файловими системами за один момент, але якщо ви не впевнені: Use Ext4.
Ext4 - це файлова система за замовчуванням на більшості дистрибутивів Linux. Це вдосконалена версія старішої файлової системи Ext3. Це не найсучасніша файлова система, але це добре: це означає, що Ext4 є твердотільною і стабільною.
У майбутньому дистрибутиви Linux поступово переходять у бік BtrFS. BtrFS як і раніше залишається передовим і бачить багато розробок, тому вам потрібно уникнути його на виробничих системах. Ризик пошкодження даних або інших проблем не коштує потенційного поліпшення швидкості.
Зауважте, однак, що ця порада «використовувати Ext4» стосується лише системних розділів Linux та інших розділів на диску, до яких буде доступний лише Linux. Якщо ви форматуєте зовнішній диск, який потрібно надати спільно з іншими операційними системами, не слід використовувати Ext4, оскільки Windows, MacOS та інші пристрої не можуть читати файлові системи Ext4. Ви хочете використовувати exFAT або FAT32 при форматуванні зовнішнього диска на Linux.
Якщо ви налаштовуєте розділи на головному завантажувальному диску Linux, ви також повинні створити розділ підкачки, розмір якого має становити принаймні кілька ГБ при налаштуванні цих розділів. Цей розділ використовується для "місця підкачки". Це схоже на файл підкачки на Windows. Під час заповнення оперативної пам'яті Linux обмінюється пам'яттю на область підкачки. Цей розділ повинен бути відформатований як "swap" замість певної файлової системи.
Що таке журнал?
Одна річ, яку ви помітите при виборі між файловими системами, полягає в тому, що деякі з них позначені як файлова система "журналювання", а деякі - не. Це важливо.
Журнал призначений для запобігання пошкодженню даних від аварій і раптових втрат електроенергії. Припустимо, що ваша система проходить через частину запису файлу на диск, і вона раптово втрачає силу. Без журналу комп'ютер не знав би, чи був файл повністю записаний на диск. Файл залишиться на диску, пошкоджений.
За допомогою журналу ваш комп'ютер помітить, що він збирається записати певний файл на диск у журнал, записати цей файл на диск, а потім видалити це завдання з журналу. Якщо потужність вийшла з ладу через написання файлу, Linux перевірить журнал файлової системи, коли він завантажиться, і відновить якісь частково виконані завдання. Це запобігає втраті даних і пошкодження файлів.
Журналінг робить повільну продуктивність запису на диск трохи меншою, але це добре варто на робочому столі або ноутбуці. Це не стільки накладні витрати, як ви думаєте. Повний файл не записується в журнал. Замість цього, у журналі записуються лише метадані файлів, inode або розташування дисків, перш ніж вони будуть записані на диск.
Кожна сучасна файлова система підтримує журналювання, і ви хочете використовувати файлову систему, яка підтримує журналювання під час налаштування робочого столу або ноутбука.
Файлові системи, які не пропонують журналювання, доступні для використання на високопродуктивних серверах та інших таких системах, де адміністратор хоче вичавити додаткову продуктивність. Вони також ідеально підходять для знімних флеш-накопичувачів, де ви не хочете, щоб вищі витрати та додаткові записи журналів.
У чому різниця між усіма тими файловими системами Linux?
У той час як Microsoft розробляє MacOS для управління Windows і Apple, Linux є проектом з відкритим кодом, розробленим спільнотою. Будь-який (або будь-яка компанія) з вмінням і часом може створити нову файлову систему Linux. Це одна з причин, чому є так багато варіантів. Ось розбіжності:
- Ext означає "Розширена файлова система", і була першою, створеною спеціально для Linux. Це було чотири основні зміни. "Ext" - це перша версія файлової системи, яка була введена в 1992 році. Це було серйозне оновлення файлової системи Minix, яка використовувалася в той час, але не мала важливих функцій. Багато дистрибутивів Linux більше не підтримують Ext.
- Ext2 не є файловою системою журналу. Вперше вона була першою файловою системою, що підтримувала розширені атрибути файлів і 2 терабайтних диска. Відсутність журналу Ext2 означає, що він записує на диск менше, що робить його корисним для флеш-пам'яті, як USB-накопичувачі. Проте файлові системи, такі як exFAT і FAT32, також не використовують журналювання і є більш сумісними з різними операційними системами, тому ми рекомендуємо вам уникати Ext2, якщо ви не знаєте, що це потрібно з якоїсь причини..
- Ext3 в основному просто Ext2 з журналювання. Ext3 була розроблена для зворотної сумісності з Ext2, що дозволяє перетворювати розділи між Ext2 і Ext3 без необхідного форматування. Це було довше, ніж Ext4, але Ext4 існує з 2008 року і широко протестовано. На цьому етапі краще використовувати Ext4.
- Ext4 також була розроблена для зворотної сумісності. Ви можете змонтувати файлову систему Ext4 як Ext3 або змонтувати файлову систему Ext2 або Ext3 як Ext4. Вона включає в себе нові функції, які зменшують фрагментацію файлів, дозволяють використовувати більші обсяги та файли, а також використовують відкладене виділення для поліпшення життя флеш-пам'яті. Це найсучасніша версія файлової системи Ext і є типовою для більшості дистрибутивів Linux.
- BtrFS, Виражений "Масло" або "Краще" FS, спочатку був розроблений Oracle. Він означає "файлову систему B-Tree" і дозволяє об'єднувати накопичувачі, на зйомках знімків, прозоре стиснення та онлайн-дефрагментацію. Вона поділяє ряд тих самих ідей, що знайдені в ReiserFS, файловій системі, яку використовували деякі дистрибутиви Linux за замовчуванням. BtrFS призначений для чистого розриву з серії файлів sytstems Ext. Ted Ts'o, що підтримує файлову систему Ext4, розглядає Ext4 як короткострокове рішення і вважає, що BtrFS - це шлях вперед. Очікуйте, що BtrFS стане типовим в обох корпоративних і споживчих дистрибутивах Linux протягом наступних кількох років..
- ReiserFS був великий крок вперед для файлових систем Linux, коли він був введений в 2001 році, і він включав багато нових можливостей, які Ext ніколи не зможе реалізувати. ReiserFS був замінений на Reiser4, який покращив багато функцій, які були неповними або бракували в початковому випуску, в 2004 році. в основному ядрі Linux і навряд чи потрапить туди. BtrFS - кращий довгостроковий вибір.
- ZFS був розроблений компанією Sun Microsystems для Solaris і тепер належить Oracle. ZFS підтримує безліч додаткових функцій, включаючи пул накопичувачів, знімки і динамічний стрип-диск BtrFS, який за умовчанням принесе багатьом з цих можливостей Linux. Кожен файл має контрольну суму, тому ZFS може визначити, чи файл пошкоджений чи ні. Sun з відкритим джерелом ZFS під ліцензією Sun CDDL, що означає, що він не може бути включений в ядро Linux. Однак, ви можете встановити підтримку ZFS на будь-якому дистрибутиві Linux. Ubuntu тепер пропонує офіційну підтримку ZFS, починаючи з Ubuntu 16.04. За замовчуванням для контейнерів Ubuntu використовує ZFS.
- XFS був розроблений компанією Silicon Graphics у 1994 році для операційної системи SGI IRX, і був перенесений на Linux у 2001 році. Він подібний до Ext4 в деяких способах, оскільки він також використовує затримку виділення для допомоги з фрагментацією файлів і не дозволяє встановлювати знімки. Він може бути збільшений, але не скорочений, на льоту. XFS має хорошу продуктивність при роботі з великими файлами, але має гіршу продуктивність, ніж інші файлові системи при роботі з багатьма невеликими файлами. Це може бути корисно для певних типів серверів, які в першу чергу мають справу з великими файлами.
- JFS, або "Журнал файлової системи", розроблений IBM для операційної системи IBM AIX в 1990 році і пізніше перенесений на Linux. Вона може похвалитися низьким використанням процесора і високою продуктивністю як для великих, так і для малих файлів. Розділи JFS можна динамічно змінювати, але не зменшувати. Вона була надзвичайно добре спланована і має підтримку в більшості всіх великих дистрибутивів, проте його виробниче тестування на серверах Linux не настільки велике, як Ext, оскільки воно було розроблено для AIX. Ext4 частіше використовується і більш широко випробовується.
- Обмін є опцією при форматуванні диска, але не є дійсною файловою системою. Він використовується як віртуальна пам'ять і не має структури файлової системи. Ви не можете встановити його для перегляду його вмісту. Swap використовується як "scratch space" в ядрі Linux для тимчасового зберігання даних, які не можуть поміститися в оперативній пам'яті. Він також використовується для сплячки. Хоча Windows зберігає свій файл підкачки як файл на головному системному розділі, Linux просто резервує окремий порожній розділ для місця підкачки.
- FAT16, FAT32, і exFATФайлові системи Microsoft FAT часто є опцією при форматуванні диска в Linux. Ці файлові системи не включають журнал, тому вони ідеально підходять для зовнішніх дисків USB. Вони є де-факто стандартом, який може читати кожна операційна система Windows, MacOS, Linux та інші пристрої. Це робить їх ідеальною файловою системою для використання при форматуванні зовнішнього диска, який ви хочете використовувати з іншими операційними системами. FAT32 старше. exFAT є ідеальним варіантом, оскільки він підтримує файли розміром більше 4 ГБ і розділи розміром більше 8 ТБ, на відміну від FAT32.
Існують також інші файлові системи Linux, у тому числі файлові системи, розроблені спеціально для флеш-пам'яті вбудованих пристроїв і на картах SD. Але ці параметри ви найчастіше бачите при використанні Linux.