RAID-контроллер управляет группой физических дисков, объединённых в RAID-массив. Он скрывает физические диски от операционной системы, представляя вместо них один или несколько логических томов с заданным уровнем избыточности.
Как работает
Аппаратный RAID-контроллер (LSI MegaRAID, Adaptec, HPE Smart Array) — отдельная плата PCIe со своим процессором (ASIC), кэш-памятью (256 МБ – 8 ГБ) и BBU (Battery Backup Unit) или суперконденсатором для сохранения кэша при отключении питания. Все операции чётности и записи выполняются на контроллере без нагрузки на системный CPU.
Кэш записи (write cache) критичен для производительности: при включённом кэше контроллер немедленно подтверждает запись приложению, а реально записывает на диски асинхронно. На практике это ускоряет запись в 5–20 раз. Без BBU кэш записи отключают — иначе при сбое питания данные потеряются.
Программный RAID (mdadm в Linux, Storage Spaces в Windows) использует CPU сервера для расчёта чётности. Для RAID 1 и RAID 10 потери производительности минимальны. Для RAID 5/6 с интенсивной записью — нагрузка на CPU может достигать 30–50%.
История
Концепция RAID предложена в 1988 году в статье Паттерсона, Гибсона и Катца «A Case for Redundant Arrays of Inexpensive Disks». Первые аппаратные RAID-контроллеры появились в 1989–1990 годах. LSI Logic (ныне Broadcom) — один из старейших производителей серверных RAID-контроллеров.
На что обращать внимание
При покупке сервера с аппаратным RAID проверяйте наличие исправного BBU (срок жизни — 3–5 лет). Без BBU кэш записи отключается и производительность резко падает. Для виртуализации с NVMe-дисками аппаратный RAID часто не нужен: лучше использовать программный RAID или ZFS с встроенным checksumming.
Аппаратный vs программный RAID
Аппаратный RAID-контроллер имеет собственный процессор и кэш с BBU (Battery Backup Unit). Программный RAID через mdadm — бесплатная альтернатива на CPU хоста; без BBU операции записи небезопасны при потере питания.
Популярные RAID-контроллеры
Dell: PERC H730/H740 (Broadcom MegaRAID). HP: Smart Array P408i. Управление: storcli (CLI от Broadcom), MegaRAID Storage Manager. Мониторинг состояния через Zabbix или SMART-мониторинг.
Уровни RAID
RAID 0 — striping без избыточности. RAID 1 — зеркало: 50% эффективность. RAID 5 — striping с паритетом: 67–94% эффективность. RAID 10 — лучший баланс для баз данных. JBOD — диски как отдельные тома без RAID.
BBU и Write Cache
BBU (Battery Backup Unit) защищает кэш RAID-контроллера при потере питания: данные из write-back кэша не теряются. Без BBU безопасен только write-through (без кэша) — медленнее в 3–5 раз. Проверка заряда BBU: storcli /c0/bbu show.
ZFS как альтернатива аппаратному RAID
ZFS on Linux (OpenZFS): файловая система + volume manager + RAID. Proxmox VE использует ZFS нативно. Преимущества: checksumming (защита от bit rot), снапшоты, дедупликация, сжатие. ZFS mirror (RAID 1) или RAIDZ2 (RAID 6). Требует больше RAM: 1 ГБ на 1 ТБ хранилища.