Дисковые массивы RAID: что это, и зачем нужно? RAID массив: виды и процесс создания

Приветствую всех, уважаемые читатели блога сайт. Думаю, многие из вас хоть раз встречали на просторах интернета такое интересное выражение - «RAID массив». Что оно означает и для чего оно может понадобиться рядовому пользователю, вот об этом сегодня пойдет речь. Общеизвестный факт, что является самым медленным компонентом в ПК, и уступает , процессору и .

Чтобы компенсировать «врожденную» медлительность там, где она вообще не к месту (речь идет в первую очередь о серверах и высокопроизводительных ПК) придумали использовать так называемый дисковый массив RAID - некую «связку» из нескольких одинаковых винчестеров, работающих параллельно. Такое решение позволяет значительно поднять скорость работы вкупе с надежностью.

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

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

Все эти массивы находятся под своими номерами, скорее всего вы о них слышали - рейд 0, 1...10, то есть массивы разных уровней.

Разновидности RAID

Скоростной Рейд 0

Рейд 0 не имеет ничего схожего с надежностью, ведь он только повышает скорость. Вам необходимо как минимум 2 винчестера и в этом случае данные будут как бы «разрезаться» и записываться на оба диска одновременно. То есть вам будет доступен полностью объем этих дисков и теоретически это значит, что вы получаете в 2 раза более высокую скорость чтения/записи.

Но, давайте представим, что один из этих дисков сломался - в этом случае неизбежна потеря ВСЕХ ваших данных. Иначе говоря, вам все равно придется регулярно делать бекапы, чтобы иметь возможность потом восстановить информацию. Здесь обычно используется от 2 до 4 дисков.

Рейд 1 или «зеркало»

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

Массив уровня RAID 1 не влияет на скорость, однако объем - тут в вашем распоряжении лишь половина от общего пространства дисков, которых, к слову, в рейд 1 может быть 2, 4 и т.д., то есть - четное количество. В общем, главной «фишкой» рейда первого уровня является надежность.

Рейд 10

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

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

Рейд 5

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

Из-за того, что данные пишутся сразу на несколько винчестеров - скорость чтения получается высокая, что отлично подойдет для того, чтобы хранить там большой объем данных. Но, без дорогущего рейд-контроллера скорость будет не сильно высокой. Не дай БОГ один из дисков поломается - восстановление информации займет кучу времени.

Рейд 6

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

Учтите, что без производительного рейд-контроллера такой массив (6) собрать вряд ли удастся. Если у вас в распоряжении всего 4 винчестера, лучше собрать RAID 1.

Как создать и настроить RAID массив

Контроллер RAID

Рейд массив можно сделать путем подключения нескольких HDD к материнской плате компьютера, поддерживающей данную технологию. Это означает, что у такой материнской платы есть интегрированный контроллер, который, как правило, встраивается в . Но, контроллер может быть и внешний, который подключается через PCI или PCI-E разъем. Каждый контроллер, как правило, имеет свое ПО для настройки.

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

Аппаратный

Как же сделать RAID массив? Для этого вам необходимо:

  1. Достать где-то с поддержкой рейда (в случае аппаратного RAID);
  2. Купить минимум два одинаковых винчестера. Лучше, чтобы они были идентичны не только по характеристикам, но и одного производителя и модели, и подключались к мат. плате при помощи одного .
  3. Перенесите все данные с ваших HDD на другие носители, иначе в процессе создания рейда они уничтожатся.
  4. Далее, в биосе потребуется включить поддержку RAID, как это сделать в случае с вашим компьютером - подсказать не могу, по причине того, что биосы у всех разные. Обычно этот параметр называется примерно так: «SATA Configuration или Configure SATA as RAID».
  5. Затем перезагрузите ПК и должна будет появиться таблица с более тонкими настройками рейда. Возможно, придется нажать комбинацию клавиш «ctrl+i» во время процедуры «POST», чтобы появилась эта таблица. Для тех, у кого внешний контроллер скорее всего надо будет нажать «F2». В самой таблице жмем «Create Massive» и выбираем необходимый уровень массива.

После создания raid массива в BIOS, необходимо зайти в «управление дисками» в ОС –10 и отформатировать не размеченную область - это и есть наш массив.

Программный

