RAID массив

Что такое RAID? Это аббревиатура английского выражения «Redundant Array of Independent/Inexpensive Disks», что означает «избыточный массив независимых жёстких дисков». Наиболее распространено следующее определение: RAID — это группа дисков, управляемых одним контроллером, которые взаимосвязаны быстрыми каналами передачи данных и воспринимаются операционной системой как один диск.

Что такое RAID? Это аббревиатура английского выражения «Redundant Array of Independent/Inexpensive Disks», что означает «избыточный массив независимых жёстких дисков». Наиболее распространено следующее определение: RAID — это группа дисков, управляемых одним контроллером, которые взаимосвязаны быстрыми каналами передачи данных и воспринимаются операционной системой как один диск.

RAID-массивы бывают разных типов, рассчитанных на различные потребности в быстродействии и отказоустойчивости. Вначале слово RAID расшифровывалось немного иначе, чем сейчас: «Redundant Array of Inexpensive Disks», что можно перевести как «избыточный (резервный) массив недорогих дисков». Именно «недорогих», так как они были дешевле RAM. В этом качестве RAID и представлялся его создателями Д.Паттерсоном, Г.Гибсоном и Р.Катцом в 1987 году. В настоящее время расшифровка немного изменилась и превратилась в «Redundant Array of Independent Disks», что можно перевести как «избыточный (резервный) массив независимых дисков». Слово «недорогой» изменилось на «независимый», потому что для создания RAID-массивов стали использовать дорогостоящее оборудование.

На сегодняшний день выделены несколько уровней спецификации RAID: RAID 0 (Striping) RAID 1 (Mirroring) RAID 2 (Hamming Code ECC) RAID 3 (Parallel Transfer with Parity) RAID 4 (Independent Data Disks with Shared Parity Disk) RAID 5 (Independent Data Disks with Distributed Parity Blocks) RAID 6 (Independent Data Disks with Two Independent Distributed Parity Schemes) RAID 10 (Very High Reliability with High Performance) RAID 30 (High I/O Rates with High Performance) RAID 50 (High I/O Rates Data Transfer Performance) RAID 0+1 (High Data Transfer Performance)

 RAID 0

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

Преимущества: увеличивается производительность. Прирост производительности зависит от количества дисков: чем больше дисков, тем больше будет скорость доступа к пользовательской информации.

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

 RAID 1 (Mirroring — «зеркалирование»)

Преимущества: Такое построение массива обеспечивает приемлемую скорость записи и серьезный выигрыш по скорости чтения, так как происходит распараллеливание запросов. Также, массив более надежен, по сравнению с RAID 0, так как он будет работать до тех пор, пока хотя бы один диск массива остается работоспособным. Если опять же рассмотреть этот надежность такого массива с точки зрения теории вероятностей, то получим, что вероятность поломки одновременно двух дисков равна произведению вероятностей поломки каждого диска. В реальном использовании, если один из дисков массива выходит из строя, необходимо его немедленно заменить, чтобы восстановить избыточность. Для любых массивов, кроме нулевого, рекомендуется использовать диски с возможностью «горячей замены» (Hot Spare), так как они позволяют произвести оперативную замену жесткого диска и постоянно поддерживать надежность массива.

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

 RAID 2

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

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

 RAID 3

Массив RAID 3 представляет собой следующую структуру: в массиве из n дисков информация разбивается на блоки по одному байту и распределяется по n−1 дискам, а оставшийся диск хранит блоки четности. В RAID 2 для этого использовалось n−1 дисков, однако большая часть данных на этих дисках использовалась всего лишь для исправления ошибок в режиме реального времени, в то время как для простого восстановления в случае выхода диска из строя вполне достаточно и меньшего количества. Как показала практика, хватает одного жесткого диска.

Как видно, отличия массива 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. Данный метод обеспечивает отказоустойчивость RAID 5. Для хранения результатов XOR требуется всего один диск, объем которого равен объему любого другого диска в массиве.

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

Недостатки: Если выходит из строя один из дисков массива, то весь массив переходит в критический режим (degrade), при котором все операции чтения/записи сопровождаются дополнительными манипуляциями, что приводит к резкому снижению производительности. При этом уровень надежности опускается до уровня RAID0 с таким же количеством дисков (то есть в n раз ниже, чем надежность одиночного диска). Если в таком состоянии (то есть до момента полного восстановления массива) из строя выйдет хотя бы один диск или же возникнет невосстановимая ошибка чтения, то весь массив разрушится, и данные на нем восстановить обычными методами будет уже невозможно. Для построения массива требуется минимум три диска.

