Какую файловую систему Linux следует использовать?

При форматировании разделов на ПК с Linux вы увидите широкий спектр параметров файловой системы. Эти варианты не должны быть подавляющими. Если вы не уверены, какую файловую систему Linux использовать, есть простой ответ.

Быстрый ответ: используйте Ext4, если не уверены

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

Ext4 является файловой системой по умолчанию в большинстве дистрибутивов Linux по определенной причине. Это улучшенная версия старой файловой системы Ext3. Это не самая передовая файловая система, но это хорошо: это означает, что Ext4 надежен и стабилен.

В будущем дистрибутивы Linux будут постепенно переходить на BtrFS. BtrFS по-прежнему находится на переднем крае и активно развивается, поэтому вам стоит избегать ее в производственных системах. Риск повреждения данных или других проблем не стоит потенциального улучшения скорости.

СВЯЗАННЫЕ: В чем разница между FAT32, exFAT и NTFS?

Однако обратите внимание, что этот совет «используйте Ext4» применим только к системным разделам Linux и другим разделам на диске, к которым будет иметь доступ только Linux. Если вы форматируете внешний диск, которым хотите поделиться с другими операционными системами, вам не следует использовать Ext4, потому что Windows, macOS и другие устройства не могут читать файловые системы Ext4. Вы захотите использовать exFAT или FAT32 при форматировании внешнего диска в Linux.

Если вы настраиваете разделы на основном загрузочном диске Linux, вы также захотите создать раздел подкачки размером не менее нескольких ГБ при настройке этих разделов. Этот раздел используется для «пространства подкачки». Он похож на файл подкачки в Windows. Linux выгружает память в область подкачки, когда ее оперативная память заполнена. Этот раздел должен быть отформатирован как «подкачка», а не с определенной файловой системой.

Что такое ведение журнала?

При выборе между файловыми системами вы заметите, что некоторые из них помечены как «журналируемые» файловые системы, а некоторые нет. Это важно.

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

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

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

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

Файловые системы, не поддерживающие ведение журнала, доступны для использования на высокопроизводительных серверах и других подобных системах, где администратор хочет добиться дополнительной производительности. Они также идеально подходят для съемных флеш-накопителей, где вам не нужны большие накладные расходы и дополнительные записи при ведении журнала.

В чем разница между всеми этими файловыми системами Linux?

В то время как Microsoft разрабатывает Windows, а Apple контролирует macOS, 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 , произносимое как «Butter» или «Better» FS, изначально была разработана Oracle. Это расшифровывается как «файловая система B-Tree» и позволяет объединять диски, делать снимки на лету, прозрачное сжатие и оперативную дефрагментацию. Он разделяет те же идеи, что и в ReiserFS, файловой системе, которую некоторые дистрибутивы Linux использовали по умолчанию. BtrFS разработан как полный отход от серии файловых систем Ext. Тед Ц'о, сопровождающий файловую систему Ext4, считает Ext4 краткосрочным решением и считает, что BtrFS - это путь вперед. Ожидайте, что BtrFS станет стандартом по умолчанию как в корпоративных серверных, так и в пользовательских дистрибутивах Linux для настольных ПК в ближайшие несколько лет по мере дальнейшего тестирования.
  • ReiserFS была большим шагом вперед для файловых систем Linux, когда она была представлена ​​в 2001 году и включала в себя множество новых функций, которые Ext никогда не сможет реализовать. ReiserFS был заменен на Reiser4, который улучшил многие функции, которые были неполными или отсутствовали в первоначальном выпуске, в 2004 году. Но разработка Reiser4 застопорилась после того, как в 2008 году главный разработчик, Ханс Рейзер, был отправлен в тюрьму. в основном ядре Linux и вряд ли туда попадет. BtrFS - лучший долгосрочный выбор.

    СВЯЗАННЫЕ: Как установить и использовать ZFS в Ubuntu (и почему вам это нужно)

  • ZFS  была разработана Sun Microsystems для Solaris и теперь принадлежит Oracle. ZFS поддерживает множество расширенных функций, включая объединение дисков, моментальные снимки и динамическое чередование дисков - BtrFS по умолчанию добавит многие из этих функций в Linux. У каждого файла есть контрольная сумма, поэтому ZFS может определить, поврежден файл или нет. ZFS с открытым исходным кодом Sun под лицензией 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 используется чаще и тестируется более широко.
  • Своп - это вариант при форматировании диска, но это не настоящая файловая система. Он используется как виртуальная память и не имеет структуры файловой системы. Вы не можете установить его, чтобы просмотреть его содержимое. Своп используется ядром Linux как «временное пространство» для временного хранения данных, которые не помещаются в ОЗУ. Он также используется для гибернации. В то время как Windows хранит свой файл подкачки в виде файла в основном системном разделе, Linux просто резервирует отдельный пустой раздел для пространства подкачки.

СВЯЗАННЫЕ: В чем разница между FAT32, exFAT и NTFS?

  • FAT16 , FAT32 и  exFAT : файловые системы Microsoft FAT часто используются при форматировании диска в Linux. Эти файловые системы не включают журнал, поэтому они идеально подходят для внешних USB-накопителей. Это стандарт де-факто, который может считывать любая операционная система - Windows, macOS, Linux и другие устройства. Это делает их идеальной файловой системой для форматирования внешнего диска, который вы хотите использовать с другими операционными системами. FAT32 старше. exFAT - идеальный вариант, поскольку он поддерживает файлы размером более 4 ГБ и разделы размером более 8 ТБ, в отличие от FAT32.

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