RAID
RAID (от англ. Redundant Array of Independent Disks — избыточный массив независимых дисков) — это технология виртуализации данных, объединяющая несколько физических дисковых накопителей (жёстких дисков или твердотельных накопителей) в единый логический блок для повышения производительности, отказоустойчивости или увеличения ёмкости хранения. RAID-массивы управляются контроллером — аппаратным (специализированная плата) или программным (драйвер операционной системы). Основные цели использования RAID — обеспечение сохранности данных при выходе из строя одного или нескольких дисков и ускорение операций чтения/записи.
История
Технология RAID была впервые описана в 1987 году в статье Дэвида Паттерсона, Гарта Гибсона и Рэнди Каца из Калифорнийского университета в Беркли. В работе «A Case for Redundant Arrays of Inexpensive Disks» авторы предложили объединять недорогие диски в массив, который по характеристикам превосходит один дорогой диск. Изначально аббревиатура расшифровывалась как Redundant Array of Inexpensive Disks (избыточный массив недорогих дисков), но позже слово Inexpensive заменили на Independent, подчеркнув независимость дисков.
Первые коммерческие реализации RAID появились в начале 1990-х годов. Компании, такие как Compaq, IBM и Adaptec, начали выпускать аппаратные RAID-контроллеры. В 1993 году в операционной системе NetWare корпорации Novell была реализована программная поддержка RAID. С развитием технологий и снижением стоимости дисков RAID стал стандартом для серверов, систем хранения данных (СХД) и высокопроизводительных рабочих станций.
Классификация уровней RAID
RAID не является единой технологией; существует несколько стандартизированных уровней (RAID 0, 1, 5, 6, 10 и другие), каждый из которых предлагает свой баланс между производительностью, надёжностью и эффективностью использования дискового пространства. Наиболее распространённые уровни:
RAID 0 (Striping — чередование)
- Принцип: данные разбиваются на блоки (страйпы) и записываются на все диски массива поочерёдно.
- Минимальное количество дисков: 2.
- Особенности: максимальная производительность чтения и записи (теоретически в N раз выше, чем у одного диска). Ёмкость массива равна сумме ёмкостей всех дисков.
- Недостаток: полное отсутствие отказоустойчивости. Выход из строя любого диска приводит к потере всех данных массива.
- Применение: временное хранение данных, видеомонтаж, игровые системы, где скорость важнее надёжности.
RAID 1 (Mirroring — зеркалирование)
- Принцип: данные дублируются на два или более диска. Каждый диск является точной копией другого.
- Минимальное количество дисков: 2.
- Особенности: высокая отказоустойчивость (массив продолжает работу при выходе из строя одного диска). Скорость чтения может быть выше, чем у одного диска (за счёт параллельного доступа), скорость записи — на уровне одного диска.
- Недостаток: полезная ёмкость равна ёмкости одного диска (при двух дисках — 50% от общей).
- Применение: критически важные данные (операционные системы, базы данных), где надёжность приоритетнее объёма.
RAID 5 (Striping with Parity — чередование с чётностью)
- Принцип: данные и информация для восстановления (чётность) распределяются по всем дискам массива. Чётность позволяет восстановить данные при выходе из строя одного диска.
- Минимальное количество дисков: 3.
- Особенности: хороший баланс между производительностью, надёжностью и эффективностью. Полезная ёмкость равна сумме ёмкостей всех дисков минус ёмкость одного диска (для хранения чётности). Скорость чтения высокая, скорость записи ниже из-за необходимости вычисления чётности.
- Недостаток: при выходе из строя одного диска производительность массива резко падает (режим деградации). Восстановление (rebuild) занимает много времени и создаёт нагрузку на остальные диски.
- Применение: файловые серверы, веб-серверы, системы общего назначения.
RAID 6 (Striping with Double Parity — чередование с двойной чётностью)
- Принцип: аналогичен RAID 5, но используется два блока чётности на каждый страйп. Позволяет пережить выход из строя двух дисков одновременно.
- Минимальное количество дисков: 4.
- Особенности: более высокая отказоустойчивость по сравнению с RAID 5. Полезная ёмкость равна сумме ёмкостей всех дисков минус ёмкость двух дисков.
- Недостаток: ещё более низкая скорость записи из-за двойного вычисления чётности; высокие требования к вычислительной мощности контроллера.
- Применение: системы хранения с большим количеством дисков (более 10), архивы, критически важные данные.
RAID 10 (RAID 1+0 — зеркалирование и чередование)
- Принцип: комбинация RAID 1 и RAID 0. Сначала диски объединяются в зеркальные пары (RAID 1), затем эти пары объединяются в массив с чередованием (RAID 0).
- Минимальное количество дисков: 4 (чётное число).
- Особенности: высокая производительность (как у RAID 0) и высокая отказоустойчивость (как у RAID 1). Выход из строя одного диска не приводит к потере данных, если в каждой зеркальной паре остаётся хотя бы один рабочий диск.
- Недостаток: полезная ёмкость составляет 50% от общей (как у RAID 1).
- Применение: высоконагруженные базы данных, виртуализация, критически важные серверы.
Другие уровни
- RAID 2, 3, 4: устаревшие или редко используемые уровни. RAID 2 использует коды Хэмминга, RAID 3 и 4 — выделенный диск для чётности. В современных системах практически не применяются.
- RAID 50, 60: комбинации RAID 5 и 0, RAID 6 и 0 соответственно. Используются в крупных СХД для повышения производительности и надёжности.
- JBOD (Just a Bunch Of Disks): не является RAID, но часто упоминается в контексте. Диски объединяются в один логический том без избыточности и без повышения производительности.
Устройство и компоненты
Аппаратный RAID-контроллер
- Физическое устройство: плата расширения (PCIe) или встроенный чип на материнской плате. Имеет собственный процессор (RAID-on-Chip) и кэш-память (DRAM). Контроллер берёт на себя все вычисления (чётность, управление запросами). Не зависит от операционной системы.
- Преимущества: высокая производительность, низкая нагрузка на центральный процессор, поддержка «горячей» замены дисков, батарейная защита кэша (защита данных при отключении питания).
- Недостатки: высокая стоимость, привязанность к конкретной модели (выход из строя контроллера требует замены на совместимый).
Программный RAID
- Реализация: драйвер операционной системы или утилиты (mdadm в Linux, Storage Spaces в Windows, ZFS). Все вычисления выполняются центральным процессором.
- Преимущества: низкая стоимость (не требует покупки контроллера), гибкость (можно менять конфигурацию), независимость от аппаратной платформы.
- Недостатки: нагрузка на процессор (особенно при RAID 5/6), зависимость от стабильности ОС, ограниченная поддержка «горячей» замены.
Псевдоаппаратный RAID
- Реализация: встроенный в материнскую плату контроллер (часто от Intel, AMD или Marvell), который использует для вычислений центральный процессор, но предоставляет BIOS-интерфейс для настройки. Фактически является программным RAID с аппаратной обвязкой.
- Особенности: занимает промежуточное положение по производительности и стоимости.
Характеристики и параметры
- Ёмкость массива: зависит от уровня RAID и количества дисков. Рассчитывается по формуле:
(N - P) * C, где N — количество дисков, P — количество дисков, отведённых под чётность (для RAID 5 — 1, для RAID 6 — 2), C — ёмкость одного диска (при одинаковых дисках). - Производительность: измеряется в IOPS (операциях ввода-вывода в секунду) и пропускной способности (МБ/с). Зависит от уровня RAID, скорости дисков, контроллера и протокола (SATA, SAS, NVMe).
- Отказоустойчивость: способность массива продолжать работу при выходе из строя дисков. Определяется уровнем RAID и количеством «допустимых» отказов.
- Время восстановления (rebuild): время, необходимое для восстановления данных на заменённом диске. Зависит от ёмкости диска, производительности контроллера и нагрузки на массив.
- Горячая замена (hot swap): возможность замены диска без выключения системы. Поддерживается большинством аппаратных контроллеров и некоторыми программными реализациями.
- Горячий резерв (hot spare): запасной диск, автоматически подключаемый к массиву при выходе из строя основного диска.
Применение
RAID широко используется в различных областях информационных технологий:
- Серверы и дата-центры: для хранения операционных систем, баз данных, файловых хранилищ. Уровни RAID 5, 6, 10 являются стандартом для серверов среднего и высокого уровня.
- Системы хранения данных (СХД): специализированные устройства (DAS, NAS, SAN) используют RAID для обеспечения отказоустойчивости и производительности. В крупных СХД применяются RAID 6, 50, 60.
- Персональные компьютеры и рабочие станции: RAID 0 используется для ускорения работы с большими файлами (видео, графика), RAID 1 — для защиты личных данных.
- Видеонаблюдение: RAID 5 или 6 применяется для хранения архивов видеозаписей с высокой надёжностью.
- Научные вычисления: RAID 0 или 10 используется для обеспечения высокой пропускной способности при работе с большими массивами данных.
Критика и ограничения
- RAID не является резервным копированием. Технология защищает только от отказа дисков. Данные могут быть потеряны из-за ошибок ПО, вирусов, случайного удаления, пожара или кражи. Для полноценной защиты требуется регулярное резервное копирование.
- Вероятность отказа нескольких дисков. При использовании RAID 5 с большими дисками (4 ТБ и более) время восстановления может составлять десятки часов. В этот период нагрузка на остальные диски возрастает, что увеличивает вероятность их отказа.
- Сложность восстановления. При выходе из строя контроллера или повреждении метаданных массива восстановление данных может потребовать специального ПО и навыков.
- «Ложная безопасность». Некоторые пользователи полагают, что RAID полностью защищает данные, что приводит к пренебрежению резервным копированием.
Интересные факты
- Первоначальная статья Паттерсона и Гибсона описывала пять уровней RAID (0–4). RAID 5 был предложен позже, в 1988 году, как усовершенствование RAID 4.
- В 2010-х годах с распространением SSD и NVMe-накопителей появились специализированные уровни RAID (например, RAID 50 на NVMe), а также технологии, заменяющие RAID в некоторых сценариях (например, Ceph, GlusterFS).
- В бытовых компьютерах RAID используется редко из-за сложности настройки и отсутствия явной необходимости для большинства пользователей.
Источники
- Patterson, D. A., Gibson, G., & Katz, R. H. (1988). A Case for Redundant Arrays of Inexpensive Disks (RAID). Proceedings of the 1988 ACM SIGMOD International Conference on Management of Data.
- Chen, P. M., Lee, E. K., Gibson, G. A., Katz, R. H., & Patterson, D. A. (1994). RAID: High-Performance, Reliable Secondary Storage. ACM Computing Surveys, 26(2), 145–185.
- Стандарт SNIA (Storage Networking Industry Association) — Common RAID Disk Drive Format (DDF).
- Документация к программному обеспечению mdadm (Linux) и Storage Spaces (Windows).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →