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

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
Автор
Редакция

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

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство