Краткий обзор технологии RAID


В этом документе описываются базовые элементы технологии RAID и приводится краткий обзор различных уровней RAID.


RAID - это акроним от Redundant Array of Independent Disks.

Дисковый массив - это набор дисковых устройств, работающих вместе, чтобы повысить скорость и надежность системы ввода/вывода. Этим набором устройств управляет специальный RAID-контроллер (контроллер массива), который инкапсулирует в себе функции размещения данных по массиву; а для всей остальной системы позволяет представлять весь массив как одно логическое устройство ввода/вывода. За счет параллельного выполения операций чтения и записи на нескольких дисках, массив обеспечивает повышенную скорость обменов по сравнению с одним большим диском.

Массивы также могут обеспечивать избыточное хранение данных, с тем, чтобы данные не были потеряны в случае выхода из строя одного из дисков. В зависимости от уровня RAID, проводится или зеркалирование или распределение данных по дискам.

Уровни RAID

Каждый из четырех основных уровней RAID использует уникальный метод записи данных на диски, и поэтому все уровни обеспечивают различные преимущества. Уровни RAID 1,3 и 5 обеспечивают зеркалирование или хранение битов четности; и поэтому позволяют восстановить информацию в случае сбоя одного из дисков.


RAID уровня 0

Технология RAID 0 также известна как распределение данных (data striping). С применение этой технологии, информация разбивается на куски (фиксированные объемы данных, обычно именуемы блоками); и эти куски записываются на диски и считываются с них в параллель. С точки зрения производительности это означает два основных преимущества:

  • повышается пропускная способность последовательного ввода/вывода за счет одновременной загрузки нескольких интерфейсов.
  • снижается латентность случайного доступа; несколько запросов к различным небольшим сегментам информации могут выполнятся одновременно.

Недостаток: уровень RAID 0 предназначен исключительно для повышения производительности, и не обеспечивает избыточности данных. Поэтому любые дисковые сбои потребуют восстановления информации с резервных носителей.

Контроллер Массива

SCSI 1 SCSI 2 SCSI 3 SCSI 4 SCSI 5
Диск 1 Диск 2 Диск 3 Диск 4 Диск 5
Сегмент 1 Сегмент 2 Сегмент 3 Сегмент 4 Сегмент 5
Сегмент 6 Сегмент 7 Сегмент 8 Сегмент 9 Сегмент 10

рис. 1. Схема работы массива и распределение данных по дискам для RAID 0. Примечание: сегмент - это 2 дисковых блока по 512 байт.


RAID уровня 1

Технология RAID 1 также известна как зеркалирование (disk mirroring). В этом случае, копии каждого куска информации хранятся на отдельном диске; или, обычно каждый (используемый) диск имеет "двойника", который хранит точную копию этого диска. Если происходит сбой одного из основных дисков, этот замещается своим "двойником". Производительность произвольного чтения может быть улучшена, если для чтения информации будет использоваться тот из "двойников", головка которого расположена ближе к требуемому блоку.

Время записи может оказаться несколько больше, чем для одного диска, в зависимости от стратегии записи: запись на два диска может производится либо в параллель (для скорости), либо строго последовательно (для надежности).

Уровень RAID 1 хорошо подходит для приложений, которые требуют высокой надежности, низкой латентности при чтении, а также если не требуется минимизация стоимости. RAID 1 обеспечивает избыточность хранения информации, но в любом случае следует поддерживать резервную копию данных, т.к. это единственный способ восстановить случайно удаленные файлы или директории.

Диск 1
(данные)
Диск 2
(копия диска 1)
Диск 3
(данные)
Диск 4
(копия диска 3)
Диск 5
(свободный)
Сегмент 1 Сегмент 1 Сегмент 2 Сегмент 2
Сегмент 3 Сегмент 3 Сегмент 4 Сегмент 4

рис. 2. Распределение данных по дискам для RAID 1.


RAID уровней 2 и 3

Технология RAID уровней 2 и 3 предусматривает параллельную ("в унисон") работу всех дисков. Эта архитектура требует хранения битов четности для каждого элемента информации, распределяемого по дискам. Отличие RAID 3 от RAID 2 состоит только в том, что RAID 2 использует для хранения битов четности несколько дисков, тогда как RAID 3 использует только один. RAID 2 используется крайне редко.

Если происходит сбой одного диска с данными, то система может восстановить его содержимое по содержимому остальных дисков с данными и диска с информацией четности.

Производительность в этом случае очень велика для больших объемов информации, но может быть весьма скромной для малых объемов, поскольку невозможно перекрывающееся чтение нескольких небольших сегментов информации.

Диск 1
(данные)
Диск 2
(данные)
Диск 3
(данные)
Диск 4
(данные)
Диск 5
(информация четности)
Байт 1 Байт 2 Байт 3 Байт 4 Байт четности
Байт 5 Байт 6 Байт 7 Байт 8 Байт четности

рис. 3. Распределение данных по дискам для RAID 3.


RAID уровней 4 и 5

RAID 4 исправляет некоторые недостатки технологии RAID 3 за счет использования больших сегментов информации, распределяемых по всем дискам, за исключением диска с информацией четности. При этом для небольших объемов информации используется только диск, на котором находится нужная информация. Это означает, что возможно одновременное исполнение нескольких запросов на чтение. Однако запросы на запись порождают блокировки при записи информации четности. RAID 4 используется крайне редко.

Технология RAID 5 очень похожа на RAID 4, но устраняет связанные с ней блокировки. Различие состоит в том, что информация четности распределяется по всем дискам массива. В данном случае возможны как одновременные операции чтения, так и записи.

Данная технология хорошо подходит для приложений, которые работают с небольшими объемами данных, например, для систем обработки транзакций.

Диск 1 Диск 2 Диск 3 Диск 4 Диск 5
Сегмент четности Сегмент 1 Сегмент 2 Сегмент 3 Сегмент 4
Сегмент 5 Сегмент четности Сегмент 6 Сегмент 7 Сегмент 8
Сегмент 9 Сегмент 10 Сегмент четности Сегмент 11 Сегмент 12

рис. 4. Распределение данных по дискам для RAID 5.


Преимущества и недостатки основных уровней RAID

Уровень RAID Механизм
обеспечения
надежности
Эффективная
емкость массива
Производительность Область применения
0 - 100% высокая приложения без существенных
требований к надежности
1 зеркалирование 50% высокая или средняя приложения без существенных
требований к стоимости
3 четность 80% средняя приложения, работающие с большими объемами
данных (графика, CAD/CAM и пр.)
5 четность 80% средняя приложения, работающие с небольшими объемами
данных (обработка транзакций)

© Лаборатория Параллельных информационных технологий НИВЦ МГУ
Rambler's Top100