Уровни RAID

Уровни RAID

Уровни RAID – способ организации дисков внутри массива. В 1993 году промышленный консорциум по стандартизации RAID (RAID Advisory Board – RAB) определил семь типовых уровней RAID: от 0 до 6. Термин «уровни RAID» (RAID levels) является официальным и прочно вошел в лексику компьютерных пользователей, хотя никакой иерархии здесь нет: это всего лишь семь совершенно разных независимых архитектур. Спецификация RAID-2 осталась чисто теоретической, поскольку описывает массивы из 14 или 39 дисков. Зато уже после принятия стандарта были предложены спецификации RAID 0+1 и RAID 1+0 (RAID-10), которые по сути являются комбинациями RAID-0 и RAID-1.

RAID-0 – простейший вариант построения массива (рис. 3.1). Это так называемое чередование, или простое распараллеливание записи/чтения данных между всеми дисками. Поток данных разбивается на равные блоки («полосы» – stripes) заданного размера, и первый блок записывается на один диск, второй – на следующий, третий – снова на первый диск и т. д. Массив может строиться из любого числа дисков: чем больше их чередуется, тем выше скорость обмена данными. Запись производится без избыточности, поэтому такой массив не является RAID в прямом смысле, хотя термин RAID-0 широко используется и принят RAB.

Рис. 3.1. Структура RAID-0

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

RAID-1 является другой простейшей архитектурой (рис. 3.2). В этом случае производится запись двух зеркальных копий данных на двух идентичных дисках без всяких дополнительных преобразований. Выход из строя одного диска не приводит к потере данных. Это массив со 100 %-ной избыточностью. Он обеспечивает предельную степень надежности, хотя стоимость хранения данных возрастает ровно вдвое.

Рис. 3.2. Структура RAID-1

Массивы уровня 1 подходят для хранения критически важных данных. На практике быстродействие такого массива может немного превосходить быстродействие каждого из дисков. Это связано с аппаратной реализацией чтения и записи данных.

Спецификация RAID-2 осталась чисто теоретической, поскольку она описывает массивы, состоящие из 14 или 39 дисков.

RAID-3 – трехдисковый массив. Два диска в нем работают подобно RAID-0, данные на них записываются с чередованием. Однако для каждых двух чередующихся блоков контроллер вычисляет код четности (Parity Code) и записывает его на третий диск. Благодаря простому алгоритму данные четности для двух блоков занимают столько же места, сколько каждый из этих блоков. В результате образуются наборы из трех взаимосвязанных блоков: два, на первых двух дисках, содержат данные, а третий, на третьем диске (экстраблок), – контрольную сумму для двух блоков данных (рис. 3.3). По данным на одном из первых двух дисков и контрольным суммам всегда можно восстановить содержимое другого диска при его повреждении. Точно так же коды четности, в случае аварии третьего диска, всегда можно пересчитать по данным на первых двух дисках.

Рис. 3.3. Структура RAID-3

Скорость работы такого массива такая же, как у RAID-0, а отказоустойчивость аналогична RAID-1. Накладные расходы снижены за счет того, что емкость массива из трех одинаковых дисков примерно равна удвоенной емкости одного диска.

Существует спецификация RAID-4, которая отличается только размерами блоков данных при чередовании. Это несколько улучшает работу массива при случайном чтении, но из-за большего объема буферной памяти контроллеры RAID-4 не получили широкого распространения.

RAID-5 – другая реализация идеи чередования с контролем четности. Чередование блоков данных происходит между всеми тремя дисками. В массиве уровня 5 все диски равноценны, а блоки четности распределены между ними (рис. 3.4). При этом блок четности для блоков, находящихся на двух дисках, всегда записывается на третий диск и так далее «по кругу». Порядок чередования блоков данных и блоков четности (Parity Rotation) зависит от контроллера. Существует несколько вариантов такого чередования: Forward (Прямое), Backward (Обратное) и Backward symmetric (Обратное симметричное). В большинстве современных RAID-контроллеров используется последний вариант.

Рис. 3.4. Структура RAID-5

RAID-5 сегодня считается наиболее оптимальной конфигурацией массива для высокопроизводительных и надежных рабочих станций. Поддержка этого уровня, наряду с RAID-0 и RAID-1, заложена во многие встроенные контроллеры современных материнских плат.

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

Составные массивы (multi-RAID) представляют собой сочетание двух спецификаций. Они могут реализовываться полностью на уровне контроллера либо частично на аппаратном уровне, а частично на программном.

RAID 0+1 – чередование двух или нескольких двухдисковых массивов RAID-1.

RAID 1+0 (RAID-10) – зеркалирование массива RAID-0 на другой такой же массив.

Оба этих варианта привлекательны для недорогих систем. Хотя в обоих случаях емкость дисков используется только на 50 % (каждый винчестер полностью дублируется), а сам контроллер дешев. Контроллеры этих уровней RAID занимаются только распределением потоков данных, тогда как контроллеры RAID-3 и RAID-5 непрерывно в реальном времени обсчитывают четность, а это уже серьезная вычислительная задача.

Массивы RAID 5+0 (RAID-50) и RAID 6+0 (RAID-60) образуются чередованием массивов уровней 5 и 6 соответственно. Это большие серверные решения. Для их реализации нужны дорогие многопортовые контроллеры, а в массив будут включаться от шести до нескольких десятков жестких дисков.

Существует спецификация JBOD (Just a Bunch of Disks – простая группа дисков). В этом случае несколько винчестеров представляются одним большим диском. Объединение (spanning) нескольких физических дисков еще недавно использовалось в компьютерах для видеозахвата и видеомонтажа, чтобы получить достаточно места для сохранения непрерывного файла размером в десятки или сотни гигабайтов. С появлением терабайтных винчестеров это утратило актуальность.

Данный текст является ознакомительным фрагментом.