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

RAID на Linux: как настроить и управлять дисковыми массивами

8 min read Linux Обновлено 27 Dec 2025
RAID на Linux: настройка и управление
RAID на Linux: настройка и управление

Важно: RAID не заменяет резервное копирование. Массив помогает доступности и доступу к данным, но не защищает от удалённого удаления, шифровальщиков или ошибок пользователя.

Несколько жёстких дисков, готовых к сборке RAID

Краткие варианты использования

  • Быстродействие (чтение/запись): RAID 0 или RAID 10
  • Полная зеркальная копия: RAID 1
  • Баланс скорости и устойчивости: RAID 5 (минимум 3 диска) или RAID 6 (минимум 4 диска)
  • Критические сервисы с высокой нагрузкой: аппаратный RAID-контроллер или файловые системы с встроенным RAID (ZFS, Btrfs)

Что такое RAID

RAID — это «массив из нескольких дисков», объединённых так, чтобы система получала дополнительные свойства: скорость, избыточность или и то, и другое. Уровни RAID определяют способ распределения данных (striping), зеркалирования (mirroring) и расчёта четности (parity).

Ключевая идея в одной строке: RAID распределяет данные по нескольким дискам, чтобы при отказе одного (или нескольких, в зависимости от уровня) сервис продолжал работать.

Быстрый обзор уровней

  • RAID 0: распределение (striping). Повышение скорости, никакой устойчивости. Требуется минимум 2 диска.
  • RAID 1: зеркалирование. Данные полностью дублируются. Надёжно, но эффективный объём равен размеру самого маленького диска.
  • RAID 5: распределение с одной полосой четности. Баланс между скоростью и устойчивостью. Требуется минимум 3 диска; теряет объём равный одному диску.
  • RAID 6: как RAID 5, но с двумя блоками четности. Выдерживает отказ двух дисков; объём меньше на два диска.
  • RAID 10: комбинированный — зеркала внутри striped-групп. Высокая скорость и устойчивость, но дорогой по месту.

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

  • Когда вам нужна защита от случайного удаления или заражения — нужны бэкапы.
  • Если вы хотите экономить дископространство — RAID 1 и RAID 10 дублируют данные.
  • Если вы используете очень большие диски и беспокоитесь о времени восстановления: при сборке RAID 5/6 риск ошибок чтения (URE) при восстановлении растёт.

Схема настройки RAID на Linux

Как выбрать уровень RAID — простая методика

  1. Определите цель: скорость / отказоустойчивость / баланс.
  2. Посчитайте доступный бюджет дисков и объём, который хотите сохранить.
  3. Оцените время восстановления: чем больше объём дисков, тем выше риск ошибки при rebuild.
  4. Если нужна простота и надёжность для критичных сервисов — выбирайте RAID 10 или аппаратный RAID с батарейной защитой кэша.
  5. Для домашнего использования с ограниченным бюджетом — RAID 1 (зеркало) или RAID 5 при трёх дисках.

Настройка программного RAID на Linux (mdadm)

Ниже — практический пример создания RAID 5 из трёх дисков с помощью mdadm. Приведённые команды применимы в большинстве дистрибутивов Debian/Ubuntu-подобных систем; пути конфигурации могут немного отличаться в других системах.

  1. Установите инструмент mdadm:
sudo apt install mdadm
  1. Подготовьте диски. Допустим, у вас есть /dev/sdb, /dev/sdc, /dev/sdd (в примере будем использовать три виртуальных диска по 1 GB для наглядности).

Проверьте список дисков:

sudo fdisk -l
  1. Разметьте каждый диск и установите тип раздела RAID (тип fd). Для каждого диска (пример /dev/sdb):
sudo fdisk /dev/sdb

В интерактивном fdisk выполните команды по порядку:

  • n — новая партиция
  • p — первичная
  • 1 — номер партиции
  • — принять значения по умолчанию для первого и последнего сектора (или укажите конкретный размер)
  • t — сменить тип раздела
  • fd — код Linux RAID
  • w — сохранить и выйти

Повторите для /dev/sdc и /dev/sdd.

  1. Сообщите ядру о новых таблицах разделов:
sudo partprobe /dev/sdb
sudo partprobe /dev/sdc
sudo partprobe /dev/sdd
  1. Проверьте, что появился /dev/sdb1 /dev/sdc1 /dev/sdd1:
fdisk -l
  1. Создайте RAID 5 (массив /dev/md0):
sudo mdadm -C /dev/md0 --level=raid5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1

Разбор синтаксиса:

  • mdadm — утилита
  • -C — создать
  • /dev/md0 — создаваемый RAID-устройство
  • –level — уровень RAID
  • –raid-devices — количество физических устройств
  1. Проверить состояние массива:
sudo mdadm --detail /dev/md0
cat /proc/mdstat
  1. Сохраните конфигурацию mdadm, чтобы при загрузке массив собирался автоматически:
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
# В некоторых системах путь может быть /etc/mdadm.conf
sudo update-initramfs -u
  1. Создайте файловую систему и точку монтирования:
sudo mkfs.ext4 /dev/md0
sudo mkdir -p /data
  1. Временное монтирование:
sudo mount /dev/md0 /data/
  1. Постоянное монтирование — используйте UUID диска в /etc/fstab. Найдите UUID:
blkid /dev/md0

Добавьте строку в /etc/fstab (пример):

UUID=ВАШ-UUID /data ext4 defaults 0 2

Перезагрузите таблицу монтирования:

sudo mount -a

Список разделов и состояние RAID

Полезные команды для мониторинга и администрирования

  • Просмотр статуса: cat /proc/mdstat
  • Подробности массива: sudo mdadm –detail /dev/md0
  • Искать метаданные на устройстве: sudo mdadm –examine /dev/sdb1
  • Удалить устройство из массива: sudo mdadm –manage /dev/md0 –remove /dev/sdb1
  • Добавить устройство в массив: sudo mdadm –manage /dev/md0 –add /dev/sdb1
  • Ассемблировать массив вручную: sudo mdadm –assemble –scan

Примеры:

cat /proc/mdstat
sudo mdadm --detail /dev/md0
sudo mdadm --manage /dev/md0 --fail /dev/sdb1
sudo mdadm --manage /dev/md0 --remove /dev/sdb1
sudo mdadm --manage /dev/md0 --add /dev/sdb1

Управление отказами: пошаговый план (Incident runbook)

  1. Обнаружение: мониторинг срабатывает или в /proc/mdstat виден статус degraded.
cat /proc/mdstat
sudo mdadm --detail /dev/md0
  1. Пометить диск как вышедший из строя (если ещё не помечен):
sudo mdadm --manage /dev/md0 --fail /dev/sdb1
  1. Удалить его из массива:
sudo mdadm --manage /dev/md0 --remove /dev/sdb1
  1. Если у вас hot-swap, выньте диск и замените новым. Если нет — завершите обслуживание и замените диск при следующем окне.

  2. Разметьте новый диск как RAID (тип раздела fd) и сообщите ядру:

sudo fdisk /dev/sdb
# создать /dev/sdb1 с типом fd
sudo partprobe /dev/sdb
  1. Добавьте новый раздел в массив:
sudo mdadm --manage /dev/md0 --add /dev/sdb1
  1. Следите за процессом восстановления:
watch -n 10 cat /proc/mdstat
  1. После завершения убедитесь, что массив в норме:
sudo mdadm --detail /dev/md0

Замечание: при больших объёмах и RAID 5 восстановление может длиться долго и подвергать массив риску из-за возможных ошибок чтения. RAID 6 уменьшает этот риск, поскольку выдерживает двух одновременных отказавших дисков.

Что делать, если массив не собирается

  • Попробуйте собрать вручную: sudo mdadm –assemble –scan
  • Если метаданные повреждены, можно попытаться использовать –force при сборке, но это рискованно:
sudo mdadm --assemble --force /dev/md0 /dev/sdb1 /dev/sdc1 /dev/sdd1
  • Перед попытками агрессивного восстановления сделайте побитовый снимок (dd) проблемного диска на другой носитель для возможной офлайн-реанимации.

Тесты приёмки (минимальный набор)

  • Массив собирается автоматически после перезагрузки.
  • Максимальная доступная ёмкость соответствует расчетам для выбранного уровня RAID.
  • При удалении одного физического диска (симуляция отказа) данные остаются доступными (для уровней, где это ожидаемо).
  • Массив восстанавливается после добавления нового диска и завершения rebuild.

Резервные и альтернативные варианты

  • Бэкап: локальные копии, удалённые резервные копии, rsync, borg, restic — всегда иметь отдельные резервные копии вне RAID.
  • LVM поверх RAID: добавляет гибкость логических томов.
  • ZFS или Btrfs: файловые системы с встроенной проверкой целостности, снимками (snapshots) и собственными средствами зеркалирования.
  • Аппаратный RAID-контроллер: меньше нагрузки на CPU, часто батарейный кеш, но надо быть осторожным с vendor lock-in.

