RAID 1 — один из уровней RAID (Redundant Array of Independent Disks): массив из минимум двух дисков, на каждый из которых записывается полная копия данных (зеркало). Если один диск выходит из строя, система продолжает работу с оставшимся без потери данных и без прерывания сервиса. Это базовый уровень отказоустойчивости для серверов, где потеря данных недопустима.
Как работает RAID 1
При каждой операции записи RAID-контроллер (или программный RAID — mdadm) записывает данные одновременно на все диски массива. Операции чтения могут распределяться между дисками: при двух дисках — до 2× скорость чтения. При отказе одного диска контроллер переходит в режим degraded и продолжает работу с исправным диском, генерируя alert через IPMI или email.
Rebuild после замены диска: данные блок за блоком копируются с рабочего диска на новый. Для HDD 4 ТБ rebuild занимает 6–20 часов — в это время производительность падает и массив уязвим к потере данных (нет избыточности). Поэтому рекомендуется hot spare.
Варианты RAID 1 в практике
- 2-дисковый RAID 1 — классика: зеркало из 2 HDD или SSD. Полезная ёмкость = размер одного диска.
- 3-дисковый RAID 1 — трройное зеркало, выживет при потере 2 из 3 дисков одновременно.
- RAID 10 (1+0) — зеркала + чередование: выдержит потерю одного диска в каждой паре. Объединяет скорость RAID 0 и надёжность RAID 1.
История RAID
Концепция RAID разработана Дэвидом Паттерсоном, Гарантом Гибсоном и Рэнди Катцем (UC Berkeley) в 1987–1988 годах. Статья «A Case for Redundant Arrays of Inexpensive Disks» опубликована в 1988 году. RAID 1 — одновременно самый простой и самый надёжный уровень. Первые коммерческые RAID-контроллеры появились у Compaq и IBM в 1990-х годах. mdadm (программный Linux RAID) — с 2003 года, входит в стандартное ядро.
RAID 1 в хостинге
Для выделенных серверов RAID 1 из двух SSD/NVMe — минимально разумная конфигурация. Потеря данных без RAID при отказе одного диска вероятна для любого диска за 3–5 лет эксплуатации. Для VPS дисковая защита реализуется на уровне хранилища гипервизора (Ceph, ZFS с RAID-Z), не на уровне гостевой ОС. RAID 1 не заменяет бэкапы: при случайном удалении файла оба зеркала одновременно отразят удаление.
Программный vs аппаратный RAID 1
Программный RAID (mdadm в Linux): бесплатный, контроллер не нужен, работает с любыми дисками, не привязан к конкретному железу. Минус: чуть выше нагрузка на CPU (обычно незначительно). Аппаратный RAID (LSI MegaRAID, HPE Smart Array, Dell PERC): выделенный процессор для RAID-операций, кэш с battery backup (BBU) — защита от потери данных при отключении питания в момент записи. Минус: при замене контроллера нужен такой же или совместимый — иначе данные на дисках нечитаемы. ZFS RAID-Z/mirror — третий вариант: интеграция файловой системы и RAID, checksumming данных, защита от silent data corruption — современный стандарт для storage-серверов.
RAID 1 производительность
Скорость записи: ограничена скоростью медленнейшего диска в массиве (оба диска должны подтвердить запись). Скорость чтения: контроллер распределяет запросы между дисками — до 2× ускорение для последовательного чтения. Случайное чтение: каждый запрос обслуживается одним диском, прирост меньше. Для NVMe RAID 1: latency ~100–150 мкс vs ~50–80 мкс для одного диска (overhead на синхронизацию записи). Для read-intensive workload разница незначительна. FS-level RAID (ZFS mirror, mdadm): добавляет checksumming — обнаруживает silent data corruption (bitrot), чего не делают аппаратные контроллеры без End-to-End защиты.