FAQ по практической реализации RAID. Что такое «RAID»

RAID – аббревиатура, расшифровываемая как Redundant Array of Independent Disks – “отказоустойчивый массив из независимых дисков” (раньше иногда вместо Independent использовалось слово Inexpensive). Концепция структуры, состоящей из нескольких дисков, объединенных в группу, обеспечивающую отказоустойчивость родилась в 1987 году в основополагающей работе Паттерсона, Гибсона и Катца.

Исходные типы RAID-массивов

RAID-0
Если мы считаем, что RAID это “отказоустойчивость”(Redundant…), то RAID-0 это “нулевая отказоустойчивость”, отсутствие ее. Структура RAID-0 это “массив дисков с чередованием”. Блоки данных поочередно записываются на все входящие в массив диски, по порядку. Это повышает быстродействие, в идеале во столько раз, сколько дисков входит в массив, так как запись распараллеливается между несколькими устройствами.
Однако во столько же раз снижается надежность, поскольку данные будут потеряны при выходе из строя любого из входящих в массив дисков.

RAID-1
Это так называемое “зеркало”. Операции записи производятся на два диска параллельно. Надежность такого массива выше, чем у одиночного диска, однако быстродействие повышается незначительно (или не повышается вовсе).

RAID-10
Попытка объединить достоинства двух типов RAID и лишить их присущих им недостатков. Если взять группу RAID-0 с повышенной производительностью, и придать каждому из них (или массиву целиком) “зеркальные” диски для защиты данных от потери в результате выхода из строя, мы получим отказоустойчивый массив с повышенным, в результате использования чередования, быстродействием.
На сегодняшний день “в живой природе” это один из наиболее популярных типов RAID.
Минусы – мы платим за все вышеперечисленные достоинства половиной суммарной емкости входящих в массив дисков.

RAID-2
Остался полностью теоретическим вариантом. Это массив, в котором данные кодируются помехоустойчивым кодом Хэмминга, позволяющим восстанавливать отдельные сбойные фрагменты за счет его избыточности. Кстати различные модификации кода Хэмминга, а также его наследников, используются в процессе считывания данных с магнитных головок жестких дисков и оптических считывателей CD/DVD.

RAID-3 и 4
“Творческое развитие” идеи защиты данных избыточным кодом. Код Хэмминга незаменим в случае “постоянно недостоверного” потока, насыщенного непрерывными слабопредсказуемыми ошибками, такого, например, как зашумленный эфирный канал связи. Однако в случае жестких дисков основная проблема не в ошибках считывания (мы считаем, что данные выдаются жесткими дисками в том виде, в каком мы их записали, если уж он работает), а в выходе из строя целиком диска.
Для таких условий можно скомбинировать схему с чередованием (RAID-0) и для защиты от выхода из строя одного из дисков дополнить записываемую информацию избыточностью, которая позволит восстановить данные при потере какой-то ее части, выделив под это дополнительный диск.
При потере любого из дисков данных мы можем восстановить хранившиеся на нем данные путем несложных математических операций над данными избыточности, в случае выходя из строя диска с данными избыточности мы все равно имеем данные, считываемые с дискового массива типа RAID-0.
Варианты RAID-3 и RAID-4 отличаются тем, что в первом случае чередуются отдельные байты, а во втором – группы байт, “блоки”.
Основным недостатком этих двух схем является крайне низкая скорость записи на массив, поскольку каждая операция записи вызывает обновление “контрольной суммы”, блока избыточности для записанной информации. Очевидно, что, несмотря на структуру с чередованием, производительность массива RAID-3 и RAID-4 ограничена производительностью одного диска, того, на котором лежит “блок избыточности”.

RAID-5
Попытка обойти это ограничение породила следующий тип RAID, в настоящее время он получил, наряду с RAID-10, наибольшее распространение. Если запись на диск “блока избыточности” ограничивает весь массив, давайте его тоже размажем по дискам массива, сделаем для этой информации невыделенный диск, тем самым операции обновления избыточности окажутся распределенными по всем дискам массива. То есть мы также как и в случае RAID-3(4) берем дисков для хранения N информации в количестве N + 1 диск, но в отличие от Type 3 и 4 этот диск также используется для хранения данных вперемешку с данными избыточности, как и остальные N.
Недостатки? А как же без них. Проблема с медленной записью отчасти была решена, но все же не полностью. Запись на массив RAID-5 осуществляется, тем не менее, медленнее, чем на массив RAID-10. Зато RAID-5 более “экономически эффективен”. Для RAID-10 мы платим за отказоустойчивость ровно половиной дисков, а в случае RAID-5 это всего один диск.

Однако скорость записи снижается пропорционально увеличению количества дисков в массиве (в отличие от RAID-0, где она только растет). Это связано с тем, что при записи блока данных массиву нужно заново рассчитать блок избыточности, для чего прочитать остальные “горизонтальные” блоки и пересчитать в соответствии с их даными блок избыточности. То есть на одну операцию записи массив из 8 дисков (7 дисков данных + 1 дополнительный) будет делать 6 операций чтения в кэш (остальные блоки данных со всех дисков, чтобы рассчитать блок избыточности), вычислять из этих блоков блок избыточности, и делать 2 записи (запись блока записываемых данных и перезапись блока избыточности). В современных системах частично острота снимается за счет кэширования, но тем не менее удлиннение группы RAID-5 хотя и вызывает пропорциональное увеличение скорости чтения, но также и соответственное ему снижение скорости записи.
Ситуация со снижением производительности при записи на RAID-5 иногда порождает любопытный экстремизм, например, http://www.baarf.com/ ;)

Тем не менее, поскольку RAID-5 есть наиболее эффективная RAID-структура с точки зрения расхода дисков на “погонный мегабайт” он широко используется там, где снижение скорости записи не является решающим параметром, например для долговременного хранения данных или для данных, преимущественно считываемых.
Отдельно следует упомянуть, что расширение дискового массива RAID-5 добавлением дополнительного диска вызывает полное пересчитывание всего RAID, что может занимать часы, а в отдельных случаях и дни, во время которых производительность массива катастрофически падает.