Плитка с ключевыми числами

  • Минимум для RAID 5: 3 диска
  • Минимум для RAID 6: 4 диска
  • Потеря объёма для RAID 5: общая ёмкость минус ёмкость одного диска
  • Потеря объёма для RAID 6: общая ёмкость минус ёмкость двух дисков
  • RAID 1 и RAID 10: эффективный объём обычно равен сумме половины физического объёма (в зависимости от конфигурации)

Изображение процесса сборки массива и мониторинга

Руководство по ролям — чеклисты

Администратор сервера:

  • Проверить совместимость контроллера и BIOS/UEFI.
  • Сделать бэкап перед любыми изменениями.
  • Использовать идентичные или совместимые диски по скорости и размеру.
  • Настроить мониторинг mdadm и оповещения.
  • Тестировать восстановление в тестовой среде.

Домашний пользователь:

  • Хранить копии важных данных вне RAID (облако, NAS, внешний диск).
  • Для домашнего NAS выбирать RAID 1 или RAID 5 (при 3 дисках).
  • Не полагаться на RAID как на единственный уровень защиты.

SOP: быстрый план развертывания RAID (пошагово)

  1. Оцените потребности (скорость/надёжность/объём).
  2. Подготовьте аппаратное обеспечение и резервные копии.
  3. Установите mdadm.
  4. Разметьте диски и назначьте тип RAID.
  5. Создайте массив и проверьте состояние.
  6. Создайте файловую систему и точку монтирования.
  7. Добавьте запись в /etc/fstab по UUID.
  8. Сохраните конфигурацию mdadm в mdadm.conf.
  9. Настройте мониторинг и оповещения.
  10. Проведите тест отказа и восстановления в окне обслуживания.

Советы по совместимости и миграции

  • При смешении дисков array видит их как размер наименьшего диска. Планируйте единообразие.
  • При переносе массива на другую машину убедитесь, что версия mdadm и ядро поддерживают метаданные, используемые вашим массивом.
  • Всегда сохраняйте вывод sudo mdadm –detail –scan — он помогает воссоздать конфигурацию на новом хосте.

Мониторинг статуса mdadm и списка файловых систем

Возможные сценарии отказа и когда RAID не спасёт

  • Шифровальщик/вредонос: RAID не защитит от шифрования файлов; нужен бэкап вне массива.
  • Ошибки пользователя (удаление, форматирование): RAID не восстановит удалённый файл.
  • Повреждение метаданных массива: может потребоваться ручное восстановление и риски потери данных.

Короткий словарь

  • mdadm — утилита для управления программными RAID на Linux.
  • Striping — распределение блоков данных по дискам для повышения скорости.
  • Mirroring — зеркалирование данных на несколько дисков.
  • Parity — блоки четности, используемые для восстановления данных.
  • Rebuild — процесс восстановления данных на заменённый диск.

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

  • Массив собирается корректно после перезагрузки.
  • При деградации массив продолжает обслуживать запросы (уровень зависит от RAID).
  • Время на восстановление укладывается в допустимый RTO (вручную определяемая цель).
  • Мониторинг оповещает о сбое, и процедура восстановления отработана.

Подсказки и чек-лист для тестов

  • Тест записи/чтения: dd if=/dev/zero of=/data/testfile bs=1M count=1024; sync; rm /data/testfile
  • Симуляция отказа: sudo mdadm –manage /dev/md0 –fail /dev/sdb1; sudo mdadm –manage /dev/md0 –remove /dev/sdb1
  • Добавление диска и rebuild: sudo mdadm –manage /dev/md0 –add /dev/sdb1; watch -n 5 cat /proc/mdstat

Заключение

RAID на Linux с mdadm — мощный инструмент для получения дополнительного уровня доступности и/или производительности. Для продакшена рассмотрите аппаратный RAID или файловые системы с встроенным контролем целостности (ZFS). Всегда имейте отдельные резервные копии и протестированные процедуры восстановления.

Дисплей с мониторингом и статусом массива

Спасибо, что прочитали! Вы уже используете RAID? Какой у вас опыт обслуживания дисков и какие ошибки вы хотели бы избежать?

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

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

Err_Connection_Timed_Out в Chrome: как исправить
Технологии

Err_Connection_Timed_Out в Chrome: как исправить

Как искать текст в Safari на iPhone и iPad
iOS

Как искать текст в Safari на iPhone и iPad

Endel: персонализированные звуковые ландшафты
Приложения

Endel: персонализированные звуковые ландшафты

Как стать этичным хакером — навыки и план действий
Кибербезопасность

Как стать этичным хакером — навыки и план действий

Как управлять несколькими аккаунтами в Outlook
Электронная почта

Как управлять несколькими аккаунтами в Outlook

Редактирование PDF в Canva
Инструменты

Редактирование PDF в Canva