Для создания программного RAID ничего включать или отключать в BIOS не придется. Вам, по-сути, даже не нужна поддержка рейда материнской платой. Как уже было упомянуто выше, технология реализовывается за счет центрального процессора ПК и средств самой винды. Ага, вам даже не нужно ставить никакое стороннее ПО. Правда таким способом можно создать разве что RAID первого типа, который «зеркало».

Жмем правой кнопкой по «мой компьютер»-пункт «управление»-«управление дисками». Затем щелкаем по любому из жестких, предназначенных для рейда (диск1 или диск2) и выбираем «Создать зеркальный том». В следующем окне выбираем диск, который будет зеркалом другого винчестера, затем назначаем букву и форматируем итоговый раздел.

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

Если какой то винчестер выйдет из строя, появится ошибка «Отказавшая избыточность», при этом на втором разделе все останется в сохранности.

Подытожим

RAID 5 нужен для ограниченного круга задач, когда гораздо большее (чем 4 диска) количество HDD собрано в огромные массивы. Для большинства юзеров рейд 1 - лучший вариант. К примеру, если есть четыре диска емкостью 3 терабайта каждый - в RAID 1 в таком случае доступно 6 терабайт объема. RAID 5 в этом случае даст больше пространства, однако, скорость доступа сильно упадет. RAID 6 даст все те же 6 терабайт, но еще меньшую скорость доступа, да еще и потребует от вас дорогого контроллера.

Добавим еще RAID дисков и вы увидите, как все поменяется. Например, возьмем восемь дисков все той же емкости (3 терабайта). В RAID 1 для записи будет доступно всего 12 терабайт пространства, половина объема будет закрыта! RAID 5 в этом примере даст 21 терабайт дискового пространства + можно будет достать данные из любого одного поврежденного винчестера. RAID 6 даст 18 терабайт и данные можно достать с любых двух дисков.

В общем, RAID - штука не дешевая, но лично я бы хотел иметь в своем распоряжении RAID первого уровня из 3х-терабайтных дисков. Есть еще более изощренные методы, вроде RAID 6 0, или «рейд из рейд массивов», но это имеет смысл при большом количестве HDD, минимум 8, 16 или 30 - согласитесь, это уже далеко выходит за рамки обычного «бытового» использования и пользуется спросом по большей части в серверах.

Вот как-то так, оставляйте комментарии, добавляйте сайт в закладки (для удобства), будет еще много интересного и полезного, и до скорых встреч на страницах блога!

(+) : Имеет высокую надёжность - работает до тех пор, пока функционирует хотя бы один диск в массиве. Вероятность выхода из строя сразу двух дисков равна произведению вероятностей отказа каждого диска. На практике при выходе из строя одного из дисков следует срочно принимать меры - вновь восстанавливать избыточность. Для этого с любым уровнем RAID (кроме нулевого) рекомендуют использовать диски горячего резерва . Достоинство такого подхода - поддержание постоянной доступности.

(-) : Недостаток заключается в том, что приходится выплачивать стоимость двух жёстких дисков, получая полезный объём лишь одного жёсткого диска.

RAID 1+0 и RAID 0+1

Зеркало на многих дисках - RAID 1+0 или RAID 0+1 . Под RAID 10 (RAID 1+0) имеют в виду вариант, когда два или более RAID 1 объединяются в RAID 0. Под RAID 0+1 может подразумеваться два варианта:

RAID 2

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

Достоинством массива RAID 2 является повышение скорости дисковых операций по сравнению с производительностью одного диска.

Недостатком массива RAID 2 является то, что минимальное количество дисков, при котором имеет смысл его использовать,- 7. При этом нужна структура из почти двойного количества дисков (для n=3 данные будут храниться на 4 дисках), поэтому такой вид массива не получил распространения. Если же дисков около 30-60, то перерасход получается 11-19%.


RAID 3

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

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

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

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

Недостатки:

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


RAID 4

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

RAID 5