С массивом RAID 5 можно использовать диск HotSpare. Во время стабильной работы дополнительный диск не используется, но при поломке одного из дисков массива, восстановление начинается немедленно. Если использовать один массив RAID 5, то очевидно, что такая конфигурация дисков довольно расточительна. Гораздо эффективнее использовать RAID 6. Оправданность использования spare-диска появляется только в системе из нескольких массивов RAID 5, в которой spare-диск определен для каждого из них, и, если необходимо, может использоваться для восстановления любого из массивов.

 RAID 6

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

 RAID 7

RAID 7, вопреки своему названию, не является очередным уровнем RAID. Это всего лишь зарегистрированная торговая марка компании Storage Computer Corporation. Структура этого массива представляет собой следующую систему: на n–1 дисках хранится информация, а для хранения блоков чётности используется одни диск. Запись кэшируется (для этого используется оперативная память), массив требует обязательного использования источника дополнительного питания, так как в случае перебоев с электропитанием, происходит повреждение данных.

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

Массивы разных уровней можно объединять друг с другом. Первые два уровня можно объединить двумя способами: RAID 1+0 или RAID 0+1.

Вариант RAID 1+0 иначе называют RAID 10. Он представляет собой объединение двух массивов RAID 1 в массив RAID 0. Когда же два массива RAID 0 объединяются в массив RAID 1, то такую систему называют RAID 0+1, и «снаружи» она представляет собой такой же массив RAID 10. Достоинства и недостатки у обоих рассмотренных вариантов такие же, как массива RAID 0. Как и в остальных случаях, в массив рекомендуется включать резервные диски из расчёта один резервный на пять рабочих.

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

Кроме базовых уровней 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 10 — это зеркалированный массив, в котором запись производится последовательно на несколько дисков, как в RAID 0. Фактически, RAID 10 это массив типа RAID 0, элементами которого являются массивы 1. Такой массив достаточно отказоустойчив и производителен. Современные RAID-контроллеры используют этот режим по умолчанию для RAID 1. То есть, первый диск основной, второй — зеркало, причем чтение с них производится поочередно, как и для RAID 0. Собственно говоря, можно считать что RAID 10 и RAID 1+0 — это разные названия для одного и того же метода зеркалирования дисков. Однако, если быть точными, то полноценный RAID 1+0 состоит как минимум их 4-х дисков.

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

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

 Matrix RAID

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

 Программный RAID-массив (software-RAID)

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

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

Операционные системы Windows 2000/XP/2003 поддерживают три варианта программных RAID: RAID 0, RAID 1 и RAID 5. Если быть точными, то Windows XP Pro поддерживает только RAID 0, а поддержка уровней RAID 1 и RAID 5 заблокирована разработчиками. Однако поддержку можно включить, если вручную отредактировать некоторые системные файлы. WindowsServer 2003 поддерживает уровни 0, 1 и 5. Windows XP Home вообще не поддерживает RAID.

В операционной системе FreeBSD реализовано несколько вариантов программного RAID. Так, утилита atacontrol позволяет построить полностью программный RAID-массив, но так же может и поддерживать полуаппаратный RAID на таких чипах как ICH5R. Начиная с версии 5.0, дисковая подсистема FreeBSD управляется механизмом GEOM. Встроенный в ядро GEOM реализует модульную дисковую структуру, которой обеспечила появление таких модулей как gstripe (RAID 0), gmirror (RAID 1), graid3 (RAID 3), gconcat (объединение нескольких дисков в один раздел). Так же в системе существуют устаревшие приложения ccd (RAID 0, RAID 1) и gvinum (менеджер логических томов vinum). Файловая система ZFS поддерживается, начиная с FreeBSD 7.2. В этой системе стало возможным собирать не только уровни RAID 0, 1, 5, 6, но и комбинируемые уровни.

Операционные системы OpenSolaris и Solaris 10 поддерживают RAID-0, RAID-1, RAID-5 и любые их комбинации по средствам использования Solaris Volume Manager. Поддержка RAID-6 осуществляется только в файловой системе ZFS.

 Последующее развитие RAID

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

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

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

 Полезные ссылки

  • Если вам необходимо восстановить данные с RAID массива, то рекомендуем вам ознакомиться с информацией на странице Восстановление данных с RAID массива..
  • Если вы не нашли нужную для вас информацию, вернитесь на главную страницу или оформите заявку Online, и мы свяжемся с Вами в самые короткие сроки!