Файловая система btrfs для linux

Создание и настройка файловой системы Btrfs в Linux

Примечание переводчика: поскольку манипуляции с файловыми системами — это достаточно опасные операции, чреватые потерей данных, в процессе перевода этой статьи я собственноручно проделал все описанные здесь операции в системе Lubuntu 15.04, установленной в виртуальной машине VMware. У меня все прошло гладко, никаких проблем не возникло, но, тем не менее, хочу предупредить, что все приводимые ниже действия вы делаете на свой страх и риск. Скриншоты в статье мои.

Btrfs или B-tree file system — это файловая система под лицензией GPL, разработанная несколькими компаниями, в числе которых Oracle, Redhat, Fujitsu, Intel, Facebook, Linux Foundation, Suse и так далее. Размер файловой системы Brtfs может составлять до 16 экзабайт, а максимальный размер файла — до 8 экзабайт в связи с ограничениями ядра.

В именах файлов могут использоваться любые символы, кроме «/» и NULL. Btrfs имеет функции самовосстановления и может работать с несколькими томами. В Btrfs мы можем изменять размер файловой системы, добавлять или удалять блочные устройства «на лету».

Она также поддерживает подразделы, которые не являются отдельными блочными устройствами. Мы можем создавать моментальные снимки этих подразделов, и восстанавливать их из этих снимков. Мы можем использовать btrfs вместо LVM. Файловая система btrfs все еще находится в режиме тестирования и не рекомендуется для применения на производстве при работе с важными данными.

Hostname : alex-virtual-machine.tecmintlocal.com
IP addrress : 172.16.60.128
Disk Size Used : 8GB [/dev/sdb]

Этап 1: Установка и создание файловой системы Btrfs

1. В большинстве современных дистрибутивов Linux пакет btrfs установлен по умолчанию. Если нет, установите его с помощью одной из следующих команд:

2. После установки пакета btrfs необходимо активировать модуль ядра для btrfs с помощью команды:

3. Здесь мы используем только один диск (то есть /dev/sdb) и мы собираемся установить логические тома и создать файловую систему btrfs. Сначала посмотрим, какие диски смонтированы в системе.

4. Убедившись, что диск правильно подключен к системе, можно создавать раздел с LVM. Мы будем использовать для этого команду ‘fdisk’ для диска /dev/sdb. Следуйте приведенным ниже инструкциям.

— нажмите ‘n’ для создания нового раздела; — затем выберите ‘P’ для первичного (Primary) раздела; — далее выберите номер раздела 1; — задайте значение по умолчанию, нажав два раза Enter; — далее нажмите ‘P’, чтобы вывести заданный раздел; — нажмите ‘L’ для вывода списка всех доступных типов; — нажмите ‘t’ для выбора разделов; — выберите ‘8e’ для Linux LVM и нажмите Enter; — затем снова нажмите ‘p’, чтобы вывести сделанные изменения; — нажмите ‘w’, чтобы записать изменения.

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

Настройка логического тома

6. Создадим физический том и группу томов на диске /dev/sdb1 с помощью команд pvcreate и vgcreate.

Читайте также:  Таймер windows 10 при включении

7. Создадим в группе томов логический том. Здесь я создаю два логических тома.

8. Выведем созданные физический и логические тома, а также группу томов.

Создание файловой системы Btrfs

9. Теперь создадим файловую систему для наших логических томов.

10. Далее, создадим точку монтирования и смонтируем файловую систему.

11. Верифицируем точку монтирования с помощью команды df.

Здесь доступный размер был 2 Гб

Этап 2: Добавление устройств в файловую систему Btrfs

12. Теперь мы хотим увеличить размер файловой системы на точке монтирования /mnt/tecmint_btrfs1/, для этого нам не нужно увеличивать размер логического тома, вместо этого мы можем добавить устройство к точке монтирования, в результате чего размер файловой системы увеличится.

13. После добавления устройства к файловой системе btrfs проверьте размер файловой системы с помощью команды ‘df -h’.

14. Теперь проверьте статус добавленного устройства.

Если же вы захотите удалить логический том tecmint_lv2 из точки монтирования, это можно сделать с помощью следующих команд:

Полезные возможности Btrfs

a. Проверка использования диска на точке монтирования:

b. Вывод подробной информации о файловой системе:

Если нужна информация о всех устройствах, а не только о смонтированных, используется опция -all-devices.

c. Принудительная синхронизация файловой системы с идентификацией по пути .

d. Дефрагментация метаданных файлов и директорий.

-r = рекурсивная дефрагментация.
-v = вывод подробной информации.
-c = сжатие содержимого файлов при дефрагментации.

c. Проверка файловой системы с помощью команды btrfsck.

Этап 3: Создание подтомов Btrfs

Подтома Btrfs не являются блочными устройствами, хотя ведут себя аналогично, в отличие от томов LVM или ZFS. Подтома считаются находящимися в пространстве имен файлов POSIX. Доступ к ним возможен через подтом верхнего уровня структуры файловой системы.
Можно создать несколько подтомов внутри каждого из подтомов, и мы можем монтировать подтом, используя его ID, без монтирования его родительского подтома. Мы можем создавать и удалять подтома с помощью простых команд.
Снимки системы: возможно создание перезаписываемых снимков, либо только для чтения. Снимки системы создаются в режиме копирования при записи, но здесь не делается копий файлов, вместо этого берутся метаданные и данные оригинальных подтомов.

15. Перед созданием подтома выведем список всех существующих подтомов.

16. Для создания подтома мы можем использовать приведенные ниже команды. Здесь я создаю два подтома.

17. Теперь проверьте, появились ли созданные подтома.

18. Теперь перейдите в точку монтирования /mnt/tecmint_btrfs1/ и просмотрите созданные подтома.

Скопируйте какие-нибудь файлы из /etc/ в subvol1.

Монтирование субтома Btrfs

19. Сначала узнаем ID субтомов с помощью следующей команды:

20. Затем, чтобы смонтировать субтома, мы должны размонтировать родительский том /mnt/tecmint_btrfs1/.

21. Теперь смонтируем субтом, используя его ID:

Эта команда смонтирует subvol1 в /mnt/tecmint_btrfs1/.
Если нам нужно назначить наш субтом умолчательным, это можно сделать с помощью следующей команды:

22. Узнать, какой субтом является умолчательным, можно с помощью команды:

Создание мгновенных снимков файловой системы

23. Для создания мгновенного снимка используется команда вида:

Допустим, мне нужно сделать мгновенный снимок /mnt/tecmint_btrfs1/ и сохранить его здесь же:

С помощью команды ls можно увидеть, что мгновенный снимок готов:

24. Выше мы не задавали имя снимка, и по умолчанию оно соответствовало имени каталога, чей снимок мы делали. Теперь давайте попробуем назвать снимок snap_tec и сохранить его в /mnt/tecmint_btrfs1/.

25. В созданных ранее снимках мы можем читать и записывать любой контент. Если мы хотим создать снимок только для чтения, необходимо использовать опцию -r:

Читайте также:  Передача файлов андроид windows

Постоянное монтирование Btrfs

26. Постоянное монтирование осуществляется с помощью записей в файле fstab. Откройте fstab в текстовом редакторе.

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

27. После выхода из fstab проверьте, что файловая система смонтирована.

Заключение

Btrfs — одна из лучших файловых систем для Linux. Надеемся, что эта статья помогла вам узнать что-то новое об этой файловой системе.

Источник

ext4 против Btrfs: какую файловую систему Linux использовать?

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

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

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

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

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

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

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

Ни один код не подходит для всех вариантов использования, это также относится и к файловым системам. Некоторые файловые системы выделяют по разным причинам. Файловая система 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 журналируемая, что означает, что она хранит «журнал» того, где находятся файлы на диске, и о любых других изменениях на диске.

Читайте также:  Ssd скорость работы windows

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

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.

Источник

Оцените статью