Что такое RAID-массивы и зачем они нужны. FAQ по практической реализации RAID

И прочее, прочее, прочее, прочее. Так вот, сегодня поговорим про RAID массивах на их основе.

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

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

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

Поехали.

Что такое RAID и зачем оно нужно?

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

Собственно, то чем именно занимается оная связка из дисков, т.е ускорением работы или повышением безопасности данных, - зависит от Вас, а точнее, от выбора текущей конфигурации рейда(ов). Разные типы этих конфигураций как раз и отмечаются разными номерами: 1, 2, 3, 4 и, соответственно, выполняют разные функции.

Просто, например, в случае построения 0 -вой версии (описание вариаций 0, 1, 2, 3 и пр., - читайте ниже) Вы получите ощутимый прирост производительности. Да и вообще жесткий диск нынче как раз таки узкий канал в быстродействии системы.

Почему так сложилось в общем и целом

Жесткие диски же растут разве что в объеме ибо скорость оборота головки оных (за исключением редких моделей типа Raptor "ов) замерла уже довольно давно на отметке в 7200 , кэш тоже не то чтобы растет, архитектура остается почти прежней.

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

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

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

Хотите знать и уметь, больше и сами?

Мы предлагаем Вам обучение по направлениям: компьютеры, программы, администрирование, сервера, сети, сайтостроение, SEO и другое. Узнайте подробности сейчас!

Что такое RAID в физическом смысле

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

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

Программно же, в системе, после создания рейда, тоже не появляется никаких особенных причуд. По сути, вся разница в работе с рейдом заключается только в небольшой настройке , которая собственно организует рейд (см.ниже) и в использовании драйвера. В остальном ВСЁ совершенно тоже самое – в "Мой компьютер" те же C, D и прочие диски, всё те же папки, файлы.. В общем и программно, на глаз, полная идентичность.

Установка массива не представляет собой ничего сложного: просто берем мат.плату, которая поддерживает технологию RAID , берем два полностью идентичных, - это важно! , - как по характеристикам (размеру, кэшу, интерфейсу и пр) так и по производителю и модели, диска и подключаем их к оной мат.плате. Далее просто включаем компьютер, заходим в BIOS и выставляем параметр SATA Configuration : RAID .

После этого в процессе загрузки компьютера (как правило, до загрузки Windows ) появляется панель отображающая информацию о диска в рейде и вне него, где, собственно нужно нажать CTR-I , чтобы настроить рейд (добавить диски в него, удалить и тд и тп). Собственно, вот и все. Дальше идет и прочие радости жизни, т.е, опять же, всё как всегда.

Важное примечание, которое стоит помнить

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

Что до конфигураций.. Как я уже говорил, RAID массивов существует несколько видов (как минимум из основного базиса, - это RAID 1, RAID 2, RAID 3, RAID 4, RAID 5, RAID 6 ). Для начала я расскажу о двух, наиболее понятных и популярных среди обычных пользователей:

  • RAID 0 - дисковый массив для увеличения скорости\записи.
  • RAID 1 - зеркальный дисковый массив.

А в конце статьи быстренько пробегусь по прочим.

RAID 0 - что это и с чем его едят?

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

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

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

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

RAID 1 - что такое и с чем его едят?

Что же до RAID 1 (Mirroring - «зеркало»).. Собственно, начну с недостатка. В отличии от RAID 0 получается, что Вы как бы "теряете" объем второго жесткого диска (он используется для записи на него полной (байт в байт) копии первого жесткого диска в то время как RAID 0 это место полностью доступно).

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

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

RAID 2, 3, 4, 5, 6 - что такое и с чем едят их?

Описание этих массивов тут по стольку по скольку, т.е. чисто для справки, да и то в сжатом (по сути описан только второй) виде. Почему так? Как минимум в силу низкой популярности этих массивов среди рядового (да и в общем-то любого другого) пользователя и, как следствие, малого опыта использования оных мною.

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

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

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

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

Какой RAID все же выбрать?

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

Если же вы работаете с ценной информацией, которую потерять равносильно смерти, то Вам безусловно нужен RAID 1 - с ним потерять информацию крайне сложно.

Повторюсь, что очень желательно, чтобы диски устанавливаемые в RAID массив были пол идентичны. Размер, фирма, серия, объём кэша - всё, желательно, должно быть одинаковым.

Послесловие

Вот такие вот дела.

Кстати, как собрать это чудо я писал в статье: "Как создать RAID-массив штатными методами ", а про пару параметров в материале "RAID 0 из двух SSD, - практические тесты с Read Ahead и Read Cache ". Пользуйтесь поиском.

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

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

Приветствую всех, уважаемые читатели блога сайт. Думаю, многие из вас хоть раз встречали на просторах интернета такое интересное выражение - «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 массив и зачем он нужен

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

Весь смысл избыточного массива независимых дисков в том, чтобы сберечь Ваши файлы на жёстком диске в случае полной поломки этого диска! Как это сделать, – спросите вы, да очень просто, нужно всего лишь два (можно даже разных в объёме) жёстких диска.

В сегодняшней статье мы с Вами с помощью операционной системы Windows 8.1 создадим из двух чистых жёстких дисков самый простой и популярный RAID 1 массив , его ещё называют "Зеркалирование" (mirroring). Смысл "зеркала" в том, что информация на обоих дисках дублируется (записывается параллельно) и два винчестера представляют из себя точные копии друг друга.

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

Единственный минус RAID 1 массива в том, что купить нужно два жёстких диска, а работать они будут как один единственный, то есть, если вы установите в системный блок два винчестера в объёме по 500 ГБ, то доступно для хранения файлов будет всё те же 500 ГБ, а не 1ТБ.

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

Лично я, в течении многих лет, использую на работе RAID 1 массив из двух жёстких дисков по 1 ТБ и год назад произошла неприятность, один "хард" приказал долго жить, пришлось его тут же заменить, тогда я с ужасом подумал, чтобы было, не окажись у меня RAID-массива, небольшой холодок пробежал по спине, ведь пропали бы данные накопленные за несколько лет работы, а так, я просто заменил неисправный "терабайтник" и продолжил работу. Кстати, дома у меня тоже небольшой RAID-массив из двух винчестеров по 500 ГБ.

Создание программного RAID 1 массива из двух пустых жёстких дисков средствами Windows 8.1

Первым делом устанавливаем в наш системный блок два чистых жёстких диска. Для примера, я возьму два жёстких диска объёмом 250 ГБ.

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

Открываем Управление дисками

Диск 0 - твердотельный накопитель SSD с установленной операционной системой Windows 8.1 на разделе (C:).

Диск 1 и Диск 2 - жёсткие диски объёмом 250 ГБ из которых мы соберём RAID 1 массив.

Щёлкаем правой мышью на любом жёстком диске и выбираем «Создать зеркальный том»

Добавляем диск, который будет зеркалом для выбранного ранее диска. Первым зеркальным томом мы выбрали Диск 1, значит в левой части выбираем Диск 2 и нажимаем на кнопку «Добавить».

Выбираем букву программного RAID 1 массива, я оставляю букву (D:). Далее

Отмечаем галочкой пункт Быстрое форматирование и жмём Далее.

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

В окне "Этот компьютер", программный RAID 1 массив отображается как один диск.

Если один из двух жёстких дисков выйдет из строя, то в управлении дисками RAID-массив будет помечен ошибкой "Отказавшая избыточность", но на втором жёстком диске все данные будут в сохранности.

© Андрей Егоров, 2005, 2006. Группа компаний ТИМ.

Посетители форума задают нам вопрос: «Какой уровень RAID самый надежный?» Все знают, что наиболее распространенным является уровень RAID5, однако он отнюдь не лишен серьезных недостатков, которые неочевидны для неспециалистов.

RAID 0, RAID 1, RAID 5, RAID6, RAID 10 или что такое уровни RAID?

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

JBOD (Just a Bunch of Disks) – это простое объединение (spanning) жестких дисков, которое уровнем RAID формально не является. Томом JBOD может быть массив из одного диска или объединение нескольких дисков. Контроллеру RAID для работы с таким томом не требуется проведение каких-либо вычислений. На нашей диаграмме диск JBOD служит в качестве «ординара» или отправной точки – его значения надежности, производительности и стоимости совпадают с соответствующими показателями единичного жесткого диска.

RAID 0 (“Striping”) избыточности не имеет, а информацию распределяет сразу по всем входящим в массив дискам в виде небольших блоков («страйпов»). За счет этого существенно повышается производительность, но страдает надежность. Как и в случае JBOD, за свои деньги мы получаем 100% емкости диска.

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

Хороший уровень – RAID 1 (“Mirroring”, «зеркало»). Он имеет защиту от выхода из строя половины имеющихся аппаратных средств (в общем случае – одного из двух жестких дисков), обеспечивает приемлемую скорость записи и выигрыш по скорости чтения за счет распараллеливания запросов. Недостаток заключается в том, что приходится выплачивать стоимость двух жестких дисков, получая полезный объем одного жесткого диска.

Изначально предполагается, что жесткий диск – вещь надежная. Соответственно, вероятность выхода из строя сразу двух дисков равна (по формуле) произведению вероятностей, т.е. ниже на порядки! К сожалению, реальная жизнь – не теория! Два винчестера берутся из одной партии и работают в одинаковых условиях, а при выходе из строя одного из дисков нагрузка на оставшийся увеличивается, поэтому на практике при выходе из строя одного из дисков следует срочно принимать меры – вновь восстанавливать избыточность. Для этого с любым уровнем RAID (кроме нулевого) рекомендуют использовать диски горячего резерва HotSpare . Достоинство такого подхода – поддержание постоянной надежности. Недостаток – еще большие издержки (т.е. стоимость 3-х винчестеров для хранения объема одного диска).

Зеркало на многих дисках – это уровень RAID 10 . При использовании такого уровня зеркальные пары дисков выстраиваются в «цепочку», поэтому объем полученного тома может превосходить емкость одного жесткого диска. Достоинства и недостатки – такие же, как и у уровня RAID1. Как и в других случаях, рекомендуется включать в массив диски горячего резерва HotSpare из расчета один резервный на пять рабочих.

RAID 5 , действительно, самый популярный из уровней – в первую очередь благодаря своей экономичности. Жертвуя ради избыточности емкостью всего одного диска из массива, мы получаем защиту от выхода из строя любого из винчестеров тома. На запись информации на том RAID5 тратятся дополнительные ресурсы, так как требуются дополнительные вычисления, зато при чтении (по сравнению с отдельным винчестером) имеется выигрыш, потому что потоки данных с нескольких накопителей массива распараллеливаются.

Недостатки RAID5 проявляются при выходе из строя одного из дисков – весь том переходит в критический режим, все операции записи и чтения сопровождаются дополнительными манипуляциями, резко падает производительность, диски начинают греться. Если срочно не принять меры – можно потерять весь том. Поэтому, (см. выше) с томом RAID5 следует обязательно использовать диск Hot Spare.

Помимо базовых уровней RAID0 - RAID5, описанных в стандарте, существуют комбинированные уровни RAID10, RAID30, RAID50, RAID15, которые различные производители интерпретируют каждый по-своему.

Суть таких комбинаций вкратце заключается в следующем. RAID10 – это сочетание единички и нолика (см. выше). RAID50 – это объединение по “0” томов 5-го уровня. RAID15 – «зеркало» «пятерок». И так далее.

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

RAID 6 отличается от RAID 5 тем, что в каждом ряду данных (по-английски stripe ) имеет не один, а два блока контрольных сумм. Контрольные суммы – «многомерные», т.е. независимые друг от друга, поэтому даже отказ двух дисков в массиве позволяет сохранить исходные данные. Вычисление контрольных сумм по методу Рида-Соломона требует более интенсивных по сравнению с RAID5 вычислений, поэтому раньше шестой уровень практически не использовался. Сейчас он поддерживается многими продуктами, так как в них стали устанавливать специализированные микросхемы, выполняющие все необходимые математические операции.

Согласно некоторым исследованиям, восстановление целостности после отказа одного диска на томе RAID5, составленном из дисков SATA большого объема (400 и 500 гигабайт), в 5% случаев заканчивается утратой данных. Другими словами, в одном случае из двадцати во время регенерации массива RAID5 на диск резерва Hot Spare возможен выход из строя второго диска... Отсюда рекомендации лучших RAIDоводов: 1) всегда делайте резервные копии; 2) используйте RAID6 !