Основным недостатком уровней RAID от 2-го до 4-го является невозможность производить параллельные операции записи, так как для хранения информации о чётности используется отдельный контрольный диск. RAID 5 не имеет этого недостатка. Блоки данных и контрольные суммы циклически записываются на все диски массива, нет асимметричности конфигурации дисков. Под контрольными суммами подразумевается результат операции XOR (исключающее или). Xor обладает особенностью, которая применяется в RAID 5, которая даёт возможность заменить любой операнд результатом, и, применив алгоритм xor , получить в результате недостающий операнд. Например: a xor b = c (где a , b , c - три диска рейд-массива), в случае если a откажет, мы можем получить его, поставив на его место c и проведя xor между c и b : c xor b = a. Это применимо вне зависимости от количества операндов: a xor b xor c xor d = e . Если отказывает c тогда e встаёт на его место и проведя xor в результате получаем c : a xor b xor e xor d = c . Этот метод по сути обеспечивает отказоустойчивость 5 версии. Для хранения результата xor требуется всего 1 диск, размер которого равен размеру любого другого диска в raid.

(+) : RAID5 получил широкое распространение, в первую очередь, благодаря своей экономичности. Объём дискового массива RAID5 рассчитывается по формуле (n-1)*hddsize, где n - число дисков в массиве, а hddsize - размер наименьшего диска. Например, для массива из 4-х дисков по 80 гигабайт общий объём будет (4 - 1) * 80 = 240 гигабайт. На запись информации на том RAID 5 тратятся дополнительные ресурсы и падает производительность, так как требуются дополнительные вычисления и операции записи, зато при чтении (по сравнению с отдельным винчестером) имеется выигрыш, потому что потоки данных с нескольких дисков массива могут обрабатываться параллельно.

(-) : Производительность RAID 5 заметно ниже, в особенности на операциях типа Random Write (записи в произвольном порядке), при которых производительность падает на 10-25% от производительности RAID 0 (или RAID 10), так как требует большего количества операций с дисками (каждая операция записи сервера заменяется на контроллере RAID на три - одну операцию чтения и две операции записи). Недостатки RAID 5 проявляются при выходе из строя одного из дисков - весь том переходит в критический режим (degrade), все операции записи и чтения сопровождаются дополнительными манипуляциями, резко падает производительность. При этом уровень надежности снижается до надежности RAID-0 с соответствующим количеством дисков (то есть в n раз ниже надежности одиночного диска). Если до полного восстановления массива произойдет выход из строя, или возникнет невосстановимая ошибка чтения хотя бы на еще одном диске, то массив разрушается, и данные на нем восстановлению обычными методами не подлежат. Следует также принять во внимание, что процесс RAID Reconstruction (восстановления данных RAID за счет избыточности) после выхода из строя диска вызывает интенсивную нагрузку чтения с дисков на протяжении многих часов непрерывно, что может спровоцировать выход какого-либо из оставшихся дисков из строя в этот наименее защищенный период работы RAID, а также выявить ранее необнаруженные сбои чтения в массивах cold data (данных, к которым не обращаются при обычной работе массива, архивные и малоактивные данные), что повышает риск сбоя при восстановлении данных. Минимальное количество используемых дисков равно трём.

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 10

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

Нынешние контроллеры используют этот режим по умолчанию для RAID 1+0. То есть, один диск основной, второй - зеркало, считывание данных производится с них поочередно. Сейчас можно считать, что RAID 10 и RAID 1+0 - это просто разное название одного и того же метода зеркалирования дисков. Утверждение, что RAID 10 является самым надёжным вариантом для хранения данных, ошибочно, т.к., несмотря на то, что для данного уровня RAID возможно сохранение целостности данных при выходе из строя половины дисков, необратимое разрушение массива происходит при выходе из строя уже двух дисков, если они находятся в одной зеркальной паре.

Комбинированные уровни

Помимо базовых уровней RAID 0 - RAID 5, описанных в стандарте, существуют комбинированные уровни RAID 1+0, RAID 3+0, RAID 5+0, RAID 1+5, которые различные производители интерпретируют каждый по-своему.

  • RAID 1+0 - это сочетание зеркалирования и чередования (см. выше).
  • RAID 5+0 - это чередование томов 5-го уровня.
  • RAID 1+5 - RAID 5 из зеркалированных пар.

Комбинированные уровни наследуют как преимущества, так и недостатки своих «родителей»: появление чередования в уровне RAID 5+0 нисколько не добавляет ему надёжности, но зато положительно отражается на производительности. Уровень RAID 1+5, наверное, очень надёжный, но не самый быстрый и, к тому же, крайне неэкономичный: полезная ёмкость тома меньше половины суммарной ёмкости дисков…

Стоит отметить, что количество жёстких дисков в комбинированных массивах также изменится. Например для RAID 5+0 используют 6 или 8 жёстких дисков, для RAID 1+0 - 4, 6 или 8.

Сравнение стандартных уровней

Уровень Количество дисков Эффективная ёмкость* Отказоустойчивость Преимущества Недостатки
0 от 2 S * N нет наивысшая производительность очень низкая надёжность
1 2 S 1 диск надёжность
1E от 3 S * N / 2 1 диск** высокая защищённость данных и неплохая производительность двойная стоимость дискового пространства
10 или 01 от 4, чётное S * N / 2 1 диск*** наивысшая производительность и высокая надёжность двойная стоимость дискового пространства
5 от 3 до 16 S * (N - 1) 1 диск экономичность, высокая надёжность, неплохая производительность производительность ниже RAID 0
50 от 6, чётное S * (N - 2) 2 диска** высокая надёжность и производительность высокая стоимость и сложность обслуживания
5E от 4 S * (N - 2) 1 диск экономичность, высокая надёжность, скорость выше RAID 5
5EE от 4 S * (N - 2) 1 диск быстрое реконструирование данных после сбоя, экономичность, высокая надёжность, скорость выше RAID 5 производительность ниже RAID 0 и 1, резервный накопитель работает на холостом ходу и не проверяется
6 от 4 S * (N - 2) 2 диска экономичность, наивысшая надёжность производительность ниже RAID 5
60 от 8, чётное S * (N - 2) 2 диска высокая надёжность, большой объем данных
61 от 8, чётное S * (N - 2) / 2 2 диска** очень высокая надёжность высокая стоимость и сложность организации

* N - количество дисков в массиве, S - объём наименьшего диска. ** Информация не потеряется, если выйдут из строя все диски в пределах одного зеркала. *** Информация не потеряется, если выйдут из строя два диска в пределах разных зеркал.

Matrix RAID

Matrix RAID - это технология, реализованная фирмой Intel в своих чипсетах начиная с ICH6R. Строго говоря, эта технология не является новым уровнем RAID (ее аналог существует в аппаратных RAID-контроллерах высокого уровня), она позволяет, используя небольшое количество дисков организовать одновременно один или несколько массивов уровня RAID 1, RAID 0 и RAID 5. Это позволяет за сравнительно небольшие деньги обеспечить для одних данных повышенную надёжность, а для других высокую скорость доступа и производства.

Дополнительные функции RAID-контроллеров

Многие RAID-контроллеры оснащены набором дополнительных функций:

  • "Горячая замена" (Hot Swap)
  • "Горячий резерв" (Hot Spare)
  • Проверка на стабильность.

Программный (англ. software ) RAID

Для реализации RAID можно применять не только аппаратные средства, но и полностью программные компоненты (драйверы). Например, в системах на ядре Linux существуют специальные модули ядра , а управлять RAID-устройствами можно с помощью утилиты mdadm . Программный RAID имеет свои достоинства и недостатки. С одной стороны, он ничего не стоит (в отличие от аппаратных RAID-контроллеров, цена которых от $250). С другой стороны, программный RAID использует ресурсы центрального процессора , и в моменты пиковой нагрузки на дисковую систему процессор может значительную часть мощности тратить на обслуживание RAID-устройств.

Ядро Linux 2.6.28 (последнее из вышедших в 2008 году) поддерживает программные RAID следующих уровней: 0, 1, 4, 5, 6, 10. Реализация позволяет создавать RAID на отдельных разделах дисков, что аналогично описанному выше Matrix RAID. Поддерживается загрузка с RAID.

Дальнейшее развитие идеи RAID

Идея RAID-массивов - в объединении дисков, каждый из которых рассматривается как набор секторов, и в результате драйвер файловой системы «видит» как бы единый диск и работает с ним, не обращая внимания на его внутреннюю структуру. Однако, можно добиться существенного повышения производительности и надёжности дисковой системы, если драйвер файловой системы будет «знать» о том, что работает не с одним диском, а с набором дисков.

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

Сотрудник корпорации Y-E Data, которая является крупнейшим в мире производителем USB флоппи-дисководов, Дэниэл Олсон в качестве эксперимента создал 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.

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

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

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

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

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

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

Приветствую читателей блога!
Сегодня будет очередная статья на компьютерную тему, а посвящена она будет такому понятию, как Raid массив дисков — уверен, многим это понятие абсолютно ничего не скажет, а те, кто уже где-то про это слышал, не имеют представление о том, что это вообще такое. Давайте разбираться вместе!

Не вдаваясь в детали терминологии, Raid массив — это некий комплекс, построенный из нескольких жестких дисков, который позволяет более грамотно распределять между ними функции. Как обычно мы размещаем жесткие диски в компе? Подключаем к Sata один жесткий диск, потом другой, третий. И появляются в нашей операционке диски D, E, F и так далее. Мы можем поместить на них какие-то файлы или установить Windows, но по сути это будут отдельные диски — вынув один из них мы ровным счетом ничего не заметим (если на нем не была установлена ОС) кроме того, что нам не будут доступны записанные на них файлы. Но есть другой путь — объединить эти диски в систему, задать им определенный алгоритм совместной работы, в результате которого значительно повысится надежность хранения информации или скорость их работы.

Но прежде, чем мы сможем создать эту систему, нужно знать, поддерживает ли материнская плата работу с дисковыми массивами Raid. Во многих современных материнках уже имеется встроенный Raid-контроллер, который-то и позволяет объединить жесткие диски. Поддерживаемые схемы массивов имеются в описаниях к материнской плате. Например, возьмем первую попавшуюся мне на глаза в Яндекс Маркете плату ASRock P45R2000-WiFi.

Здесь описание поддерживаемых Raid массивов отображается в разделе «Дисковые контроллеры Sata».


В данном примере мы видим, что Sata контроллер поддерживает создание массивов Raid: 0, 1, 5, 10. Что означают эти цифры? Это обозначение различных типов массивов, в которых диски взаимодействуют между собой по разным схемам, которые призваны, как я уже говорил, либо ускорять их работу, либо увеличивают надежность от потери данных.

Если же системная плата компьютера не поддерживает Raid, то можно приобрести отдельный Raid-контроллер в виде PCI платы, которая вставляется в PCI слот на материнке и дает ей возможность создавать массивы из дисков. Для работы контроллера после его установки нужно будет также установить raid драйвер, который либо идет на диске с данной моделью, либо можно просто скачать из интернета. Лучше всего на данном устройстве не экономить и купить от какого-то известного производителя, например Asus, и с чипсетами Intel.


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

Массив RAID 1

Массив Raid 1 — один из самых распространенных и бюджетных вариантов, который использует 2 жестких диска. Этот массив призван обеспечить максимальную защиту данных пользователя, потому что все файлы будут одновременно копироваться сразу на 2 жестких диска. Для того, чтобы его создать, берем два одинаковых по объему харда, например по 500 Гб и делаем соответствующие настройки в BIOS для создания массива. После этого в вашей системе будет виден один жесткий диск размеров не 1 Тб, а 500 Гб, хотя физически работают два жестких диска — формула расчета приведена чуть ниже. И все файлы одновременно будут писаться на два диска, то есть второй будет полной резервной копией первого. Как вы понимаете, при выходе из строя одного из дисков вы не потеряете ни частички своей информации, так как у вас будет вторая копия этого диска.

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

Объем диска, который будет видеть система, рассчитывается здесь по формуле:


V = 1 x Vmin, где V — это общий объем, а Vmin — объем памяти самого маленького жесткого диска.

Массив RAID 0

Еще одна популярная схема, которая призвана повысить не надежность хранения, а наоборот, скорость работы. Также состоит из двух HDD, однако в этом случае ОС видим уже полный суммарный объем двух дисков, т.е. если объединить в Raid 0 диски по 500 Гб, то система увидит один диск размером 1 Тб. Скорость чтения и записи повышается за счет того, что блоки файлов пишутся поочередно на два диска — но при этом отказоустойчивость данной системы минимальная — при выходе из строя одного из дисков почти все файлы будут повреждены и вы потеряете часть данных — ту, которая была записана на сломавшийся диск. Восстанавливать информацию после этого придется уже в сервисном центре.

Формула расчета общего объема диска, видимого Windows, выглядит так:

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

Массив Raid 10 (0+1)

Как следует уже из самого названия, этот тип массива объединяет в себе свойства двух предыдущих — это как бы два массива Raid 0, объединенных в Raid 1. Используются четыре жестких диска, на два из них информация записывается блоками поочередно, как это было в Raid 0, а на два других — создаются полные копии двух первых. Система очень надежная и при этом достаточно скоростная, однако весьма дорогая в организации. Для создания нужно 4 HDD, при этом система будет видеть общий объем по формуле:

То есть, если возьмем 4 диска по 500 Гб, то система увидит 1 диск размером 1 Тб.

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

Массив RAID 5

Массив Raid 5 — оптимальное сочетание цены, скорости и надежности. В данном массиве минимально могут быть задействованы 3 HDD, объем рассчитывается из более сложной формулы:

V = N x Vmin — 1 x Vmin, где N — количество жестких дисков.

Итак, допустим у нас 3 диска по 500 Гб. Объем, видимый ОС, будет равен 1 Тб.

Схема работы массива выглядит следующим образом: на первые два диска (или три, в зависимости от их количества) записываются блоки разделенных файлов, а на третий (или четвертый) — контрольная сумма первых двух (или трех). Таким образом, при отказе одного из дисков, его содержимое легко восстановить за счет имеющейся на последнем диске контрольной суммы. Производительность такого массива ниже, чем у Raid 0, но такая же надежная, как Raid 1 или Raid 10 и при этом дешевле последнего, т.к. можно сэкономить на четвертом харде.

На схеме ниже представлена схема Raid 5 из четырех HDD.

Есть также другие режимы — Raid 2,3, 4, 6, 30 и т.д., но они являются по большому счету производными от перечисленных выше.

Как установить Raid массив дисков на Windows?

С теорией, надеюсь, разобрались. Теперь посмотрим на практику — вставить в слот PCI Raid контроллер и установить драйвера, думаю, опытным пользователям ПК труда не составит.

Как же теперь создать в операционной системе Windows Raid массив из подключенных жестких дисков?

Лучше всего, конечно, это делать, когда вы только-только приобрели и подключили чистенькие винчестеры без установленной ОС. Сначала перезагружаем компьютер и заходим в настройки BIOS — здесь нужно найти SATA контроллеры, к которым подключены наши жесткие диски, и выставить их в режим RAID.

После этого сохраняем настройки и перезагружаем ПК. На черном экране появится информация о том, что у вас включен режим Raid и о клавише, с помощью которой можно попасть в его настройку. В примере ниже предложено нажать клавишу «TAB».

В зависимости от модели Raid-контроллера она может быть другой. Например, «CNTRL+F»

Заходим в утилиту настройки и нажимаем в меню что-то типа «Create array» или «Create Raid» — надписи могут отличаться. Также если контроллер поддерживает несколько типов Raid, то будет предложено выбрать, какой именно нужно создать. В моем примере доступен только Raid 0.

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

Вот собственно и все — RAID настроен и теперь компьютер будет воспринимать ваши диски как один. Вот так, например, будет виден Raid при установке Windows.

Думаю, что вы уже поняли преимущества использования Raid. Напоследок приведу сравнительную таблицу замеров скорости записи и чтения диска отдельно или в составе режимов Raid — результат, как говорится, на лицо.

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

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

Скорость передачи данных отражается на производительности всего компьютера. Какой бы мощной не была его начинка — скорость работы диска ограничивает эту мощность. Есть ли способы как то повысить отказоустойчивость и повысить скорость? Да, есть и технологии эти придуманы давно.

Для чего нужны RAID массивы?

Слово «массив» — означает некое скопление однотипных предметов, или информации. Полку с книгами на определенную тематику можно назвать массивом. Старинную картотеку из деревянных ящичков то же.

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

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

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

Многие удивятся, но еще в 1987 году Девид Петерсон со своей командой представил «резервный массив недорогих дисков», наверное потому, что жесткие диски — это в общем то не такое уж дешевые устройства… Так и расшифровывается сегодня аббревиатура RAID «избыточный массив независимых дисков »

Чем отличаются рейд — массивы друг от друга?

Отличий основных два. Первое отличие — это количество используемых жестких дисков в массиве. Вы покупаете два (или больше дисков) и одновременно подключаете их к компьютеру.

Подключать можно столько — сколько у вас на материнской плате разъемов для подключения. На блок питания компьютера так же стоит обратить внимание. Мощность и количество разъемов питания для подключения возможно придется увеличить.

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

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

Изменились конечно технологии. У меня в 90-х годах был компьютер «Спектр» , там в качестве «жесткого диска» использовалась магнитофонная кассета и подключенный магнитофон.

