RAID расшифровка и что называют RAID-массивом
RAID расшифровывается как Redundant Array of Independent Disks — избыточный массив независимых дисков. В практическом смысле RAID-массив — это группа накопителей, для которой контроллер, операционная система или файловая система задаёт единые правила размещения данных.
Исторически термин появился в статье 1988 года «A Case for Redundant Arrays of Inexpensive Disks (RAID)» Дэвида Паттерсона, Гарта Гибсона и Рэнди Каца из University of California, Berkeley. В исходной формулировке использовалось слово *Inexpensive* («недорогих»), а в современной расшифровке обычно говорят *Independent* («независимых»).
Для ОС массив выглядит как логический диск: блочное устройство с собственным размером и именем. Приложение записывает блоки на этот логический диск, а RAID-подсистема сопоставляет их с блоками конкретных физических накопителей по правилам выбранного уровня. Поэтому ОС и приложения обычно не управляют каждым диском массива по отдельности.
Принцип работы RAID: чередование, зеркало и чётность
Архитектура RAID строится на трёх базовых механизмах. Они могут использоваться по отдельности или сочетаться: например, RAID 10 объединяет чередование и зеркалирование.
Базовые механизмы RAID
| Механизм | Как размещаются данные | Что даёт | Чего сам по себе не даёт |
|---|---|---|---|
| Чередование | Последовательные блоки распределяются между несколькими дисками. | Позволяет выполнять часть операций ввода-вывода параллельно и объединять ёмкость дисков. | Избыточности: потеря одного участника может сделать данные массива недоступными. |
| Зеркалирование | Одни и те же данные записываются на два или более накопителя. | Создаёт копии данных внутри массива и позволяет продолжать работу при отказе части зеркала. | Защиты от ошибочного удаления или повреждения данных: изменение обычно попадёт во все актуальные копии. |
| Чётность | К данным добавляется вычисляемая контрольная информация, которая хранится на дисках массива. | Позволяет восстановить недостающие блоки при отказе диска в пределах возможностей уровня. | Мгновенного восстановления и одинаковой производительности для всех типов записи. |
Избыточность данных в RAID — это дополнительные копии либо контрольная информация, а не отдельная независимая копия данных. Она предназначена прежде всего для восстановления после отказа накопителя.
Что произойдёт при отказе одного диска
Ответ определяется RAID-уровнем, числом и расположением отказавших накопителей, текущим состоянием массива и особенностями реализации. Если уровень содержит достаточную избыточность, массив может перейти в деградированный режим: данные остаются доступны, но запас отказоустойчивости уже частично или полностью исчерпан.
Ориентиры по распространённым уровням RAID; конкретная реализация может иметь ограничения.
| Уровень | Минимум дисков | Отказ одного диска |
|---|---|---|
| RAID 0 | 2 | Не переживает: избыточности нет, массив обычно становится недоступен. |
| RAID 1 | 2 | Двухдисковое зеркало обычно продолжает работу на оставшемся диске. |
| RAID 5 | 3 | Обычно продолжает работу; чётность допускает отказ одного диска. |
| RAID 6 | 4 | Обычно продолжает работу; два независимых блока чётности допускают отказ до двух дисков. |
| RAID 10 | Обычно 4 | Переживает один отказ. Некоторые сочетания двух отказов также допустимы, если не потеряны оба диска одной зеркальной пары. |
После замены отказавшего накопителя начинается перестроение массива — восстановление избыточности на новом диске из данных остальных участников. Во время этой операции массив остаётся уязвимее обычного, а его отклик может меняться в зависимости от нагрузки, накопителей и реализации RAID.
RAID не гарантирует доступность при любом отказе
Зачем нужен RAID: доступность, ёмкость и производительность
RAID выбирают не ради одного универсального преимущества. Чередование может объединять ёмкость нескольких накопителей и распараллеливать операции. Зеркала и чётность дают возможность пережить определённые отказы дисков. Полезная ёмкость, допустимое число отказов и поведение при чтении и записи определяются уровнем RAID.
Нельзя считать конкретный уровень гарантированно «быстрым». Результат зависит от размера и соотношения операций чтения и записи, очереди запросов, контроллера и его кэша, интерфейса, типа накопителей и состояния массива. Например, запись с чётностью может требовать дополнительных операций чтения и вычисления, а преимущества параллельного чтения проявляются не при каждой нагрузке.
Почему RAID не заменяет резервное копирование
RAID поддерживает доступность хранилища при некоторых аппаратных отказах, но не создаёт независимую историческую копию данных. Изменения рабочего набора распространяются на актуальные части массива, поэтому RAID сам по себе не защищает от:
- случайного удаления файлов, форматирования или ошибки администратора;
- вредоносного ПО, шифрования данных и компрометации учётных записей;
- логического повреждения файловой системы, базы данных или данных приложения;
- ошибок драйверов, ОС, прошивки, RAID-подсистемы или конфигурации;
- отказа RAID-контроллера, проблем с его кэшем либо некорректной работы питания;
- потери нескольких дисков сверх возможностей выбранного уровня;
- пожара, кражи, затопления и других событий, затрагивающих сервер вместе с массивом.
Резервная копия должна быть отдельной от рабочего массива и позволять вернуть нужную версию данных.
С чего начинается выбор RAID
Вопрос «какой RAID самый надёжный» некорректен без сценария. Сначала определяют, сколько данных нужно хранить, какой простой допустим, какие отказы необходимо пережить, преобладают ли чтение или запись и сколько времени займёт восстановление после сбоя.
- Определить требуемую доступность: допустим ли простой при отказе одного диска и насколько быстро сервис должен восстановиться.
- Оценить нужную полезную ёмкость с запасом на рост данных и избыточность выбранного уровня.
- Описать нагрузку: случайные или последовательные операции, преобладание чтения либо записи, критичность задержек.
- Учесть время и риски восстановления: замену диска, перестроение массива, наличие запасного накопителя и резервных копий.
- После этого сравнить уровни и конкретную реализацию RAID.
Для сравнения RAID 0, 1, 5, 6 и 10 по полезной ёмкости, отказоустойчивости и сценариям используйте статью «Как выбрать RAID 0, 1, 5, 6 или 10: ёмкость и отказоустойчивость».
Программный, аппаратный RAID и ф ункции файловых систем
Программный RAID реализуется средствами ОС или программного стека хоста: логический диск и правила размещения данных формирует сервер. Аппаратный RAID выполняется специализированным RAID-контроллером, который предоставляет ОС готовые логические диски. Некоторые файловые системы также реализуют собственные схемы избыточности, например RAID-Z; по возможностям и модели восстановления они не всегда тождественны классическим RAID-уровням.
При выборе реализации проверяют совместимость с ОС и загрузкой сервера, поддержку нужных накопителей, поведение при переносе дисков, работу и защиту кэша, мониторинг, порядок замены дисков и восстановление после отказа контроллера или самого сервера. Сравнение подходов приведено в статье «Программный или аппаратный RAID: что выбрать для Linux-сервера».
Термины в статье
- Аппаратный RAID
- Реализация RAID, в которой специализированный контроллер формирует логические диски и выполняет операции массива. Наличие и защита кэша зависят от модели.
- Деградированный режим
- Состояние отказоустойчивого RAID-массива, потерявшего один или несколько участников, но сохраняющего доступ, пока число отказов не превышает допустимое для RAID-уровня.
- Зеркалирование
- Зеркалирование — поддержание одинаковых копий данных на двух и более накопителях или узлах хранения. В RAID оно обеспечивает избыточность и лежит в основе RAID 1 и RAID 10.
- Избыточность данных
- Избыточность данных — хранение дополнительных копий или контрольной информации, позволяющее восстановить данные при отказе носителя, блока или другого компонента.
- Логический диск
- Логический диск — блочное устройство, которое RAID-контроллер или программная RAID-подсистема предоставляет хосту как отдельный накопитель.
- Программный RAID
- RAID, реализованный ОС или другим программным стеком хоста без отдельного аппаратного RAID-контроллера. Использует вычислительные ресурсы сервера.
- Физический диск
- Физический диск — отдельный HDD, SSD или иной накопитель, распознанный RAID-контроллером как член массива либо как независимое устройство.
- Чередование
- Распределение пос ледовательных блоков данных между дисками или группами дисков RAID. Позволяет распараллеливать ввод-вывод, но само по себе не создаёт избыточности.
- Чётность
- Избыточные контрольные данные, вычисляемые из блоков одной полосы RAID. Один блок чётности защищает от отказа одного диска, два независимых блока RAID 6 — от отказа двух.
- RAID
- Технология объединения нескольких накопителей в логические блочные устройства для повышения производительности и/или отказоустойчивости в зависимости от RAID-уровня.
- RAID-контроллер
- Устройство или модуль, который формирует RAID-массивы из накопителей и предоставляет ОС логические диски, управляя размещением данных, отказами и восстановлением избыточности.
- RAID-уровень
- RAID-уровень — схема размещения данных и избыточности по накопителям массива, определяющая полезную ёмкость, отказоустойчивость и характеристики ввода-вывода.
- RAID-Z
- RAID-Z — встроенная в ZFS схема vdev с распределённой чётностью. RAIDZ1, RAIDZ2 и RAIDZ3 выдерживают отказ соответственно одного, двух или трёх накопителей.
- Rebuild
- Процесс восстановления избыточности массива после замены отказавшего диска: контроллер вычисляет и записывает на новый диск недостающие данные из остальных дисков.