RAID-6
Дальнейшее развитие идеи RAID-5. Если мы рассчитаем дополнительную избыточность по иному нежели применяемому в RAID-5 закону, то мы сможем сохранить доступ к данным при отказе двух дисков массива.
Платой за это является дополнительный диск под данные второго “блока избыточности”. То есть для хранения данных равных объему N дисков нам нужно будет взять N + 2 диска.Усложняется “математика” вычисления блоков избыточности, что вызывает еще большее снижение скорости записи по сравнению с RAID-5, зато повышается надежность. Причем в ряде случаев она даже превышает уровень надежности RAID-10. Нетрудно увидеть, что RAID-10 тоже выдерживает выход из строя двух дисков в массиве, однако в том случае, если эти диски принадлежат одному “зеркалу” или разным, но при этом не двум зеркальным дискам. А вероятность именно такой ситуации никак нельзя сбрасывать со счета.

Дальнейшее увеличение номеров типов RAID происходит за счет “гибридизации”, так появляются RAID-0+1 ставший уже рассмотренным RAID-10, или всяческие химерические RAID-51 и так далее.
В живой природе к счастью не встречаются, обычно оставаясь “сном разума” (ну, кроме уже описанного выше RAID-10).

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

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

  • RAID 2, 3

    RAID 4, 5

    Таблица: преимущества и недостатки основных уровней RAID

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

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

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

Уровни RAID

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

RAID уровня 0

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

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

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

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

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

Диск 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 (информация четности)

Байт четности

Байт четности

рис. 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

Механизм обеспечения надежности

Эффективная емкость массива

Производительность

Область применения

приложения без существенных требований к надежности

зеркалирование

высокая или средняя

приложения без существенных требований к стоимости

четность

приложения, работающие с большими объемами данных (графика, CAD/CAM и пр.)

четность

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

RAID (Redundant Array of Independent Disks) — избыточный массив независимых дисков, т.е. объединение физических жестких дисков в один логический для решения каких либо задач. Скорее всего, вы его будете использовать для отказоустойчивости. При выходе из строя одного из дисков система будет продолжать работать. В операционной системе массив будет выглядеть как обычный HDD. RAID – массивы зародились в сегменте серверных решений, но сейчас получили широкое распространение и уже используются дома. Для управления RAID-ом используется специальная микросхема с интеллектом, которая называется RAID-контроллер. Это либо чипсет на материнской плате, либо отдельная внешняя плата.

Типы RAID массивов

Аппаратный – это когда состоянием массива управляет специальная микросхема. На микросхеме есть свой CPU и все вычисления ложатся на него, освобождая CPU сервера от лишней нагрузки.

Программный – это когда состоянием массива управляет специальная программа в ОС. В этом случае будет создаваться дополнительная нагрузка на CPU сервера. Ведь все вычисления ложатся именно на него.

Однозначно сказать какой тип рейда лучше – нельзя. В случае программного рейда нам не нужно покупать дорогостоящий рейд-контроллер. Который обычно стоит от 250 у.е. (можно найти и за 70 у.е. но я бы не стал рисковать данными) Но все вычисления ложатся на CPU сервера. Программная

реализация хорошо подходит для рейдов 0 и 1. Они достаточно просты и для их работы не нужны большие вычисления. Поэтому программные рейды чаще используют в решениях начального уровня. Аппаратный рейд в своей работе использует рейд-контроллер. Рейд-контроллер имеет свой процессор для вычислений, и именно он производит операции ввода/вывода.

Уровни RAID-массивов

Их достаточно много. Это основные – 0, 1, 2, 3, 4, 5, 6, 7 и комбинированные – 10, 30, 50, 53… Мы рассмотрим только самые ходовые, которые используются в современной инфраструктуре предприятия. Буква D в схемах означает Data (данные), или блок данных.

RAID 0 (Striped Disk Array without Fault Tolerance)

Он же stripe. Это когда два или более физических дисков объединяются в один логический с целью объединения места. То есть берем два диска по 500 Гб, объединяем их в RAID 0 и в системе видим 1 HDD объемом в 1 Тб. Информация распределяется по всем дискам рейда равномерно в виде небольших блоков (страйпов).

Плюсы – Высокая производительность, простота реализации.

Минусы – отсутствие отказоустойчивости. При использование этого рейда надежность системы понижается в два раза (если используем два диска). Ведь при выходе из строя хотя бы одного диска вы теряете все данные.

RAID 1 (Mirroring & Duplexing)

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

Плюсы – высокая скорость чтения/записи, простота реализации.

Минусы – высокая избыточность. В случае использования 2-х дисков это 100%.

RAID 1E

RAID 1E работает так: три физических диска объединяются в массив, после чего создается логический том. Данные распределяются по дискам, образуя блоки. Порция данных (strip), помеченная ** – это копия предшествующей ей порции *. При этом каждый блок зеркальной копии записывается со сдвигом на один диск

Наиболее простое в реализации из отказоустойчивых решений – это RAID 1 (mirroring), зеркальное отображение двух дисков. Высокая доступность данных гарантирована наличием двух полных копий. Такая избыточность структуры массива сказывается на его стоимости – ведь полезная емкость вдвое меньше используемой. Поскольку RAID 1 строится на двух HDD – этого явно мало современным, прожорливым до дискового пространства приложениям. В силу таких требований область применения RAID 1 обычно ограничивается служебными томами (OS, SWAP, LOG), для размещения пользовательских данных ими пользуются разве что в малобюджетных решениях.

RAID 1E – это комбинация распределения информации по дискам (striping) от RAID 0 и зеркалирования – от RAID 1. Одновременно с записью области данных на один накопитель создается их копия на следующем диске массива. Отличие от RAID 1 в том, что количество HDD может быть нечетным (минимум 3). Как и в случае с RAID 1, полезная емкость составляет 50% суммарной емкости дисков массива. Правда, если количество дисков четное, предпочтительней использовать RAID 10, который при той же утилизации емкости состоит из двух (или больше) «зеркал». При физическом отказе одного из дисков RAID 1E контроллер переключает запросы чтения и записи на оставшиеся диски массива.

Преимущества:

  • высокая защищенность данных;
  • неплохая производительность.

Недостатки:

  • как и в RAID 1, используется лишь 50% емкости дисков массива.

RAID 2

В массивах такого типа диски делятся на две группы - для данных и для кодов коррекции ошибок, причем если данные хранятся на дисках, то для хранения кодов коррекции необходимо дисков. Данные записываются на соответствующие диски так же, как и в RAID 0, они разбиваются на небольшие блоки по числу дисков, предназначенных для хранения информации. Оставшиеся диски хранят коды коррекции ошибок, по которым в случае выхода какого-либо жёсткого диска из строя возможно восстановление информации. Метод Хемминга давно применяется в памяти типа ECC и позволяет на лету исправлять однократные и обнаруживать двукратные ошибки.

Недостаток массива RAID 2 в том, что для его функционирования нужна структура из почти двойного количества дисков, поэтому такой вид массива не получил распространения.

RAID 3

В массиве RAID 3 из дисков данные разбиваются на куски размером меньше сектора (разбиваются на байты) или блока и распределяются по дискам. Ещё один диск используется для хранения блоков чётности. В RAID 2 для этой цели применялся диск, но большая часть информации на контрольных дисках использовалась для коррекции ошибок на лету, в то время как большинство пользователей удовлетворяет простое восстановление информации в случае поломки диска, для чего хватает информации, умещающейся на одном выделенном жёстком диске.

Отличия RAID 3 от RAID 2: невозможность коррекции ошибок на лету и меньшая избыточность.

Достоинства:

  • высокая скорость чтения и записи данных;
  • минимальное количество дисков для создания массива равно трём.

Недостатки:

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

RAID 4

RAID 4 похож на RAID 3, но отличается от него тем, что данные разбиваются на блоки, а не на байты. Таким образом, удалось отчасти «победить» проблему низкой скорости передачи данных небольшого объёма. Запись же производится медленно из-за того, что чётность для блока генерируется при записи и записывается на единственный диск. Из систем хранения широкого распространения RAID-4 применяется на устройствах хранения компании NetApp (NetApp FAS), где его недостатки успешно устранены за счет работы дисков в специальном режиме групповой записи, определяемом используемой на устройствах внутренней файловой системой WAFL.

RAID 5 (Independent Data Disks with Distributed Parity Blocks)

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

Плюсы – экономичное использование носителей, хорошая скорость чтения/записи. Разница в производительности по сравнению с RAID 1 не так сильно видна как экономия дискового пространства. В случае использования трех HDD избыточность составляет всего 33%.

Минусы – сложное восстановление данных и реализация.

RAID 5E

RAID 5E работает так. Из четырех физических дисков собирается массив, в нем создается логический диск. Распределенный резервный диск – это свободное пространство. Данные распределяются по накопителям, создавая блоки на логическом диске. Контрольные суммы также распределяются по дискам массива и записываются со сдвигом от диска к диску, как и в RAID 5. Резервный HDD остается пустым.

«Классический» RAID 5 много лет считается стандартом отказоустойчивости дисковых подсистем. В нем применяется распределение данных (striping) по HDD массива, для каждой из порций (stripe), определенной в нем, вычисляются и записываются контрольные суммы (четность, parity). Соответственно, скорость записи снижается из-за постоянного пересчета КС с поступлением новых данных. Для увеличения производительности записи КС распределяются по всем накопителям массива, чередуясь с данными. Под хранение КС расходуется емкость одного носителя, поэтому RAID 5 утилизирует на один диск меньше их общего количества в массиве. RAID 5 требует минимум трех (и максимум 16) НЖМД, его КПД использования дискового пространства находится в диапазоне 67–94% в зависимости от числа дисков. Очевидно, что это больше, чем у RAID 1, утилизирующего 50% доступной емкости.

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

Распространен подход c включением в RAID 5 выделенного диска горячего резерва (hot-spare) – для снижения времени простоя до физической замены сбойного диска. После отказа одного из накопителей исходного массива контроллер включает резервный диск в массив и начинает процесс перестройки RAID. Важно уточнить, что до этого первого отказа резервный накопитель работает на холостом ходу, годами может не участвовать в функционировании массива и не проверяться на ошибки поверхности. Равно как и тот, который позже принесут по гарантийной замене вместо сбойного, вставят в дисковую корзину и назначат резервным. Большим сюрпризом может стать его неработоспособность, причем выяснится это в самый неподходящий момент.

RAID 5E – это RAID 5 с включенным в массив резервным диском (hot-spare) постоянного использования, емкость которого добавляется поровну к каждому элементу массива. Для RAID 5E требуется минимум четыре HDD. Как и у RAID 5, данные и контрольные суммы распределяются по дискам массива. Утилизация полезной емкости у RAID 5E несколько ниже, зато производительность выше, чем у RAID 5 c hot-spare.

Емкость логического тома RAID 5E меньше общей емкости на объем двух носителей (емкость одного уходит под контрольные суммы, второго – под hot-spare). Зато чтение и запись на четыре физических устройства RAID 5E быстрее операций с тремя физическими накопителями RAID 5 с классическим hot-spare (в то время как четвертый, hot-spare, участия в работе не принимает). Резервный диск в RAID 5E – полноправный постоянный член массива. Его невозможно назначить резервным двум разным массивам («слугой двух господ» – как это допускается в RAID 5).

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

Преимущества:

  • высокая защищенность данных;
  • утилизация полезной емкости выше, чем у RAID 1 или RAID 1E;
  • производительность выше, чем у RAID 5.

Недостатки:

  • производительность ниже, чем у RAID 1E;
  • не может делить резервный диск с другими массивами.

RAID 5EE

Примечание: поддерживается не во всех контроллерах RAID level-5EE подобен массиву RAID-5E, но с более эффективным использованием резервного диска и более коротким временем восстановления. Подобно RAID level-5E, этот уровень RAID-массива создает ряды данных и контрольных сумм во всех дисках массива. Массив RAID-5EE обладает улучшенной защитой и производительностью. При применении RAID level-5E, емкость логического тома ограничивается емкостью двух физических винчестеров массива (один для контроля, один резервный). Резервный диск является частью массива RAID level-5EE. Тем не менее, в отличие от RAID level-5E, использующего неразделенное свободное место для резерва, в RAID level-5EE в резервный диск вставлены блоки контрольных сумм, как показывается далее на примере. Это позволяет быстрее перестраивать данные при поломке физического диска. При такой конфигурации, вы не сможете использовать его с другими массивами. Если вам необходим запасной диск для другого массива, вам следует иметь еще один резервный винчестер. RAID level-5E требует как минимум четырех дисков и, в зависимости от уровня прошивки и их емкости, поддерживает от 8 до 16 дисков. RAID level-5E обладает определенной прошивкой. Примечание: для RAID level-5EЕ, вы можете использовать только один логический том в массиве.

Достоинства:

  • 100% защита данных
  • Большая емкость физических дисков по сравнению с RAID-1 или RAID -1E
  • Большая производительность по сравнению с RAID-5
  • Более быстрое восстановление RAID по сравнению с RAID-5Е

Недостатки:

  • Более низкая производительность, чем в RAID-1 или RAID-1E
  • Поддержка только одного логического тома на массив
  • Невозможность совместного использования резервного диска с другими массивами
  • Поддержка не всех контроллеров

RAID 6

RAID 6 - похож на RAID 5, но имеет более высокую степень надёжности - под контрольные суммы выделяется ёмкость 2-х дисков, рассчитываются 2 суммы по разным алгоритмам. Требует более мощный RAID-контроллер. Обеспечивает работоспособность после одновременного выхода из строя двух дисков - защита от кратного отказа. Для организации массива требуется минимум 4 диска. Обычно использование RAID-6 вызывает примерно 10-15% падение производительности дисковой группы, по сравнению с аналогичными показателями RAID-5, что вызвано большим объёмом обработки для контроллера (необходимость рассчитывать вторую контрольную сумму, а также прочитывать и перезаписывать больше дисковых блоков при записи каждого блока).

RAID 7

RAID 7 — зарегистрированная торговая марка компании Storage Computer Corporation, отдельным уровнем RAID не является. Структура массива такова: на дисках хранятся данные, один диск используется для складирования блоков чётности. Запись на диски кешируется с использованием оперативной памяти, сам массив требует обязательного ИБП; в случае перебоев с питанием происходит повреждение данных.

RAID 10 или RAID 1+0 (Very High Reliability with High Performance)

Сочетание зеркального рейда и рейда с чередованием дисков. В работе этого вида рейда диски объединяются парами в зеркальные рейды (RAID 1) а затем все эти зеркальные пары объединяются в массив с чередованием (RAID 0). В рейд можно объединить только четное количество дисков, минимум – 4, максимум – 16. От RAID 1 мы наследуем надежность, от RAID 0 — скорость.

Плюсы – высокая отказоустойчивость и производительность

Минусы – высокая стоимость

RAID 50 или RAID 5+0 (High I/O Rates & Data Transfer Performance)

Он же RAID 50, это сочетание RAID 5 и RAID 0. Массив объединяет в себе высокую производительность и отказоустойчивость.

Плюсы – высокая отказоустойчивость, скорость передачи данных и выполнение запросов

Минусы – высокая стоимость

RAID 60

RAID-массив уровня 60 объединены характеристики из уровней 6 и 0. RAID 60 массива объединяет прямой уровне блоков чередование RAID 0 с распределенной дважды паритет в RAID 6, а именно: массива RAID 0 распределяются среди RAID 6 элементов. RAID 60 виртуальный диск может выжить о потере двух жестких дисков в каждом из RAID 6 устанавливает без потери данных. Она является наиболее эффективной с данными, нужна высокая надежность, высокая запрос курсы, высокие передачу данных, и средних и крупных емкости. Минимальное количество дисков-8.

Линейный RAID

Линейный RAID представляет собой простое объединение дисков, создающее большой виртуальный диск. В линейном RAID, блоки выделяются сначала на одном диске, включенном в массив, затем, если этот заполнен, на другом и т.д. Такое объединение не даёт выигрыша в производительности, так как скорее всего операции ввода/вывода не будут распределены между дисками. Линейный RAID также не содержит избыточности и, в действительности, увеличивает вероятность сбоя - если всего одни диск откажет, весь массив выйдет из строя. Ёмкость массива равняется суммарной ёмкости всех дисков.

Главный вывод, который можно сделать – у каждого уровня рейда есть свои плюсы и минусы.

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

Перенос центра тяжести с процессоро-ориентированных на дата-ориентированные приложения обуславливает повышение значимости систем хранения данных. Вместе с этим проблема низкой пропускной способности и отказоустойчивости характерная для таких систем всегда была достаточно важной и всегда требовала своего решения.

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

Особенности технологии построения магнитных дисков привели к значительному несоответствию между увеличением производительности процессорных модулей и самих магнитных дисков. Если в 1990 г. лучшими среди серийных были 5.25″ диски со средним временем доступа 12мс и временем задержки 5 мс (при оборотах шпинделя около 5 000 об/м 1), то сегодня пальма первенства принадлежит 3.5″ дискам со средним временем доступа 5 мс и временем задержки 1 мс (при оборотах шпинделя 10 000 об/м). Здесь мы видим улучшение технических характеристик на величину около 100%. В тоже время, быстродействие процессоров увеличилось более чем на 2 000%. Во многом это стало возможно благодаря тому, что процессоры имеют прямые преимущества использования VLSI (сверхбольшой интеграции). Ее использование не только дает возможность увеличивать частоту, но и число компонент, которые могут быть интегрированы в чип, что дает возможность внедрять архитектурные преимущества, которые позволяют осуществлять параллельные вычисления.

1 - Усредненные данные.

Сложившуюся ситуацию можно охарактеризовать как кризис ввода-вывода вторичной системы хранения данных.

Увеличиваем быстродействие

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

Если расположить блок данных по N дискам некоторого массива и организовать это размещение так, чтобы существовала возможность одновременного считывания информации, то этот блок можно будет считать в N раз быстрее, (без учёта времени формирования блока). Поскольку все данные передаются параллельно, это архитектурное решение называется parallel-access array (массив с параллельным доступом).

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

Некоторые задачи, наоборот, характерны большим количеством малых запросов. К таким задачам относятся, например, задачи обработки баз данных. Располагая записи базы данных по дискам массива, можно распределить загрузку, независимо позиционируя диски. Такую архитектуру принято называть independent-access array (массив с независимым доступом).

Увеличиваем отказоустойчивость

К сожалению, при увеличении количества дисков в массиве, надежность всего массива уменьшается. При независимых отказах и экспоненциальном законе распределения наработки на отказ, MTTF всего массива (mean time to failure - среднее время безотказной работы) вычисляется по формуле MTTF array = MMTF hdd /N hdd (MMTF hdd - среднее время безотказной работы одного диска; NHDD - количество дисков).

Таким образом, возникает необходимость повышения отказоустойчивости дисковых массивов. Для повышения отказоустойчивости массивов используют избыточное кодирование. Существует два основных типа кодирования, которые применяются в избыточных дисковых массивах - это дублирование и четность.

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

Второй способ реализации избыточных дисковых массивов - использование избыточного кодирования с помощью вычисления четности. Четность вычисляется как операция XOR всех символов в слове данных. Использование четности в избыточных дисковых массивах уменьшает накладные расходы до величины, исчисляемой формулой: НР hdd =1/N hdd (НР hdd - накладные расходы; N hdd - количество дисков в массиве).

История и развитие RAID

Несмотря на то, что системы хранения данных, основанные на магнитных дисках, производятся уже 40 лет, массовое производство отказоустойчивых систем началось совсем недавно. Дисковые массивы с избыточностью данных, которые принято называть RAID (redundant arrays of inexpensive disks - избыточный массив недорогих дисков) были представлены исследователями (Петтерсон, Гибсон и Катц) из Калифорнийского университета в Беркли в 1987 году. Но широкое распространение RAID системы получили только тогда, когда диски, которые подходят для использования в избыточных массивах стали доступны и достаточно производительны. Со времени представления официального доклада о RAID в 1988 году, исследования в сфере избыточных дисковых массивов начали бурно развиваться, в попытке обеспечить широкий спектр решений в сфере компромисса - цена-производительность-надежность.

С аббревиатурой RAID в свое время случился казус. Дело в том, что недорогими дисками во время написания статьи назывались все диски, которые использовались в ПК, в противовес дорогим дискам для мейнфрейм (универсальная ЭВМ). Но для использования в массивах RAID пришлось использовать достаточно дорогостоящую аппаратуру по сравнению с другой комплектовкой ПК, поэтому RAID начали расшифровывать как redundant array of independent disks 2 - избыточный массив независимых дисков.

2 - Определение RAID Advisory Board

RAID 0 был представлен индустрией как определение не отказоустойчивого дискового массива. В Беркли RAID 1 был определен как зеркальный дисковый массив. RAID 2 зарезервирован для массивов, которые применяют код Хемминга. Уровни RAID 3, 4, 5 используют четность для защиты данных от одиночных неисправностей. Именно эти уровни, включительно по 5-й были представлены в Беркли, и эта систематика RAID была принята как стандарт де-факто.

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

На сегодняшний день разработано достаточно большое количество архитектур, которые обеспечивают работоспособность массива при одновременном отказе любых двух дисков без потери данных. Среди всего множества стоит отметить two-dimensional parity (двухпространственная четность) и EVENODD, которые для кодирования используют четность, и RAID 6, в котором используется кодирование Reed-Solomon.

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

Минимальная избыточность в таком массиве достигается при равном количестве столбцов и строчек. И равна: 2 x Square (N Disk) (в «квадрат»).

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

Архитектура EVENODD имеет похожую на двухпространственную четность схему отказоустойчивости, но другое размещение информационных блоков, которое гарантирует минимальное избыточное использование емкостей. Так же как и в двухпространственной четности каждый блок данных участвует в построении двух независимый кодовых слов, но слова размещены таким образом, что коэффициент избыточности постоянен (в отличие от предыдущей схемы) и равен: 2 x Square (N Disk).

Используя два символа для проверки, четность и недвоичные коды, слово данных может быть сконструировано таким образом, чтобы обеспечить отказоустойчивость при возникновении двойной неисправности. Такая схема известна как RAID 6. Недвоичный код, построенный на основе Reed-Solomon кодирования, обычно вычисляется с использованием таблиц или как итерационный процесс с использованием линейных регистров с обратной связью, а это - относительно сложная операция, требующая специализированных аппаратных средств.

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

В 1996 г. Саведж и Вилкс предложили AFRAID - часто избыточный массив независимых дисков (A Frequently Redundant Array of Independent Disks). Эта архитектура в некоторой степени приносит отказоустойчивость в жертву быстродействию. Делая попытку компенсировать проблему малой записи (small-write problem), характерную для массивов RAID 5-го уровня, разрешается оставлять стрипинг без вычисления четности на некоторый период времени. Если диск, предназначенный для записи четности, занят, то ее запись откладывается. Теоретически доказано, что 25% уменьшение отказоустойчивости может увеличить быстродействие на 97%. AFRAID фактически изменяет модель отказов массивов устойчивых к одиночным неисправностям, поскольку кодовое слово, которое не имеет обновленной четности, восприимчиво к отказам дисков.

