RAID в Linux (md)
RAID (Redundant Array of Independent Disks) — объединение блочных устройств в массив для производительности, отказоустойчивости или ёмкости. В Linux реализован подсистемой md (multiple devices); управляется утилитой mdadm(8). См. Documentation/admin-guide/md.rst.
RAID 0 — Striping
Чередование блоков (chunks) между N устройствами. Запись/чтение распараллеливаются.
sudo mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sda /dev/sdb
RAID 1 — Mirroring
Идентичные копии данных на каждом устройстве. Чтение распараллеливается между копиями; запись идёт во все.
sudo mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sda /dev/sdb
RAID 10 — Mirror over Stripe
Linux md --level=10 — нативная реализация (не nested RAID 1+0). Поддерживает near, far, offset layouts (-p n2, -p f2, -p o2) и нечётное число устройств.
sudo mdadm --create /dev/md10 --level=10 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd
Мониторинг
/proc/mdstat
cat /proc/mdstat
Формат строки состояния: [UU] — все устройства active, [U_] — одно failed/missing. Прогресс resync/recovery печатается ниже.
mdadm --detail
sudo mdadm --detail /dev/md0
Поля: Raid Level, Array Size, Used Dev Size, State (clean, degraded, resyncing, recovering), Active/Working/Failed/Spare Devices, UUID.
SMART
sudo smartctl -a /dev/sda
Пакет smartmontools. Показывает SMART-атрибуты: Reallocated_Sector_Ct, Pending_Sector_Count, Temperature_Celsius и др.
Реальное время
watch cat /proc/mdstat
Уведомления
/etc/mdadm/mdadm.conf (Debian/Ubuntu) или /etc/mdadm.conf (RHEL):
MAILADDR admin@example.com
Демон mdadm --monitor:
sudo systemctl enable --now mdmonitor.service
(на Debian/Ubuntu юнит называется mdmonitor.service, на других дистрибутивах может быть mdadm.service).