GPU Hardware

RAID

Технология объединения нескольких дисков в один логический том ради отказоустойчивости, скорости или увеличения объёма.

Что такое RAID

RAID (Redundant Array of Independent Disks — избыточный массив независимых дисков) — технология объединения нескольких физических накопителей в один логический том. Операционная система видит один диск, а данные распределены по нескольким.

Решает три задачи, и почти всегда с компромиссом между ними:

  • Отказоустойчивость — массив переживает выход диска из строя без потери данных.
  • Скорость — чтение и запись параллельно с нескольких дисков.
  • Объём — один том больше самого крупного из имеющихся накопителей.

Изначально аббревиатуру расшифровывали как Inexpensive Disks — идея была собрать надёжное хранилище из дешёвых серийных дисков вместо одного дорогого промышленного. Сегодня прижилось Independent.

Уровни RAID

Уровень Мин. дисков Полезный объём Переживает отказ Смысл
RAID 0 2 100% Нет Только скорость и объём
RAID 1 2 50% N−1 дисков Зеркало, простое и надёжное
RAID 5 3 (N−1)/N 1 диск Компромисс объём/надёжность
RAID 6 4 (N−2)/N 2 диска RAID 5 для больших дисков
RAID 10 4 50% 1 в каждом зеркале Скорость + надёжность, дорого

RAID 0 отказоустойчивости не даёт вовсе — наоборот, снижает: отказ любого диска убивает весь массив, и вероятность отказа растёт с числом дисков. Слово «избыточный» в названии к нулевому уровню не относится.

RAID 5 хранит контрольные суммы, размазанные по всем дискам. Его репутация испортилась с ростом объёмов: при замене диска массив читает все оставшиеся целиком, чтобы пересчитать данные. На больших HDD это тянется сутками, все диски под полной нагрузкой, а второй отказ в этом окне убивает массив. Отсюда правило: на дисках от нескольких терабайт — RAID 6 или RAID 10, но не RAID 5.

RAID 10 — зеркала, объединённые в страйп. Быстрее всех на случайной записи и быстро восстанавливается (копируется только один диск, не весь массив). Платите половиной объёма.

Что такое RAID-контроллер

RAID-контроллер — устройство или программный слой, который собирает физические диски в массив и считает контрольные суммы. Вариантов три, и разница между ними существенная.

Аппаратный RAID — отдельная плата в слоте PCIe со своим процессором и кешем: Broadcom/LSI MegaRAID, Dell PERC, HPE Smart Array. Считает чётность сама, не трогая CPU. ОС видит готовый том.

Тут критична деталь, которую часто игнорируют: кеш на запись без защиты питания опасен. Контроллер отвечает «записано», держа данные в своей памяти. Пропало питание — данные исчезли, а массив уверен, что всё на диске. Поэтому на write-back кеш ставят батарею (BBU) или флеш-защиту. Без них включать write-back — приглашение к порче данных.

Второй нюанс аппаратного RAID: массив привязан к модели контроллера. Плата умерла — диски нужно вставить в совместимый контроллер, иначе метаданные никто не прочитает.

Программный RAID — массив собирает ОС: mdadm в Linux, RAIDZ в ZFS, Storage Spaces в Windows. Современному процессору расчёт чётности почти ничего не стоит, а массив не привязан к железу: диски переезжают в любой сервер. Для этого контроллер переводят в режим HBA / IT mode — сквозной проброс дисков без своей логики.

Fake RAID — «RAID» на чипсете материнской платы. Своего процессора у него нет, всё считает драйвер, то есть тот же программный RAID, но с проприетарным форматом и хуже диагностикой. Сюда же относится большинство настроек RAID в UEFI на десктопных платах.

# Собрать зеркало из двух дисков (Linux, mdadm)
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc

# Состояние массивов
cat /proc/mdstat
mdadm --detail /dev/md0

NVMe RAID mode: что это в настройках UEFI

Частый вопрос при сборке или установке системы. NVMe RAID Mode (у Intel это связано с VMD — Volume Management Device и технологией RST, у AMD — RAIDXpert2) — параметр в UEFI, переключающий режим работы контроллера накопителей.

  • AHCI / NVMe (обычный режим) — диск виден системе напрямую. Значение по умолчанию для большинства сценариев.
  • RAID / VMD (режим RAID) — контроллер перехватывает диски и отдаёт их ОС как массив, но только при наличии специального драйвера.

Отсюда самая распространённая проблема: установщик Windows не видит NVMe-диск. Причина обычно в том, что в UEFI включён режим RAID/VMD, а драйвера у установщика нет. Решений два — либо подгрузить драйвер (Intel RST/VMD или AMD RAID) кнопкой «Загрузить драйвер», либо переключить режим в AHCI, если массив вам не нужен.

Отдельно стоит запомнить: менять режим после установки ОС нельзя. Windows загрузится с ошибкой INACCESSIBLE_BOOT_DEVICE, потому что нужный драйвер хранилища не был инициализирован при загрузке.

И ещё: полноценного аппаратного RAID для NVMe в привычном виде почти нет — классический контроллер стал бы узким местом на скоростях PCIe. Практика для NVMe — программный массив (mdadm, ZFS) или платформенные решения вроде Intel VROC, часть возможностей которого на серверных платформах исторически требовала лицензионного ключа.

RAID — это не резервная копия

Самое важное и самое игнорируемое. RAID защищает от отказа железа, и только от него. Он не спасает от:

  • случайного rm -rf и DROP TABLE — удаление честно продублируется на все диски;
  • шифровальщика — по той же причине;
  • порчи данных на уровне ФС или приложения;
  • пожара, залива и кражи сервера;
  • ошибки самого контроллера.

RAID даёт непрерывность работы: диск умер, сервис живёт. Резервное копирование даёт возможность вернуться назад во времени. Это разные задачи, и одно другое не заменяет — эти уровни защиты нужны оба.

Связанные термины

Готовы запустить GPU-задачу?

Запустить GPU-сервер