Недавно появились новые уровни RAID1E, RAID5E, RAID5EE. Буква “Е” в названии означает Enhanced .

RAID level-1 Enhanced (RAID level-1E) комбинирует mirroring и data striping. Эта смесь уровней 0 и 1 устроена следующим образом. Данные в ряду распределяются точь-в-точь так, как в RAID 0. То есть ряд данных не имеет никакой избыточности. Следующий ряд блоков данных копирует предыдущий со сдвигом на один блок. Таким образом как и в стандартном режиме RAID 1 каждый блок данных имеет зеркальную копию на одном из дисков, поэтому полезный объем массива равен половине суммарного объема входящих в массив жестких дисков. Для работы RAID 1E требуется объединение трех или более дисков.

Мне очень нравится уровень RAID1E. Для мощной графической рабочей станции или даже для домашнего компьютера – оптимальный выбор! Он обладает всеми достоинствами нулевого и первого уровней – отличная скорость и высокая надежность.

Перейдем теперь к уровню RAID level-5 Enhanced (RAID level-5E) . Это то же самое что и RAID5, только со встроенным в массив резервным диском spare drive . Это встраивание производится следующим образом: на всех дисках массива оставляется свободным 1/N часть пространства, которая при отказе одного из дисков используется в качестве горячего резерва. За счет этого RAID5E демонстрирует наряду с надежностью лучшую производительность, так как чтение/запись производится параллельно с бОльшего числа накопителей одновременно и spare drive не простаивает, как в RAID5. Очевидно, что входящий в том резервный диск нельзя делить с другими томами (dedicated vs. shared). Том RAID 5E строится минимум на четырех физических дисках. Полезный объем логического тома вычисляется по формуле N-2.

