RAID 10 строится из пар зеркальных дисков, объединённых в чередование. Например, 4 диска: D1+D2 — зеркальная пара, D3+D4 — зеркальная пара. Данные чередуются между парами, обеспечивая скорость RAID 0. При отказе одного диска в паре массив продолжает работать за счёт зеркальной копии.
Как работает
Запись в RAID 10: блок данных одновременно записывается на оба диска пары (зеркало) и чередуется между парами (страйп). Скорость записи сопоставима с RAID 1: каждая запись идёт на 2 диска параллельно. Скорость чтения масштабируется с числом шпинделей: 4 диска дают ~2x скорость чтения по сравнению с одним диском.
Сравнение с RAID 5: RAID 5 экономичнее по дискам (1 диск на чётность), RAID 10 быстрее при случайной записи и надёжнее при одновременном отказе нескольких дисков. При 4 дисках RAID 10 выдерживает отказ 2 дисков из разных пар, RAID 5 — только 1 диска.
Для восстановления после отказа диска в RAID 10 нужно заменить упавший диск — массив восстановится за 30–120 минут (зависит от объёма). Rebuild RAID 5 занимает 6–24 часа и создаёт экстремальную нагрузку на оставшиеся диски.
История
Термин RAID 10 введён в стандарт в 1990-х. Стал популярен для баз данных в 2000-х. С переходом на SSD производительность RAID 10 из 4 NVMe превосходит все альтернативы для OLTP-нагрузок.
На что обращать внимание
RAID 10 из 4 дисков использует 50% ёмкости под зеркала. Для хостинга: RAID 10 из 4 NVMe — оптимальный выбор для MySQL/PostgreSQL. Для объёмного хранилища с редкими записями — RAID 6 экономичнее.
Структура RAID 10
RAID 10 (1+0): минимум 4 диска, пары RAID 1 + поверх RAID 0. При 4 дисках по 1 ТБ: 2 ТБ доступного пространства (50% эффективность). Допустимые отказы: по одному диску из каждой зеркальной пары.
RAID 10 vs RAID 5 для баз данных
RAID 5 — лучшая эффективность пространства (67–83% vs 50% RAID 10), но медленнее при случайной записи из-за пересчёта паритета. RAID 10 — стандарт для MySQL, PostgreSQL с высокой нагрузкой на запись.
RAID 10 в хостинговой инфраструктуре
В серверах под виртуализацию — RAID 10 из NVMe-дисков: надёжность и высокая производительность для всех ВМ одновременно. Мониторинг состояния: mdadm --detail /dev/md0 или через RAID-контроллер.
Восстановление RAID 10 при отказе
Отказ одного диска: RAID 10 продолжает работу (зеркало избыточно). Восстановление: mdadm --add /dev/md0 /dev/sde → rebuild. Время rebuild 1 ТБ SATA HDD: 6–12 часов. NVMe: 30–90 минут. В это время производительность снижена на 20–30%.
Мониторинг RAID 10
mdadm: mdadm --detail /dev/md0 — статус, число failed устройств. Добавить в cron: 0 0 * * * mdadm --detail --scan | mail -s "RAID status" admin@domain.ru. Zabbix шаблон mdadm. При state=degraded — немедленная замена диска. Spare диск ускоряет восстановление.
RAID 10 в NVMe-конфигурациях
Два NVMe-диска в software RAID 10 (mdadm): суммарный IOPS 200 000+. Для хостинга с 10–20 ВМ — достаточно. 4× NVMe в RAID 10: 400 000+ IOPS, задержка < 0.1 мс. Это в 50–100 раз быстрее SATA HDD RAID 10. Оптимальная конфигурация для хост-сервера виртуализации.