Гид по технологиям

Btrfs: установка и настройка RAID1 на Linux

5 min read Файловые системы Обновлено 21 Nov 2025
Btrfs на Linux: настройка RAID1
Btrfs на Linux: настройка RAID1

TL;DR

Btrfs — копирующая при записи (COW) файловая система для Linux с поддержкой многодисковых пулов и RAID-моделей. В этой инструкции показано, как установить утилиты, создать Btrfs с RAID1 на двух дисках, примонтировать файловую систему и добавить запись в /etc/fstab для автоподключения.

Что такое Btrfs

Btrfs (читается «Баттер Эф Эс») — современная файловая система для Linux, разработка которой началась в 2008 году. Она использует принцип copy-on-write: при изменении блока создаётся новый блок с изменениями, а старые блоки остаются до повторного использования. Это повышает согласованность данных и упрощает восстановление после сбоёв питания.

Краткое определение терминов:

  • COW: copy-on-write — не изменяет данные на месте, создаёт новые блоки.
  • Метаданные: информация о файлах — имена, права, расположение блоков.

Основные возможности

  • Поддержка RAID 0, RAID 1, RAID 10 и гибридных конфигураций.
  • Проверка целостности (checksums) для данных и метаданных.
  • Создание субтомов (subvolumes) и снимков (snapshots).

Требования и предпосылки

  • Рабочая система Linux (например, Ubuntu) уже установлена.
  • Два дополнительных диска, которые вы хотите объединить в пул (в примерах /dev/sdb и /dev/sdc).
  • Резервное копирование важных данных перед изменением разделов или форматированием.

1. Установка необходимых инструментов

На Debian/Ubuntu установите пакет утилит btrfs:

sudo apt-get install btrfs-progs

Примечание: в старых документах встречается имя пакета btrfs-tools, но в современных дистрибутивах используется btrfs-progs.

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

Команда ниже создаст файловую систему Btrfs с RAID1 для данных и метаданных на двух устройствах:

sudo mkfs.btrfs -m raid1 -d raid1 /dev/sdb /dev/sdc

Пояснения:

  • -d raid1 — зеркалирование данных (каждый кусочек данных хранится на двух устройствах).
  • -m raid1 — зеркалирование метаданных.
  • Если на дисках есть таблицы разделов или данные, добавьте опцию -f для принудительного перезаписи.

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

3. Монтирование файловой системы

Создайте точку монтирования и смонтируйте новое файловое хранилище:

sudo mkdir -p /mybtrfs
sudo mount /dev/sdb /mybtrfs

Где /mybtrfs — директория для подключения. После монтирования команда df -h покажет точку монтирования.

Вывод df -h после монтирования btrfs

Замечание: btrfs отображает общий объём пула, а не эквивалент «полезного» объёма зеркалирования в старом стиле RAID. Например, два диска по 100 ГБ будут показаны как 200 ГБ в сумме, но фактическая доступная ёмкость в RAID1 эквивалентна 100 ГБ зеркалируемого пространства.

4. Просмотр использования и состояния

Команда ниже показывает, сколько пространства занято данными и метаданными:

sudo btrfs filesystem df /mybtrfs

Для просмотра списка устройств и их состояния:

sudo btrfs filesystem show /mybtrfs

Вывод btrfs filesystem df с деталями использования

5. Автомонтирование через /etc/fstab

Чтобы автоматически монтировать при загрузке, лучше использовать UUID вместо имени устройства. Получите UUID командой show и затем добавьте строку в /etc/fstab.

Пример с использованием имени устройства (работает, но менее устойчиво):

/dev/sdb   /mybtrfs   btrfs   defaults   0 0

Пример с UUID (рекомендуется):

UUID=7911f7a9-cd03-48ef-8dca-27550d6039f4 /mybtrfs btrfs defaults 0 0

Использование UUID предотвращает проблемы, когда порядок устройств меняется при загрузке.

6. Проверка и поддержка целостности

  • btrfs использует контрольные суммы для обнаружения повреждений.
  • Регулярно запускайте scrub для проверки и исправления при наличии избыточности:
sudo btrfs scrub start /mybtrfs
sudo btrfs scrub status /mybtrfs

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

7. Типичные ошибки и способы их избежать

  • Форматирование не тех дисков — всегда проверяйте /dev/имя и сделайте резервную копию.
  • Использование устаревших пакетов btrfs-tools вместо btrfs-progs.
  • Полагаться на /dev/sdX в fstab — лучше использовать UUID или метки (LABEL=).

Когда Btrfs не подходит

  • Для очень простых задач с одним диском и без требований к снапшотам может быть избыточной.
  • Для enterprise-сценариев с жёсткими SLA и где нужна сертифицированная поддержка RAID-контроллеров некоторым администраторам предпочтительнее проверенные аппаратные RAID-решения или LVM + mdadm.

Альтернативы

  • mdadm + ext4/xfs: традиционный программный RAID и стабильные ФС.
  • ZFS: альтернативная СОВ/RAID-файловая система с богатым набором функций (ARC, компрессия, дедупликация).

Быстрый чек-лист перед началом (роль: системный администратор)

  • Сделан бэкап важных данных.
  • Проверены обозначения дисков (lsblk, fdisk -l).
  • Установлены btrfs-progs.
  • Создана и проверена точка монтирования.
  • Добавлена запись в /etc/fstab с UUID.
  • Запланирован регулярный scrub.

Команды-справочник (cheat sheet)

  • Установка: sudo apt-get install btrfs-progs
  • Форматирование: sudo mkfs.btrfs -m raid1 -d raid1 /dev/sdb /dev/sdc
  • Монтирование: sudo mount /dev/sdb /mybtrfs
  • Использование: sudo btrfs filesystem df /mybtrfs
  • Список: sudo btrfs filesystem show /mybtrfs
  • Scrub: sudo btrfs scrub start /mybtrfs

Критерии приёмки

  1. Файловая система монтируется автоматически после перезагрузки по UUID.
  2. Команды btrfs filesystem show и btrfs filesystem df возвращают ожидаемые устройства и использование.
  3. Scrub проходит без необратимых ошибок (или ошибки восстановлены из зеркала).

Безопасность и бэкап

Btrfs повышает устойчивость к локальному повреждению блоков, но не заменяет регулярные резервные копии. Планируйте offsite-бэкапы и автоматические снимки для важных данных.

Короткий план действий (SOP)

  1. Сделать бэкап. 2. Установить btrfs-progs. 3. Подтвердить диски (lsblk). 4. mkfs.btrfs с нужными опциями. 5. Создать /mybtrfs и смонтировать. 6. Добавить UUID в /etc/fstab. 7. Запустить scrub и мониторинг.

1‑строчный глоссарий

  • subvolume — логический подраздел в Btrfs, похожий на отдельный том.
  • snapshot — моментальный снимок состояния subvolume.

Заключение

Btrfs обеспечивает мощные возможности для объединения дисков и зеркалирования с удобными инструментами управления. При правильной настройке и регулярном обслуживании (scrub, мониторинг) он даёт надёжную и гибкую платформу для хранения данных.

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

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Управление дубликатами в SQL — подсчёт и удаление
Базы данных

Управление дубликатами в SQL — подсчёт и удаление

Объединение таблиц в MySQL — JOIN на практике
Databases

Объединение таблиц в MySQL — JOIN на практике

Импорт данных SQL Server в Excel через Power Query
Данные

Импорт данных SQL Server в Excel через Power Query

Стрим игр на Steam Deck через Remote Play
Игры

Стрим игр на Steam Deck через Remote Play

Изменить фон загрузчика Grub на Linux
Linux

Изменить фон загрузчика Grub на Linux

HTML‑формы: как создавать и защищать
Веб-разработка

HTML‑формы: как создавать и защищать