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 году[1]. Со временем «RAID» стали расшифровывать как «Redundant Array of Independent Disks» («избыточный (резервный) массив независимых дисков»), потому что для массивов приходилось использовать и дорогое оборудование (под недорогими дисками подразумевались диски для ПЭВМ).

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

  • RAID 1 — зеркальный дисковый массив;
  • RAID 2 — зарезервирован для массивов, которые применяют код Хемминга;
  • RAID 3 и RAID 4 — дисковые массивы с чередованием и выделенным диском чётности;
  • RAID 5 — дисковый массив с чередованием и отсутствием выделенного диска чётности.

В современных RAID-контроллерах предоставлены дополнительные уровни спецификации RAID:

  • RAID 0 — дисковый массив повышенной производительности с чередованием, без отказоустойчивости. Строго говоря, RAID-массивом не является, поскольку избыточность (redundancy) в нём отсутствует;
  • RAID 6 — дисковый массив с чередованием, использующий две контрольные суммы, вычисляемые двумя независимыми способами;
  • RAID 10 — массив RAID 0, построенный из массивов RAID 1;
  • RAID 01 — массив RAID 1, построенный из массивов RAID 0 (имеет низкую отказоустойчивость);
  • RAID 1E (зеркало из трёх устройств), RAID 50 (массив RAID 0 из массивов RAID 5), RAID 05 (RAID 5 из RAID 0), RAID 60 (RAID 0 из RAID 6) и различные другие.

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

Уровни RAID, реализуемые средствами файловой системы ZFS:

  • RAID-Z — один избыточный диск;
  • RAID-Z2 — два избыточных диска;
  • RAID-Z3 — три избыточных диска.

Базовые уровни RAID[править | править код]

RAID 0[править | править код]

Схема RAID 0

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

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

(-): Увеличивается вероятность потери данных: если вероятность отказа 1 диска равна p, то вероятность выхода из строя массива RAID 0 из двух дисков равна 2p-p*p. Таким образом, если вероятность отказа одного диска за год равна 1 %, то вероятность отказа массива RAID0 из двух дисков составляет 1,99 %, то есть практически в два раза больше.

RAID 1[править | править код]

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

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

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

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

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

RAID 2[править | править код]

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

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

Недостатком массива RAID 2 является то, что минимальное количество дисков, при котором имеет смысл его использовать — 7, только начиная с этого количества для него требуется меньше дисков, чем для RAID 1 (4 диска с данными, 3 диска с кодами коррекции ошибок), в дальнейшем избыточность уменьшается по экспоненте.

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

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.

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

Достоинства

RAID 5 получил широкое распространение, в первую очередь благодаря своей экономичности. Объём дискового массива RAID 5 рассчитывается по формуле (n-1)*hddsize, где n — число дисков в массиве, а hddsize — размер диска (наименьшего, если диски имеют разный размер). Например, для массива из четырёх дисков по 80 гигабайт общий объём будет (4 − 1) * 80 = 240 гигабайт, то есть «потеряется» всего 25 % против 50 % RAID 10. И с увеличением количества дисков в массиве экономия (по сравнению с другими уровнями RAID, обладающими отказоустойчивостью) продолжает увеличиваться.

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

Недостатки

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

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

В ходе восстановления (rebuild или reconstruction) контроллер осуществляет длительное интенсивное чтение, которое может спровоцировать выход из строя ещё одного или нескольких дисков массива. Кроме того, в ходе чтения могут выявляться ранее не обнаруженные сбои чтения в массивах cold data (данных, к которым не обращаются при обычной работе массива, архивные и малоактивные данные), препятствующие восстановлению. Если до полного восстановления массива произойдет выход из строя, или возникнет невосстановимая ошибка чтения хотя бы на ещё одном диске, то массив разрушается и данные на нём восстановлению обычными методами не подлежат. Для предотвращения таких ситуаций в RAID-контроллерах может применяться анализ атрибутов S.M.A.R.T.

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

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

RAID 01 (RAID 0+1)[править | править код]

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

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

RAID 10 (RAID 1+0)[править | править код]

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

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

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

Для сравнения: RAID 0+1 выйдет из строя при двух накопителях, вышедших из строя в разных массивах. Шанс выхода из строя накопителя в соседнем массиве равен 2/3*100=66 %. Однако, так как массив RAID 0 с вышедшим из строя накопителем уже не используется, то оставшийся исправным накопитель в этом массиве можно исключить из расчёта, и получим шанс того, что следующий накопитель выведет из строя массив — 2/2*100=100 %.


Нестандартные уровни RAID[править | править код]

RAID 1E[править | править код]

Схема дискового массива RAID 1E в двух вариантах для 3, 4 и 5 устройств

RAID 1E (enhanced — усовершенствованный) — зеркало, способное работать на нечётном количестве устройств.

Существуют как минимум два разных алгоритма RAID 1E:

  • RAID 1E near (он же RAID 1E striped)[4];
  • RAID 1E interleaved[5].

В руководстве к вашему RAID-контроллеру может не указываться, какой именно тип RAID 1E (near или interleaved) он поддерживает[6]. Общим для них является то, что они хорошо подходят для создания массива из трёх дисковых устройств.

В RAID 1E near первый блок данных данных записывается на диск № 1 и на диск № 2 (полная копия, как при RAID 1). Следующий блок — на диск № 3 и диск № 4 (если диски закончились, например, диска № 4 в массиве нет, 3-й диск последний — контроллер возвращается к диску № 1 и переходит к следующей полоске).

В RAID 1E interleaved данные чередуются по полоскам: в первую полоску пишутся сами данные, во вторую — их копия. При переходе от одной полоски к другой увеличивается индекс устройства, с которого начинается запись. Таким образом, первый блок данных записывается на диск № 1 в первой полоске и на диск № 2 во второй полоске, второй блок данных — на диск № 2 в первой полоске и на диск № 3 во второй полоске и так далее.

Результирующая ёмкость массива с использованием RAID 1E составляет , где N — количество дисков в массиве, а S — ёмкость наименьшего из них.

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

1. Хорошая скорость передачи данных и обработки запросов.
2. В отличие от RAID 1 и RAID 10, реализована возможность организации зеркала на нечётном количестве устройств.

Недостатки:

1. Увеличение стоимости, поскольку доступна лишь половина суммарной ёмкости устройств.
2. В некоторых моделях контроллеров допускается отказ только одного диска, в связи с чем при чётном количестве дисков предпочтительнее использовать RAID 10[7].

Минимальное количество дисков: 3 (при двух — неотличим от RAID 1).

RAID 7[править | править код]

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

Число 7 в названии создаёт впечатление, что система чем-то превосходят «своих младших братьев» RAID 5 и 6, но математика RAID 7 не отличается от RAID 4, а кэш и батареи используются в RAID-контроллерах любых уровней (чем дороже контроллер, тем больше вероятность наличия этих компонент). Поэтому, хотя никто не отрицает, что RAID 7 обладает высокой надёжностью и скоростью работы, — это не промышленный стандарт, а скорее маркетинговый ход единственной компании-производителя таких устройств, и только эта компания осуществляет для них техническую поддержку.[8]

RAID-DP[править | править код]

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

Аппаратные RAID-контроллеры[править | править код]

Представляют собой плату расширения, либо размещаются вне сервера (например, в составе внешней дисковой подсистемы либо NAS).[9] Имеют собственный процессор, многие имеют кэш-память для ускорения работы. В устройства подороже опционально устанавливаются батареи (Battery Backup Unit, сокр. BBU, химические, либо конденсаторные) для сохранения данных в кэше в случае аварийного отключения электропитания. Конденсаторные батареи более современные, но более дорогие, поскольку дополнительно требуют наличия модуля энергонезависимой FLASH-памяти, куда при аварии будет копироваться кэш. Такие батареи не портятся со временем и, в отличие от химических, не требуют замены в течение срока службы сервера.[10]

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

Контроллеры различных производителей, как правило, не совместимы и не взаимозаменяемы между собой — это следует иметь в виду в случае выхода из строя платы контроллера. Информация о конфигурации RAID-массива хранится на дисках, но прочитать её, даже с полностью исправных дисков, и воссоздать массив сможет только контроллер того же производителя.[11] Для предотвращения подобных проблем существуют кластерные дисковые системы[12]. Программные RAID-массивы также лишены этого недостатка.

Дополнительные функции RAID-контроллеров[править | править код]

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

  • «Горячая замена» (hot swap)
  • «Горячий резерв» (hot spare)
  • Проверка на стабильность.

Сравнение уровней RAID[править | править код]

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

(может соответствовать скорости записи RAID 5)

60 от 8, чётное S * (N − 4) от 2 до 4 дисков*** средняя высокая средняя
61 от 8, чётное S * (N − 2) / 2 от 4 до N/2+2 дисков**** высокая высокая низкая двойная стоимость дискового пространства

* N — количество дисков в массиве, S — объём наименьшего диска[13][14][15][16].
** Информация не потеряется, если выйдут из строя диски в пределах разных зеркал.
*** Информация не потеряется, если выйдет из строя одинаковое кол-во дисков в разных stripe’ах.
**** Информация не потеряется, если выйдут из строя диски в пределах одного зеркала.
***** Информация потеряется, если одновременно выйдут из строя любые два соседних диска (либо первый с последним), иначе — не потеряется.


Программный RAID[править | править код]

Для реализации RAID можно применять не только аппаратные средства, но и полностью программные компоненты (драйверы). Например, в системах на ядре Linux поддержка существует непосредственно на уровне ядра. Управлять RAID-устройствами в Linux можно с помощью утилиты mdadm. Программный RAID имеет свои достоинства и недостатки. С одной стороны, он ничего не стоит (в отличие от аппаратных RAID-контроллеров, цена которых от $150). С другой стороны, программный 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 заблокирована разработчиками, но, тем не менее, может быть включена, путём редактирования системных бинарных файлов ОС, что запрещено лицензионным соглашением[17]. 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.


Hybrid RAID[править | править код]

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

RAIDIX[править | править код]

RAIDIX — программа для создания систем хранения на основе имеющегося оборудования, разработка компании "РЭЙДИКС". Кроме стандартных уровней RAID, содержит несколько проприетарных, например, RAID 7.3 и RAID N+M, где второе число означает количество дисков, выделяемых для хранения контрольной информации (M — произвольное число).[18]

Matrix[править | править код]

Схема Intel Matrix RAID

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

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

Список контроллеров, поддерживающих Intel RST[21]:

  • Intel PCHM SATA RAID/AHCI controller hub
  • Intel PCH SATA RAID/AHCI controller hub
  • Intel ICH10R/DO SATA RAID/AHCI controller hub
  • Intel ICH10D SATA AHCI controller hub
  • Intel ICH9M-E SATA AHCI/RAID controller hub
  • Intel ICH9M AHCI controller hub
  • Intel 82801IR I/O Controller Hub—RAID and AHCI
  • Intel 82801HEM I/O Controller Hub—RAID and AHCI
  • Intel 82801HBM I/O Controller Hub—AHCI only
  • Intel 82801HR/HH/HO I/O Controller Hub—RAID and AHCI
  • Intel 631xESB/632xESB I/O Controller Hub—RAID and AHCI
  • Intel 82801GHM I/O Controller Hub—RAID only
  • Intel 82801GBM I/O Controller Hub—AHCI only
  • Intel 82801GR/GH I/O Controller Hub—RAID and AHCI


Дальнейшее развитие идеи RAID[править | править код]

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

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

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

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

Интересные факты[править | править код]

  • Годовая вероятность отказа дискового массива RAID 5 из 3 дисков WD Caviar Blue = 0,05 %[23].

См. также[править | править код]

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

Примечания[править | править код]

  1. 1 2 David A. Patterson, Garth Gibson, and Randy H. Katz. A Case for Redundant Arrays of Inexpensive Disks (RAID)
  2. R.LAB. RAID-массивы — надёжность и производительность. RAID 1
  3. Выбираем уровень RAID
  4. Microsemi. Choosing the Right RAID Configurations: RAID 1E
  5. Adaptec Inc. Решения для хранения данных. Какой уровень RAID мне выбрать? - RAID 1E
  6. ReclaiMe Free RAID Recovery - RAID 1E types
  7. Adaptec Inc. Решения для хранения данных. Какой уровень RAID мне выбрать? - RAID 1E
  8. The PC Guide - RAID Level 7
  9. IXBT. Выбери свой RAID контроллер. 01.10.1999
  10. Всё, что вы хотели узнать о RAID-контроллерах, но лень было искать. 06.10.2016
  11. Habr, 24.02.2012. Что делать, если вышел из строя RAID-контроллер?
  12. 3DNews - Daily Digital Digest, 12.12.2001. FAQ по практической реализации RAID
  13. RAID 0, RAID 1, RAID 5, RAID6, RAID 10 или что такое уровни RAID?
  14. Dynamic disk introduction — RAID levels
  15. RAID Array and Server: Hardware and Service Comparison
  16. Summary Comparison of RAID Levels
  17. Создаём программный массив RAID 5 под Windows XP
  18. CNews. «Рэйдикс» и Western Digital: что умеет «голливудская» СХД
  19. Intel Rapid Storage Technology (Intel RST). RAID 0, 1, 5, 10, Matrix RAID, RAID-Ready
  20. Intel Rapid Storage Technology (Intel RST). Product overview
  21. Supported Intel Chipsets and Controller Hubs
  22. LSI MegaRAID 320-0 Zero Channel RAID Controler User’s Guide (англ.)
  23. Формула надёжности RAID  (недоступная ссылка — история). Проверено 14 сентября 2012. Архивировано 24 марта 2013 года.

Ссылки[править | править код]