Плюсы и минусы использования файловой системы Btrfs в Linux
Всякий раз, когда вы устанавливаете Linux, вы можете выбрать файловую систему, особенно когда вы вручную разбиваете диск на разделы.
Наиболее распространенным вариантом является Ext4, который используется по умолчанию во многих дистрибутивах Linux для настольных компьютеров. Но после того, как Fedora решила использовать Btrfs в качестве файловой системы по умолчанию, многие пользователи настольных Linux перешли на Btrfs.
Если вы один из тех, кто хочет перейти на Btrfs, позвольте мне помочь вам, перечислив плюсы и минусы Btrfs как файловой системы. Это поможет вам решить, переходить или нет.
Что такое Бтрфс?
Начнем с того, что Btrfs — это современная файловая система с возможностью копирования при записи для Linux с расширенными функциями, обеспечивающими отказоустойчивость, восстановление и простоту администрирования. Btrfs использует копирование при записи для всех файлов. Это означает, что если файл изменяется/записывается в хранилище, файл не заменяется, а создается его копия. Этот механизм помогает создавать снимки минимального размера, поскольку для создания снимка не требуется копировать неизмененные файлы.
Btrfs распространяется под лицензией GPL и имеет открытый исходный код.
Преимущества Btrfs перед Ext4
Давайте поговорим о преимуществах Btrfs перед традиционной и более популярной файловой системой ext4.
Снимки
Это самая желанная функция Btrfs. Как я уже упоминал ранее, снимки создаются минимального размера за счет использования копирования при записи.
Эти снимки можно использовать для восстановления состояния нашей системы до определенного состояния без использования дополнительного хранилища. Переключение на снимок Btrfs происходит очень быстро.
Это делает восстановление системы беспрепятственным, что желательно для пользователей Linux, особенно для тех, кто использует дистрибутивы с постоянными выпусками (которые поддерживают новые пакеты, делающие систему нестабильной).
Как видите, всякий раз, когда я удаляю или устанавливаю пакет, создается его снимок. Таким образом, я смогу вернуть систему в предыдущее состояние, если что-то пойдет не так. Эти снимки также доступны во время загрузки.
Для этой же цели можно использовать Btrfs Assistant. Если я восстановлю свою систему до выделенного снимка (на изображении выше), она вернет мою систему к состоянию до установки VLC Media Player.
В качестве альтернативы, если вы не можете войти в свою систему, можно использовать проект под названием grub-btrfs для загрузки снимков непосредственно из загрузчика GRUB, как вы можете видеть на снимке экрана ниже.
Сжатие
Btrfs также поддерживает сжатие данных, уменьшая размер файла, чтобы вы могли хранить больше данных в меньшем пространстве. Это также увеличивает срок службы флэш-накопителей (например, твердотельных накопителей, eMMC), поскольку на диск записывается меньше данных.
Это также повышает производительность процесса, который не загружает много файлов с жесткого диска. Однако если процессу требуется доступ к большему количеству файлов с жесткого диска, это может привести к некоторому замедлению, поскольку для доступа к файлам выполняется распаковка.
Подтома
Подтома ведут себя как разделы, но не являются настоящим разделом диска. Их можно сравнить с чем-то вроде томов, используемых в LVM (менеджер логических томов).
Подобъемы позволяют изменять размер быстрее и гибче по сравнению с реальными разделами. Интересно, что снимок Btrfs также является подтомом, который делится своими данными с другим подтомом.
Например, чтобы получить список субтомов, вы можете ввести следующую команду, и она также перечисляет снимки как субтома.
sudo btrfs subvolume list -p /
Лучший вариант использования подтомов — создание корневого и домашнего разделов как отдельных подтомов, которые будут автоматически распределять пространство в соответствии с требованиями. Это устраняет дилемму выбора размеров корневого и домашнего разделов при установке Linux.
Наличие домашнего каталога в отдельном подтоме имеет еще одно преимущество. Снимки системы будут довольно большими, если в снимок включен домашний каталог.
Это также справедливо и для восстановления системы Windows, поскольку оно также не создает резервные копии всех файлов. Включены только системные файлы, чтобы свести к минимуму требования к пространству для точек восстановления.
Как вы можете видеть на скриншоте ниже, со списком подтомов в Btrfs Assistant.
Недостатки Btrfs
Ничто в этом мире не имеет только положительных сторон. Btrfs не является исключением.
Вы видели, что он делает лучше, чем Ext4. Давайте посмотрим на вещи, в которых он не хорош.
Рейд
RAID (избыточный массив независимых дисков) — это технология хранения данных, которая объединяет несколько компонентов дисковых накопителей в логическую единицу. На серверах это полезно главным образом из-за производительности и предотвращения потери данных.
Btrfs поддерживает RAID, однако режимы RAID 5 и RAID 6 на данный момент считаются нестабильными. Поскольку RAID 5 является одним из лучших вариантов RAID, он может сдерживать внедрение Btrfs на серверах.
Фрагментация
Фрагментация файлов, возможно, не является проблемой для твердотельных накопителей, но многие люди все еще используют вращающиеся накопители. В таких случаях со временем это приведет к снижению производительности, а также при дефрагментации файла будет создана отдельная копия этого файла.
Следовательно, размер снимка также увеличивается за счет дефрагментации. Вы можете выполнить дедупликацию файла, но это создаст больше хлопот для пользователя.
Вы будете удивлены, узнав, что XFS или Ext4 не требуют дефрагментации.
Шифрование
В отличие от Ext4, Btrfs не поддерживает шифрование на уровне файловой системы. Однако вы можете использовать сторонние методы для шифрования файловой системы Btrfs.
Восстановление коррупции
Проверка файловой системы невозможна в смонтированной файловой системе Btrfs, но ее можно использовать для проверки или восстановления несмонтированной файловой системы Btrfs. Однако это может не исправить ошибки файловой системы (даже незначительные).
Это связано с интенсивной разработкой инструмента проверки файловой системы Btrfs.
Заключение
Может показаться, что Btrfs находится в стадии разработки, и вы можете в любое время проверить статус стабильности на официальном сайте. Тем не менее, он находится в стадии интенсивной и активной разработки и улучшается более быстрыми темпами, что меня очень радует.
Я рекомендую, если у вас есть твердотельный накопитель и вы используете скользящий выпуск, используйте его для плавного восстановления с использованием моментальных снимков. В противном случае используйте старый добрый Ext4 для стабильности и производительности.
Пожалуйста, не верьте мне на слово, поскольку эта статья является лишь моим мнением, и перечисленные плюсы и минусы могут не быть одинаковыми для всех случаев использования.
Надеюсь, мне удалось прояснить ситуацию с использованием Btrfs в Linux. Если вы заметили какие-либо технические ошибки, сообщите мне об этом в разделе комментариев.
Конечно, некоторые моменты могут быть спорными. Не стесняйтесь высказывать это в комментариях.