Вместо того чтобы приносить в жертву отказоустойчивость, можно использовать такие традиционные способы увеличения быстродействия, как кэширование. Учитывая то, что дисковый трафик имеет пульсирующий характер, можно использовать кеш память с обратной записью (writeback cache) для хранения данных в момент, когда диски заняты. И если кеш-память будет выполнена в виде энергонезависимой памяти, тогда, в случае исчезновения питания, данные будут сохранены. Кроме того, отложенные дисковые операции, дают возможность объединить в произвольном порядке малые блоки для выполнения более эффективных дисковых операций.

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

Один из вариантов - parity logging (регистрация четности), который предполагает решение проблемы малой записи (small-write problem) и более эффективного использования дисков. Регистрация четности предполагает отложение изменения четности в RAID 5, записывая ее в FIFO log (журнал регистраций типа FIFO), который размещен частично в памяти контроллера и частично на диске. Учитывая то, что доступ к полному треку в среднем в 10 раз более эффективен, чем доступ к сектору, с помощью регистрации четности собираются большие количества данных модифицированной четности, которые потом все вместе записываются на диск, предназначенный для хранения четности по всему треку.

Архитектура floating data and parity (плавающие данные и четность), которая разрешает перераспределить физическое размещение дисковых блоков. Свободные сектора размещаются на каждом цилиндре для уменьшения rotational latency (задержки вращения), данные и четность размещаются на этих свободных местах. Для того, чтобы обеспечить работоспособность при исчезновении питания, карту четности и данных нужно сохранять в энергонезависимой памяти. Если потерять карту размещения все данные в массиве будут потеряны.

Virtual stripping - представляет собой архитектуру floating data and parity с использованием writeback cache. Естественно реализуя положительные стороны обеих.

Кроме того, существуют и другие способы повышения быстродействия, например распределение RAID операций. В свое время фирма Seagate встроила поддержку RAID операций в свои диски с интерфейсом Fibre Chanel и SCSI. Что дало возможность уменьшить трафик между центральным контроллером и дисками в массиве для систем RAID 5. Это было кардинальным новшеством в сфере реализаций RAID, но технология не получила путевки в жизнь, так как некоторые особенности Fibre Chanel и SCSI стандартов ослабляют модель отказов для дисковых массивов.

Для того же RAID 5 была представлена архитектура TickerTAIP. Выглядит она следующим образом - центральный механизм управления originator node (узел-инициатор) получает запросы пользователя, выбирает алгоритм обработки и затем передает работу с диском и четность worker node (рабочий узел). Каждый рабочий узел обрабатывает некоторое подмножество дисков в массиве. Как и в модели фирмы Seagate, рабочие узлы передают данные между собой без участия узла-инициатора. В случае отказа рабочего узла, диски, которые он обслуживал, становятся недоступными. Но если кодовое слово построено так, что каждый его символ обрабатывается отдельным рабочим узлом, то схема отказоустойчивости повторяет RAID 5. Для предупреждения отказов узла-инициатора он дублируется, таким образом, мы получаем архитектуру, устойчивую к отказам любого ее узла. При всех своих положительных чертах эта архитектура страдает от проблемы «ошибки записи» («;write hole»). Что подразумевает возникновение ошибки при одновременном изменении кодового слова несколькими пользователями и отказа узла.

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

Для того чтобы избежать проблемы восстановления, характерной для классических уровней RAID, используется также архитектура, которая носит название parity declustering (распределение четности). Она предполагает размещение меньшего количества логических дисков с большим объемом на физические диски меньшего объема, но большего количества. При использовании этой технологии время реакции системы на запрос во время реконструкции улучшается более чем вдвое, а время реконструкции - значительно уменьшается.

Архитектура основных уровней RAID

Теперь давайте рассмотрим архитектуру основных уровней (basic levels) RAID более детально. Перед рассмотрением примем некоторые допущения. Для демонстрации принципов построения RAID систем рассмотрим набор из N дисков (для упрощения N будем считать четным числом), каждый из которых состоит из M блоков.

Данные будем обозначать - D m,n , где m - число блоков данных, n - число подблоков, на которые разбивается блок данных D.

Диски могут подключаться как к одному, так и к нескольким каналам передачи данных. Использование большего количества каналов увеличивает пропускную способность системы.

RAID 0. Дисковый массив без отказоустойчивости (Striped Disk Array without Fault Tolerance)

Представляет собой дисковый массив, в котором данные разбиваются на блоки, и каждый блок записываются (или же считывается) на отдельный диск. Таким образом, можно осуществлять несколько операций ввода-вывода одновременно.

Преимущества :

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

Недостатки :

  • не отказоустойчивое решение;
  • отказ одного диска влечет за собой потерю всех данных массива.

RAID 1. Дисковый массив с дублированием или зеркалка (mirroring)

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

Преимущества :

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

Недостатки :

  • высокая стоимость на единицу объема - 100% избыточность;
  • невысокая скорость передачи данных.

RAID 2. Отказоустойчивый дисковый массив с использованием кода Хемминга (Hamming Code ECC).

Избыточное кодирование, которое используется в RAID 2, носит название кода Хемминга. Код Хемминга позволяет исправлять одиночные и обнаруживать двойные неисправности. Сегодня активно используется в технологии кодирования данных в оперативной памяти типа ECC. И кодировании данных на магнитных дисках.

В данном случае показан пример с фиксированным количеством дисков в связи с громоздкостью описания (слово данных состоит из 4 бит, соответственно ECC код из 3-х).

Преимущества :

  • быстрая коррекция ошибок («на лету»);
  • очень высокая скорость передачи данных больших объемов;
  • при увеличении количества дисков, накладные расходы уменьшаются;
  • достаточно простая реализация.

Недостатки :

  • высокая стоимость при малом количестве дисков;
  • низкая скорость обработки запросов (не подходит для систем ориентированных на обработку транзакций).

RAID 3. Отказоустойчивый массив с параллельной передачей данных и четностью (Parallel Transfer Disks with Parity)

