RAID в Linux
RAID (Redundant Array of Independent Disks) — технология объединения нескольких физических дисков в единый логический массив с целью повышения производительности, надёжности и/или ёмкости хранения.
В Linux управление RAID-массивами выполняется с помощью утилиты mdadm.
⚙️ RAID 0 — Striping (чередование блоков)
Принцип работы:
RAID 0 распределяет (чередует) данные по всем дискам массива, разбивая их на блоки. Каждый следующий блок записывается на другой диск. Таким образом, чтение и запись происходят параллельно.
Характеристики:
| Параметр | Значение |
|---|---|
| Избыточность | ❌ Отсутствует |
| Производительность | 🚀 Очень высокая |
| Минимальное число дисков | 2 |
| Потеря данных при сбое | Полная |
Преимущества:
- Максимальная скорость чтения и записи.
- Полное использование ёмкости дисков.
Недостатки:
- Отсутствие защиты от отказа: выход одного диска разрушает массив.
Пример создания RAID 0:
sudo mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sda /dev/sdb
🧩 RAID 1 — Mirroring (зеркалирование)
Принцип работы:
RAID 1 хранит идентичные копии данных на каждом диске массива. Если один диск выходит из строя, система продолжает работу, используя зеркало.
Характеристики:
| Параметр | Значение |
|---|---|
| Избыточность | ✅ Полная |
| Производительность | 🔄 Средняя (чтение быстрее, запись как на один диск) |
| Минимальное число дисков | 2 |
| Потеря данных при сбое | Нет (при отказе одного диска) |
Преимущества:
- Высокая надёжность и отказоустойчивость.
- Возможность "горячей" замены дисков.
Недостатки:
- Эффективная ёмкость массива равна одному диску.
- Более высокая стоимость хранения.
Пример создания RAID 1:
sudo mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sda /dev/sdb
🔗 RAID 10 — Комбинированный уровень (Striping + Mirroring)
Принцип работы:
RAID 10 объединяет принципы RAID 0 и RAID 1.
Данные сначала зеркалируются (RAID 1), а затем распределяются по зеркальным парам (RAID 0).
Результат — высокая производительность и надёжность.
Характеристики:
| Параметр | Значение |
|---|---|
| Избыточность | ✅ Частичная |
| Производительность | 🚀 Высокая |
| Минимальное число дисков | 4 |
| Потеря данных при сбое | Нет (пока не выйдут оба диска одной пары) |
Преимущества:
- Баланс между скоростью и надёжностью.
- Быстрое восстановление после сбоя.
Недостатки:
- Используется только половина общей ёмкости.
- Более высокая стоимость.
Пример создания RAID 10:
sudo mdadm --create /dev/md10 --level=10 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd
🩺 Мониторинг и проверка состояния RAID
После создания RAID-массива важно контролировать его состояние и здоровье дисков.
Linux предоставляет несколько инструментов для диагностики и мониторинга.
🔍 Проверка состояния массива
cat /proc/mdstat
Показывает текущее состояние всех RAID-массивов:
- активные устройства (
md0,md1, …) - статус синхронизации (
[UU]— оба диска активны,[U_]— один диск отсутствует)
📊 Подробная информация через mdadm
sudo mdadm --detail /dev/md0
Отображает полную информацию:
- уровень RAID
- состояние дисков
- UUID массива
- текущие операции (resync, recovery)
🧠 Проверка SMART-статуса дисков
sudo smartctl -a /dev/sda
(требуется пакет smartmontools)
SMART — технология самодиагностики дисков, позволяющая обнаруживать ошибки чтения, повышенные температуры и предсказуемые отказы.
⚡ Мониторинг в реальном времени
watch cat /proc/mdstat
Команда watch обновляет вывод /proc/mdstat каждые 2 секунды, что удобно при реконструкции массива или синхронизации данных.
💌 Уведомления о сбоях
Чтобы получать уведомления при проблемах RAID, добавьте в /etc/mdadm/mdadm.conf строку:
MAILADDR admin@example.com
и включите сервис мониторинга:
sudo systemctl enable --now mdmonitor