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

У пользователей Windows и MacOS нет особых причин для поиска, так как у них есть только один выбор для своей системы - NTFS и HFS+ соответственно. Linux, с другой стороны, имеет множество различных файловых систем, по умолчанию это Fourth Extended Filesystem (ext4). Вы давно хотели сменить ее на B-Tree (Btrfs)? Давайте разберемся, что лучше.

Что делают файловые системы?

Image Credit: Maksym Kaharlytskyi/Unsplash

Как и физические файловые системы, такие как папки и шкафы, цифровые файловые системы управляют файлами. Они контролируют то, как ваша операционная система хранит данные, которые не используются, какую другую информацию (известную как метаданные) к данным прикрепляют, кто или что имеет доступ к данным и так далее.

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

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

Зачем переключать файловые системы?

Ни один код не подходит для всех вариантов использования, это также относится и к файловым системам. Некоторые файловые системы выделяют по разным причинам. Файловая система File Allocation Table (FAT) поддерживается практически всеми современными операционными системами.

USB флэш-накопители и SD-карты используют FAT-систему, так что ваш компьютер может читать их независимо от того, работаете ли вы под Linux, Windows, macOS или другой операционной системой.

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

Текущая файловая система Linux

Большинство версий настольных дистрибутивов Linux по умолчанию используют файловую систему ext4. Она стала улучшенной версией файловой системы ext3, которая до этого была улучшена по сравнению с файловой системой ext2.

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

Понимание ext4: плюсы и минусы

Ограничения ext4 остаются довольно впечатляющими. Самый большой объём/раздел, который можно создать с помощью ext4 - 1 эксбибайт, что эквивалентно примерно 1 152 921,5 терабайт. Максимальный размер файла составляет 16 тебибайт или примерно 17,6 терабайт, что намного больше, чем у любого жесткого диска, который обычный пользователь может купить в настоящее время.

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

Несмотря на все свои возможности, она не поддерживает прозрачное сжатие, прозрачное шифрование или дедупликацию данных. Технически, снапшоты поддерживаются, но эта функция является экспериментальной.

Theodore Ts’o, разработчик, сыгравший ключевую роль в создании ext4, назвал ее релизом, основанным на устаревшей технологии 1970-х годов и поверил, что Btrfs предложит лучшее развитие. Это было более десяти лет назад.

Понимание Btrfs: плюсы и минусы

Btrfs, которую можно произнести как "Butter FS", "Better FS" или "B-Tree FS", является более новой файловой системой, переделанной с нуля. Btrfs существует, потому что разработчики хотели расширить функциональность файловой системы, включив в нее дополнительную функциональность, такую как объединение в пулы, снимки и контрольные суммы.

Проект начался в компании Oracle, но с тех пор в разработке принимали участие и другие крупные компании. Список включает Facebook, Netgear, Red Hat и SUSE.

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

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

Конечно, вы все еще можете создавать несколько разделов, чтобы не зеркалировать все. Максимальный размер раздела файловой системы btrfs составляет 16 эксбибайт, так же как максимальный размер файла.

Учитывая, что btrfs сможет охватить несколько жёстких дисков, хорошо, что она поддерживает в 16 раз больше дискового пространства, чем ext4.

Дистрибутивы Linux сделали переход?

Btrfs является стабильной частью ядра Linux с 2013 года, и вы можете переформатировать жесткие диски уже сегодня. Но btrfs не является файловой системой Linux по умолчанию. Большинство дистрибутивов продолжают использовать ext4 по умолчанию.

Почему? Файлы - это самые важные данные на вашем жестком диске. Личные данные незаменимы. Вы можете переустановить ОС и перезагрузить приложения, но без резервной копии потерянные файлы пропадут навсегда. Вот почему очень важно, чтобы файловая система была проверена на надежность, прежде чем переключать миллионы людей на ее использование по умолчанию.

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

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

Один известный дистрибутив определил, что прошло достаточно времени, чтобы переключиться. OpenSUSE теперь использует btrfs по умолчанию для раздела /root, в котором находится операционная система. Однако для раздела /home, в котором хранятся ваши личные файлы, openSUSE решила использовать вместо него файловую систему XFS.

Так что нет, переход прошел не совсем так, как ожидалось. Но, как мы знаем, новым технологиям иногда требуется много времени для распространения по всему окружению Linux.