hostprofi.ru
Подобрать хостинг
Термин·буква M

mdadm (программный RAID)

краткое определение

mdadm — утилита Linux для создания и управления программными RAID-массивами через драйвер md (Multiple Devices). Поддерживает RAID 0, 1, 5, 6, 10. Работает без аппаратного RAID-контроллера, используя CPU и память хоста для обеспечения избыточности данных.

mdadm (Multiple Disk Admin) — утилита командной строки для управления программным RAID в Linux. Входит в стандартные репозитории всех основных дистрибутивов. Программный RAID через mdadm работает на уровне ядра через драйвер md: для хостинга не требуется специальный контроллер.

Как работает

Создание RAID 1 (зеркало) из двух дисков:

mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1

RAID-массив представляется как обычное блочное устройство /dev/md0 — на него создаётся файловая система как обычно. Конфигурация сохраняется в /etc/mdadm/mdadm.conf. Статус массива: cat /proc/mdstat.

При сбое диска mdadm переводит массив в degraded-режим: RAID 1 продолжает работу с одним диском. После замены неисправного диска выполняется rebuild: mdadm /dev/md0 --add /dev/sdc1. Время rebuild RAID 1 для диска 2 ТБ — 4–8 часов.

Уровни RAID

  • RAID 0 — striping, скорость, нет избыточности. Потеря одного диска = потеря всего.
  • RAID 1 — mirror, 2 копии на 2 дисках. Ёмкость = 50%.
  • RAID 5 — striping + parity, min 3 диска. Ёмкость = N-1.
  • RAID 6 — striping + double parity, min 4 диска. Выдерживает отказ 2 дисков.
  • RAID 10 — зеркало + striping. min 4 диска, высокая производительность и надёжность.

Связь с хостингом

На выделенных серверах без аппаратного RAID mdadm — основной инструмент защиты данных от сбоя диска. На VPS mdadm не применяется — провайдер сам обеспечивает RAID на хосте. При заказе выделенного сервера без аппаратного RAID-контроллера mdadm RAID 1 — минимальный уровень защиты данных.

Создание RAID через mdadm

mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc — RAID 1 из двух дисков. cat /proc/mdstat — статус синхронизации. После создания: добавить в /etc/mdadm/mdadm.conf, обновить initramfs. Время синхронизации RAID 1 из 1 ТБ дисков — 2–4 часа.

Управление RAID

mdadm --detail /dev/md0 — статус массива. Добавление диска: mdadm --add /dev/md0 /dev/sdd. Горячая замена при отказе: помечается как faulty, добавляется новый. Hot spare: диск в резерве, автоматически включается при отказе основного.

Программный vs аппаратный RAID

mdadm бесплатен, надёжен для RAID 1/5/10. Недостаток: нагрузка на CPU (небольшая, 1–3%). При отказе материнской платы — массив читается на любом Linux с mdadm. Аппаратный RAID-контроллер с BBU надёжнее при потере питания во время записи.

mdadm в Ubuntu/Debian

Установка: apt install mdadm. После создания: mdadm --detail --scan >> /etc/mdadm/mdadm.conf. Обновление initramfs: update-initramfs -u — без этого RAID не подключится при загрузке. Zabbix: userparameter для мониторинга mdadm --detail /dev/md0.

RAID и производительность записи

RAID 5 write penalty: каждая запись требует чтение + XOR + 2 записи = 4 операции vs 1. Для write-heavy нагрузки: RAID 10 предпочтительнее. RAID 6: ещё медленнее при записи (6 операций). SSDs частично компенсируют penalty за счёт параллелизма и низкой latency.

mdadm создаёт программный RAID 1, RAID 5, RAID 10 на Ubuntu и Debian. Для дисков используют SATA SSD или NVMe. Мониторинг через системы мониторинга. Полезен при отсутствии аппаратного RAID-контроллера.

Другие термины