Данные разбиваются на подблоки на уровне байт и записываются одновременно на все диски массива кроме одного, который используется для четности. Использование RAID 3 решает проблему большой избыточности в RAID 2. Большинство контрольных дисков, используемых в RAID уровня 2, нужны для определения положения неисправного разряда. Но в этом нет нужды, так как большинство контроллеров в состоянии определить, когда диск отказал при помощи специальных сигналов, или дополнительного кодирования информации, записанной на диск и используемой для исправления случайных сбоев.

Преимущества :

  • очень высокая скорость передачи данных;
  • отказ диска мало влияет на скорость работы массива;

Недостатки :

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

RAID 4. Отказоустойчивый массив независимых дисков с разделяемым диском четности (Independent Data disks with shared Parity disk)

Данные разбиваются на блочном уровне. Каждый блок данных записывается на отдельный диск и может быть прочитан отдельно. Четность для группы блоков генерируется при записи и проверяется при чтении. RAID уровня 4 повышает производительность передачи небольших объемов данных за счет параллелизма, давая возможность выполнять более одного обращения по вводу/выводу одновременно. Главное отличие между RAID 3 и 4 состоит в том, что в последнем, расслоение данных выполняется на уровне секторов, а не на уровне битов или байтов.

Преимущества :

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

Недостатки :

  • очень низкая производительность при записи данных;
  • низкая скорость чтения данных малого объема при единичных запросах;
  • асимметричность быстродействия относительно чтения и записи.

RAID 5. Отказоустойчивый массив независимых дисков с распределенной четностью (Independent Data disks with distributed parity blocks)

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

Преимущества :

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

Недостатки :

  • скорость чтения данных ниже, чем в RAID 4;
  • низкая скорость чтения/записи данных малого объема при единичных запросах;
  • достаточно сложная реализация;
  • сложное восстановление данных.

RAID 6. Отказоустойчивый массив независимых дисков с двумя независимыми распределенными схемами четности (Independent Data disks with two independent distributed parity schemes)

Данные разбиваются на блочном уровне, аналогично RAID 5, но в дополнение к предыдущей архитектуре используется вторая схема для повышения отказоустойчивости. Эта архитектура является устойчивой к двойным отказам. Однако при выполнении логической записи реально происходит шесть обращений к диску, что сильно увеличивает время обработки одного запроса.

Преимущества :

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

Недостатки :

  • очень сложная реализация;
  • сложное восстановление данных;
  • очень низкая скорость записи данных.

Современные RAID контроллеры позволяют комбинировать различные уровни RAID. Таким образом, можно реализовать системы, которые объединяют в себе достоинства различных уровней, а также системы с большим количеством дисков. Обычно это комбинация нулевого уровня (stripping) и какого либо отказоустойчивого уровня.

RAID 10. Отказоустойчивый массив с дублированием и параллельной обработкой

Эта архитектура являет собой массив типа RAID 0, сегментами которого являются массивы RAID 1. Он объединяет в себе очень высокую отказоустойчивость и производительность.

Преимущества :

  • высокая отказоустойчивость;
  • высокая производительность.

Недостатки :

  • очень высокая стоимость;
  • ограниченное масштабирование.

RAID 30. Отказоустойчивый массив с параллельной передачей данных и повышенной производительностью.

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

Преимущества :

  • высокая отказоустойчивость;
  • высокая производительность.

Недостатки :

  • высокая стоимость;
  • ограниченное масштабирование.

RAID 50. Отказоустойчивый массив с распределенной четностью и повышенной производительностью

Являет собой массив типа RAID 0, сегментами которого являются массивы RAID 5. Он объединяет в себе отказоустойчивость и высокую производительность для приложений с большой интенсивностью запросов и высокую скорость передачи данных.

Преимущества :

  • высокая отказоустойчивость;
  • высокая скорость передачи данных;
  • высокая скорость обработки запросов.

Недостатки :

  • высокая стоимость;
  • ограниченное масштабирование.

RAID 7. Отказоустойчивый массив, оптимизированный для повышения производительности. (Optimized Asynchrony for High I/O Rates as well as High Data Transfer Rates). RAID 7® является зарегистрированной торговой маркой Storage Computer Corporation (SCC)

Для понимания архитектуры RAID 7 рассмотрим ее особенности:

  1. Все запросы на передачу данных обрабатываются асинхронно и независимо.
  2. Все операции чтения/записи кэшируются через высокоскоростную шину x-bus.
  3. Диск четности может быть размещен на любом канале.
  4. В микропроцессоре контроллера массива используется операционная система реального времени ориентированная на обработку процессов.
  5. Система имеет хорошую масштабируемость: до 12 host-интерфейсов и до 48 дисков.
  6. Операционная система контролирует коммуникационные каналы.
  7. Используются стандартные SCSI диски, шины, материнские платы и модули памяти.
  8. Используется высокоскоростная шина X-bus для работы с внутренней кеш памятью.
  9. Процедура генерации четности интегрирована в кеш.
  10. Диски, присоединенные к системе, могут быть задекларированы как отдельно стоящие.
  11. Для управления и мониторинга системы можно использовать SNMP агент.

Преимущества :

  • высокая скорость передачи данных и высокая скорость обработки запросов (1.5 - 6 раз выше других стандартных уровней RAID);
  • высокая масштабируемость хост интерфейсов;
  • скорость записи данных увеличивается с увеличением количества дисков в массиве;
  • для вычисления четности нет необходимости в дополнительной передаче данных.

Недостатки :

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

Рассмотрим теперь стандартные уровни вместе для сравнения их характеристик. Сравнение производится в рамках архитектур, упомянутых в таблице.

RAID Минимум
дисков
Потребность
в дисках
Отказо-
устойчивость
Скорость
передачи данных
Интенсивность
обработки
запросов
Практическое
использование
0 2 N очень высокая
до N х 1 диск
Графика, видео
1 2 2N * R > 1 диск
W = 1 диск
до 2 х 1 диск
W = 1 диск
малые файл-серверы
2 7 2N ~ RAID 3 Низкая мейнфреймы
3 3 N+1 Низкая Графика, видео
4 3 N+1 R W R = RAID 0
W
файл-серверы
5 3 N+1 R W R = RAID 0
W
серверы баз данных
6 4 N+2 самая высокая низкая R > 1 диск
W
используется крайне редко
7 12 N+1 самая высокая самая высокая разные типы приложений

Уточнения :

  • * - рассматривается обычно используемый вариант;
  • k - количество подсегментов;
  • R - чтение;
  • W - запись.

Некоторые аспекты реализации RAID систем

Рассмотрим три основных варианта реализации RAID систем:

  • программная (software-based);
  • аппаратная - шинно-ориентированная (bus-based);
  • аппаратная - автономная подсистема (subsystem-based).

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

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

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

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

Шинно-ориентированные реализации представляют собой RAID контроллеры, которые используют скоростную шину компьютера, в который они устанавливаются (в последнее время обычно используется шина PCI). В свою очередь шинно-ориентированные реализации можно разделить на низкоуровневые и высокоуровневые. Первые обычно не имеют SCSI чипов и используют так называемый RAID порт на материнской плате со встроенным SCSI контроллером. При этом функции обработки кода RAID и операций ввода/вывода распределяются между процессором на RAID контроллере и чипами SCSI на материнской плате. Таким образом, центральный процессор освобождается от обработки дополнительного кода и уменьшается шинный трафик по сравнению с программным вариантом. Стоимость таких плат обычно небольшая, особенно если они ориентированы на системы RAID - 0 или 1 (есть также реализации RAID 3, 5, 10, 30, 50, но они дороже), благодаря чему они понемногу вытесняют программные реализации с рынка серверов начального уровня. Высокоуровневые контроллеры с шинной реализацией имеют несколько другую структуру, чем их младшие братья. Они берут на себя все функции, связанные с вводом/выводом и исполнением RAID кода. Кроме того, они не так зависимы от реализации материнской платы и, как правило, имеют больше возможностей (например, возможность подключения модуля для хранения информации в кеш в случае отказа материнской платы или исчезновения питания). Такие контроллеры обычно стоят дороже низкоуровневых и используются в серверах среднего и высокого уровня. Они, как правило, реализуют RAID уровней 0,1, 3, 5, 10, 30, 50. Учитывая то, что шинно-ориентированные реализации подключаются прямо к внутренней PCI шине компьютера, они являются наиболее производительными среди рассматриваемых систем (при организации одно-хостовых систем). Максимальное быстродействие таких систем может достигать 132 Мбайт/с (32bit PCI) или же 264 Мбайт/с (64bit PCI) при частоте шины 33MHz.

Вместе с перечисленными преимуществами шинно-ориентированная архитектура имеет следующие недостатки:

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

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

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

Одним из недостатков автономных систем остается их большая стоимость.

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

Оформление запроса

Пожалуйста, заполните контактные поля формы


Получать IT-новости

Поля, помеченные * обязательны для заполнения

Описание RAID-массивов ( , )

Описание RAID 0


Дисковый массив повышенной производительности без отказоустойчивости
Striped Disk Array without Fault Tolerance

Массив RAID 0 наиболее производительный и наименее защищенный из всех RAID-ов. Данные разбиваются на блоки пропорционально количеству дисков, что приводит к более высокой пропускной способности. Высокая производительность данной структуры обеспечивается параллельной записью и отсутствием избыточного копирования. Отказ любого диска в массиве приводит к потере всех данных. Этот уровень называется striping.

Преимущества:
- · наивысшая производительность для приложений требующих интенсивной обработки запросов ввода/вывода и данных большого объема;
- · простота реализации;
- · низкая стоимость на единицу объема.
Недостатки:
- · не отказоустойчивое решение;
- · отказ одного диска влечет за собой потерю всех данных массива.

Описание RAID 1


Дисковый массив с дублированием или зеркалирование
Duplexing & Mirroring
RAID 1 - mirroring - зеркальное отражение двух дисков. Избыточность структуры данного массива обеспечивает его высокую отказоустойчивость. Массив отличается высокой себестоимостью и низкой производительностью.

Преимущества:
- · простота реализации;
- · простота восстановления массива в случае отказа (копирование);
- · достаточно высокое быстродействие для приложений с большой интенсивностью запросов.
Недостатки:
- · высокая стоимость на единицу объема - 100% избыточность;
- · невысокая скорость передачи данных.

Описание RAID 2


Отказоустойчивый дисковый массив с использованием кода Хемминга
Hamming Code ECC
RAID 2 - использует коды исправления ошибок Хемминга (Hamming Code ECC). Коды позволяют исправлять одиночные и обнаруживать двойные неисправности.

Преимущества:
- · быстрая коррекция ошибок ("на лету");
- · очень высокая скорость передачи данных больших объемов;
- · при увеличении количества дисков, накладные расходы уменьшаются;
- · достаточно простая реализация.
Недостатки:
- · высокая стоимость при малом количестве дисков;
- · низкая скорость обработки запросов (не подходит для систем ориентированных на обработку транзакций).

Описание RAID 3


Отказоустойчивый массив с параллельной передачей данных и четностью
Parallel Transfer Disks with Parity

RAID 3 - данные хранятся по принципу striping на уровне байтов с контрольной суммой (КС) на одном из дисков. Массив не имеет проблему некоторой избыточности как в RAID 2-го уровня. Диски с контрольной суммой используемые в RAID 2, необходимы для определения ошибочного заряда. Однако большинство современных контроллеров способны определить, когда диск отказал при помощи спец сигналов или дополнительного кодирования информации, записанной на диск и используемой для исправления случайных сбоев.

Преимущества:
- · очень высокая скорость передачи данных;
- · отказ диска мало влияет на скорость работы массива;
- · малые накладные расходы для реализации избыточности.
Недостатки:
- · непростая реализация;
- · низкая производительность при большой интенсивности запросов данных небольшого объема.

Похожие статьи

© 2024 alc56.ru. Компьютерные подсказки - Alc74.