Игра была записана на кассету. Перед тем как играть, нужно было для начала кассету «прослушать» — так загружалась игра в этот компьютер. Видел недавно у друга подобную вещь — ZX Spectrum , еще работает. Были времена…


А сегодня уже активно используются массивы из твердотельных жестких дисков. Жесткий диск стал еще «тверже». Принцип их работы — как у большой флешки. Информация записывается не «на пластинку», а в микросхемы устройства.

Скорость передачи данных, чтения и записи в таких устройств итак в разы выше,чем у обычных. И использование их в RAID массиве еще больше увеличивает производительность системы. Но, пока что один такой диск по цене — как два или три обычных.

Виды и назначение рейд массивов

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

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

Скорость чтения записи возрастает в нашем случае в два раза. Если дисков в массиве три — то в три раза и т. д. Данные при таком варианте массива не резервируются.


Вероятность потери данных при отказе одного из дисков так же повышается в два раза. У меня есть компьютер с двумя дисками в RAID0. Плюс отдельно один диск, на который ежедневно скидывается копия системы. Вот я и решил применить дополнительные средства.

RAID1. В этом варианте можно использовать два или более дисков, которые являются полными копиями друг друга (зеркалом). Здесь скорость записи на диск такая же как обычно, хотя данные эти записываются сразу на все диски параллельно.

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

Можно построить «зеркало» из трех дисков. Соответственно, вероятность отказа уменьшается втрое, а скорость чтения увеличивается. Но тут мы проигрываем, теряя дисковое пространство — массив из двух (или трех) дисков получается по объему как один обычный.


RAID2. Эта схема мудренее предыдущих, в ней сочетаются принцип RAID -0 (для данных используются как минимум два диска). А на остальных записываются коды коррекции ошибок, с помощью которых можно восстановить информацию в случае отказа. Причем коррекция ошибок происходит в процессе работы системы. Беда в том, что дисков коррекции нужно довольно много. Параллельной записи нет.

RAID3 Массив можно сделать по минимуму — из трех дисков. Опять же, как в RAID -0 два или больше дисков используется для хранения данных. Причем данные разбиваются на маленькие порции — байты и записываются. Третий диск тоже используется как контрольный, на него записывается информация о блоках четности.

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

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


RAID5 Интересная и экономичная комбинация. Нет контрольных дисков. Минимальное количество дисков — это три. Данные на диски записываются циклично. К примеру, один файл пишется сразу на все диски.

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

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

RAID6 отличается от предыдущего варианта наличием контрольных дисков. На два диска данных подключается три контрольных. Запись ведется по особому коду. Повышена надежность, но несколько снижена производительность по сравнению с RAID 5.


Итак, слегка пробежавшись по базовым стандартам мы видим, что есть только два «достойных» варианта, это RAID0 и RAID1 Один из них обеспечивает самую высокую скорость, другой — высокую надежность. Остальные базовые стандарты — это компромиссы между скоростью и надежностью.

И выбирать нужно исходя из потребностей. Основное назначение массивов — повышение скорости и отказоустойчиовсти в процессе работы. Есть и распространенные комбинации базовых вариантов. Одной из таких является стандарт RAID 1,0.

RAID 1,0 (1+0) Если у Вас есть задумки развернуть к примеру сервер 1с или любой другой сервер баз данных, то комбинация RAID 1,0 то, что надо. Нужно будет использовать как минимум 4 (или восемь) дисков в массиве.

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

Какие HDD (жесткие диски) можно подключить в RAID

В первую очередь — заведомо исправные. Перед подключением нужно проверить у диска S.M.A.R.T, если есть сомнения. Диски с деградирующей поверхностью подключать ни в коем случае нельзя.

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


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

В общем, брать новые и одинаковые. Самым продвинутым и дорогим на сегодня вариантом является объединение в RAID массив твердотельных жестких дисков. Если вы собираетесь модернизировать сервер в этом направлении — тут нужно брать специальные серверные версии таких устройств.

На момент написания статьи ведущим лидером среди производителей SSD (на нашем рынке) для сервера остается Intel. Цена на их устройства высока, но с качеством не прогадаете. Даже такой производитель как Hitachi пока не может похвастать особым выбором устройств SSD для серверов, по крайней мере у нас.

Понравилась статья? Поделиться с друзьями: