Krasorion.ru

Упаковочные материалы

RAID

Перейти к: навигация, поиск

RAID (англ. redundant array of independent disks — избыточный массив независимых дисков) — технология виртуализации данных, которая объединяет несколько дисков в логический элемент для избыточности и повышения производительности.

Аббревиатура «RAID» изначально расшифровывалась как «redundant array of inexpensive disks» («избыточный (резервный) массив недорогих дисков», так как они были гораздо дешевле дисков SLED (Single Large Expensive Drive)). Именно так был представлен RAID его создателями Петтерсоном (David A. Patterson), Гибсоном (Garth A. Gibson) и Катцом (Randy H. Katz) в 1987 году. Со временем «RAID» стали расшифровывать как «redundant array of independent disks» («избыточный (резервный) массив независимых дисков»), потому что для массивов приходилось использовать и дорогое оборудование (под недорогими дисками подразумевались диски для ПЭВМ).

Калифорнийский университет в Беркли представил[источник не указан 710 дней] следующие уровни спецификации RAID, которые были приняты как стандарт де-факто:

  • RAID 0 — дисковый массив повышенной производительности с чередованием, без отказоустойчивости;
  • RAID 1 — зеркальный дисковый массив;
  • RAID 2 — зарезервирован для массивов, которые применяют код Хемминга;
  • RAID 3 и 4 — дисковые массивы с чередованием и выделенным диском чётности;
  • RAID 5 — дисковый массив с чередованием и «невыделенным диском чётности»;
  • RAID 6 — дисковый массив с чередованием, использующий две контрольные суммы, вычисляемые двумя независимыми способами;
  • RAID 10 — массив RAID 0, построенный из массивов RAID 1;
  • RAID 01 — массив RAID 1, построенный из массивов RAID 0 (имеет низкую отказоустойчивость);
  • RAID 50 — массив RAID 0, построенный из массивов RAID 5;
  • RAID 05 — массив RAID 5, построенный из массивов RAID 0;
  • RAID 60 — массив RAID 0, построенный из массивов RAID 6;
  • RAID 06 — массив RAID 6, построенный из массивов RAID 0.

Нестандартные уровни спецификации RAID

  • RAID-Z — массив RAID 5, имеющий ряд модификаций, включая ZFS, динамический размер страйпа и 256 битную хеш-сумму.

Аппаратный RAID-контроллер может поддерживать несколько разных RAID-массивов одновременно, суммарное количество жёстких дисков которых не превышает количество разъёмов для них. При этом контроллер, встроенный в материнскую плату, в настройках BIOS имеет всего два состояния (включён или отключён), поэтому новый жёсткий диск, подключённый в незадействованный разъём контроллера при активированном режиме RAID, может игнорироваться системой, пока он не будет ассоциирован как ещё один RAID-массив типа JBOD (spanned), состоящий из одного диска.

Базовые уровни RAID

RAID 0

Схема RAID 0

RAID 0 (striping — «чередование») — дисковый массив из двух или более жёстких дисков без резервирования. Информация разбивается на блоки данных () фиксированной длины и записывается на оба/несколько дисков поочередно , тоесть один блок на первый диск, а второй блок на второй диск соответственно. .

RAID 1

Два диска — минимальное количество для построения «зеркального» массива
Схема RAID 1

RAID 1 (mirroring — «зеркалирование») — массив из двух (или более) дисков, являющихся полными копиями друг друга. Не следует путать с массивами RAID 1+0, RAID 0+1 и RAID 10, в которых используется более двух дисков и более сложные механизмы зеркалирования.

(+): Обеспечивает приемлемую скорость записи и выигрыш по скорости чтения при распараллеливании запросов.[1]

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

(-): Недостаток RAID 1 в том, что по цене двух жестких дисков пользователь фактически получает объем лишь одного.

RAID 2

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

Расчетное количество дисков для организации RAID 2

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

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



RAID 3

Схема RAID 3

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

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

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

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

Недостатки:

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


RAID 4

Схема RAID 4

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

RAID 5

Схема RAID 5

Основным недостатком уровней RAID от 2-го до 4-го является невозможность производить параллельные операции записи, так как для хранения информации о чётности используется отдельный контрольный диск. RAID 5 не имеет этого недостатка. Блоки данных и контрольные суммы циклически записываются на все диски массива, нет асимметричности конфигурации дисков. Под контрольными суммами подразумевается результат операции XOR (исключающее или). Xor обладает особенностью, которая даёт возможность заменить любой операнд результатом, и, применив алгоритм 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 — размер наименьшего диска. Например, для массива из четырех дисков по 80 гигабайт общий объём будет (4 − 1) * 80 = 240 гигабайт. На запись информации на том RAID 5 тратятся дополнительные ресурсы и падает производительность, так как требуются дополнительные вычисления и операции записи, зато при чтении (по сравнению с отдельным винчестером) имеется выигрыш, потому что потоки данных с нескольких дисков массива могут обрабатываться параллельно.

Недостатки

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

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

RAID 6

Схема RAID 6

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

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

Помимо базовых уровней RAID 0 — RAID 6, описанных в стандарте «Common RAID Disk Drive Format (DEF) standard», существуют комбинированные уровни с названиями вида «RAID α+β» или «RAID αβ», что обычно означает «RAID β, составленный из нескольких RAID α» (иногда производители интерпретируют это по-своему).

Например:

  • RAID 10 (или 1+0) — это RAID 0, составленный из нескольких (или хотя бы двух) RAID 1 (зеркалированных пар).
  • RAID 51 — RAID 1, зеркалирующий два RAID 5 .

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

RAID 0+1

Под RAID 0+1 может подразумеватся в основном два варианта:

  • два RAID 0 объединяются в RAID 1;
  • в массив объединяются три и более диска, и каждый блок данных записывается на два диска данного массива[2]; таким образом, при таком подходе, как и в «чистом» RAID 1, полезный объём массива составляет половину от суммарного объёма всех дисков (если это диски одинаковой ёмкости).

RAID 10 (1+0)

Схема архитектуры RAID 10

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

Утверждение, что RAID 10 является самым надёжным вариантом для хранения данных вполне обосновано тем, что массив будет выведен из строя после выхода из строя всех накопителей в одном и том же массиве. При одном вышедшем из строя накопителе, шанс выхода из строя второго в одном и том же массиве равен 1/3*100=33 %. RAID 0+1 выйдет из строя при двух накопителях, вышедших из строя в разных массивах. Шанс выхода из строя накопителя в соседнем массиве равен 2/3*100=66 %, однако так как накопитель в массиве с уже вышедшим из строя накопителем уже не используется, то шанс того, что следующий накопитель выведет из строя массив целиком равен 2/2*100=100 %.

Сравнение уровней RAID

Уровень Количество
дисков
Эффективная
ёмкость*
Допустимое количество
вышедших из строя дисков
Надёжность Скорость
чтения
Скорость
записи
Примечание
0 от 2 S * N нет очень низкая высокая высокая полная потеря данных при выходе
из строя любого из дисков!
1 2 S 1 диск высокая высокая низкая двойная стоимость дискового пространства
1E от 3 S * N / 2 N/2-1 диск высокая высокая низкая двойная стоимость дискового пространства
10 от 4, чётное S * N / 2 от 1 до N/2 дисков** средняя высокая высокая двойная стоимость дискового пространства
5 от 3 S * (N − 1) 1 диск средняя высокая средняя
50 от 6, чётное S * (N − 2) от 1 до 2 дисков*** низкая высокая высокая
51 от 6, чётное S * (N − 1) / 2 от 2 до N/2+1 дисков**** высокая высокая низкая двойная стоимость дискового пространства
5E от 4 S * (N − 2) 1 диск средняя высокая высокая резервный накопитель работает
на холостом ходу и не проверяется
5EE от 4 S * (N − 2) 1 диск средняя высокая высокая резервный накопитель работает
на холостом ходу и не проверяется
6 от 4 S * (N − 2) 2 диска высокая высокая низкая
60 от 8, чётное S * (N − 4) от 2 до 4 дисков*** средняя высокая средняя
61 от 8, чётное S * (N − 2) / 2 от 4 до N/2+2 дисков**** высокая высокая низкая двойная стоимость дискового пространства

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

Нестандартные уровни RAID

RAID 7

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

RAID 7.3

RAID 7.3 — уровень чередования блоков с тройным распределением четности, разработанный и запатентованный компанией RAIDIX. Аналог RAID 6, но имеет более высокую степень надёжности — рассчитываются 3 контрольные суммы по разным алгоритмам, под контрольные суммы выделяется ёмкость трех дисков. Таким образом, массивы уровня RAID 7.3 могут выдержать полный отказ трех дисков в одной группе.

RAID-DP

Существует модификация RAID-6 компании NetApp — RAID-DP. Отличие от традиционного массива заключается в выделении под контрольные суммы двух отдельных дисков. Благодаря взаимодействию RAID-DP и файловой системы WAFL (все операции записи последовательны и производятся на свободное место) пропадает падение производительности как в сравнении с RAID-5, так и в сравнении с RAID-6.

Hybrid RAID

«Hybrid RAID» — это некоторые из обычных уровней RAID, но в сочетании с дополнительным ПО и SSD-дисками, которые используются как кэш для чтения. В результате производительность системы повышается, так как SSD обладают значительно лучшими скоростными характеристиками по сравнению с HDD. Существует несколько реализаций, например Crucial Adrenaline, либо некоторые контроллеры Adaptec бюджетного класса. На данный момент Hybrid RAID не рекомендуется использовать в серверах ввиду малого ресурса SSD-дисков, исключение составляют специальные серверные SSD-диски с повышенным ресурсом.

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

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

Matrix

Схема Intel Matrix RAID

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

Заявлена поддержка технологии Matrix RAID в следующих контроллерах SCSI[8]:

  • Intel 82801GR/GH SATA RAID Controller,
  • Intel 82801GHM SATA RAID Controller,
  • Intel ESB2 SATA RAID Controller,
  • Intel 82801R/DO/DH SATA RAID Controller,
  • Intel 82801HEM SATA RAID Controller,
  • Intel 82801IR/IO SATA RAID Controller.

Позднее, Intel объявила о переименовании технологии Matrix RAID в Intel Rapid Storage Technology (Intel RST)[9].

Дополнительные функции 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.

ОС семейства Windows NT, такие как Windows NT 3.1/3.5/3.51/NT4/2000/XP/2003 изначально, с момента проектирования данного семейства, поддерживает программный RAID 0, RAID 1 и RAID 5 (см. Dynamic Disk). Более точно, Windows XP Pro поддерживает RAID 0. Поддержка RAID 1 и RAID 5 заблокирована разработчиками, но, тем не менее, может быть включена, путем редактирования системных бинарных файлов ОС, что запрещено лицензионным соглашением.[10] Windows 7 поддерживает программный RAID 0 и RAID 1, Windows Server 2003 — 0, 1 и 5. Windows XP Home не поддерживает RAID.

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

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

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

Синий разъём PCI-X на материнской плате сервера FSC Primergy TX200 S2 специально предназначен для платы ноль-канального RAID (zero-channel RAID, ZCR). Установлен MegaRAID 320-0 Zero Channel RAID Controler фирмы LSI)[11]

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

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

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

Интересные факты

  • Сотрудник корпорации Y-EData, которая является крупнейшим в мире производителем USB флоппи-дисководов, Дэниэл Олсон в качестве эксперимента создал RAID-массив из четырёх iPod Shuffle[12].
  • Годовая вероятность отказа дискового массива RAID 5 из 3 дисков WD Caviar Blue = 0,05 %[13].

См. также

  • JBOD — дисковый массив с последовательным распределением дискового пространства по дискам.
  • NAS — внешнее сетевое хранилище данных (возможно использование RAID).

Примечания

  1. R.LAB. RAID-массивы — надежность и производительность. RAID 1
  2. Выбираем уровень RAID
  3. RAID 0, RAID 1, RAID 5, RAID6, RAID 10 или что такое уровни RAID?
  4. Dynamic disk introduction — RAID levels
  5. RAID Array and Server: Hardware and Service Comparison
  6. Summary Comparison of RAID Levels
  7. Intel Rapid Storage Technology (Intel RST). RAID 0, 1, 5, 10, Matrix RAID, RAID-Ready
  8. Intel Rapid Storage Technology (Intel RST). Set up a system with Matrix RAID
  9. Intel Rapid Storage Technology (Intel RST). Product overview
  10. Создаём программный массив RAID 5 под Windows XP
  11. LSI MegaRAID 320-0 Zero Channel RAID Controler User’s Guide (англ.)
  12. iPod RAID
  13. Формула надежности RAID

Ссылки

  • Новые уровни RAID: цифры, буквы и то, что за ними
  • Неизбыточно о RAID (XOR, RAID-Z)
  • All RAID Levels Description by iXBT.com
  • Быстрое восстановление Raid массива при сбое одного из дисков
  • Восстановление RAID массивов простыми методами
  • Пример восстановления данных (виртуально) с неисправного NAS Raid массива 1Tb
  • Пример восстановления данных с Raid 0 при помощи WinHex


RAID.

© 2011–2023 krasorion.ru, Россия, Братск, ул. Ленинская 34, +7 (3953) 38-98-93