RAID level-5E Enhanced (RAID level-5EE) подобен уровню RAID level-5E, но он имеет более эффективное распределение spare drive и, как следствие, – более быстрое время восстановления. Как и уровень RAID5E, этот уровень RAID распределяет в рядах блоки данных и контрольных сумм. Но он также распределяет и свободные блоки spare drive, а не просто оставляет под эти цели часть объема диска. Это позволяет уменьшить время, необходимое на реконструкцию целостности тома RAID5EE. Входящий в том резервный диск нельзя делить с другими томами – как и в предыдущем случае. Том RAID 5EE строится минимум на четырех физических дисках. Полезный объем логического тома вычисляется по формуле N-2.

Как ни странно, никаких упоминаний об уровне RAID 6E на просторах Интернета я не нашел - пока такой уровень никем из производителей не предлагается и даже не анонсируется. А ведь уровень RAID6E (или RAID6EE?) можно предложить по тому же принципу, что и предыдущий. Диск HotSpare обязательно должен сопровождать любой том RAID, в том числе и RAID 6. Конечно, мы не потеряем информацию при выходе из строя одного или двух дисков, но начать регенерацию целостности массива крайне важно как можно раньше, чтобы скорее вывести систему из «критического» режима. Поскольку необходимость диска Hot Spare для нас не подлежит сомнению, логичным было бы последовать дальше и «размазать» его по тОму так, как это сделано в RAID 5EE, чтобы получить преимущества от использования бОльшего количества дисков (лучшая скорость на чтении-записи и более быстрое восстановление целостности).

Уровни RAID в «числах».

В таблицу я собрал некоторые важные параметры почти всех уровней RАID, чтобы можно было сопоставить их между собой и четче понять их суть.

Уровень
~~~~~~~

Избы-
точ-
ность
~~~~~~~

Исполь-
зование емкости дисков
~~~~~~~

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

~~~~~~~

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

~~~~~~~

Встроен-
ный диск
резерва

~~~~~~~

Мин. кол-во дисков
~~~~~~~

Макс. кол-во дисков

~~~~~~~

Отл

Отл

Отл

Отл

Все «зеркальные» уровни – RAID 1, 1+0, 10, 1E, 1E0.

Давайте еще раз попробуем досконально разобраться, чем же различаются эти уровни?

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

RAID 10.
Суть этого уровня в том, что диски массива объединяются парами в «зеркала» (RAID 1), а затем все эти зеркальные пары в свою очередь объединяются в общий массив с чередованием (RAID 0). Именно поэтому его иногда обозначают как RAID 1+0 . Важный момент – в RAID 10 можно объединить только четное количество дисков (минимум – 4, максимум – 16). Достоинства: от "зеркала" наследуется надежность, от «нуля» – производительность как на чтение, так и на запись.

RAID 1Е.
Буква "E" в названии означает "Enhanced", т.е. "улучшенный". Принцип этого улучшения следующий: данные блоками "чередуются" ("striped") на все диски массива, а потом еще раз "чередуются" со сдвигом на один диск. В RAID 1E можно объединять от трех до 16 дисков. Надежность соответствует показателям "десятки", а производительность за счет большего "чередования" становится чуть лучше.

RAID 1Е0.
Этот уровень реализуется так: мы создаем "нулевой" массив из массивов RAID1E. Следовательно, общее количество дисков должно быть кратно трем: минимум три и максимум – шестьдесят! Преимущество в скорости при этом мы вряд ли получим, а сложность реализации может неблагоприятно отразиться на надежности. Главное достоинство – возможность объединить в один массив очень большое (до 60) количество дисков.

Сходство всех уровней RAID 1X заключается в их показателях избыточности: ради реализации надежности жертвуется ровно 50% суммарной емкости дисков массива.

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

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

Особенности технологии построения магнитных дисков привели к значительному несоответствию между увеличением производительности процессорных модулей и самих магнитных дисков. Если в 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.

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

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

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

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

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

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




Top