RAID массив: виды и процесс создания. Типы RAID массивов

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

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

RAID 1+0 и RAID 0+1

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

RAID 2

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

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

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


RAID 3

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

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

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

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

Недостатки:

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


RAID 4

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

RAID 5

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

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

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

RAID 5EE

Примечание: поддерживается не во всех контроллерах RAID level-5EE подобен массиву RAID-5E, но с более эффективным использованием резервного диска и более коротким временем восстановления. Подобно RAID level-5E, этот уровень RAID-массива создает ряды данных и контрольных сумм во всех дисках массива. Массив RAID-5EE обладает улучшенной защитой и производительностью. При применении RAID level-5E, ёмкость логического тома ограничивается ёмкостью двух физических винчестеров массива (один для контроля, один резервный). Резервный диск является частью массива RAID level-5EE. Тем не менее, в отличие от RAID level-5E, использующего неразделенное свободное место для резерва, в RAID level-5EE в резервный диск вставлены блоки контрольных сумм, как показывается далее на примере. Это позволяет быстрее перестраивать данные при поломке физического диска. При такой конфигурации, вы не сможете использовать его с другими массивами. Если вам необходим запасной диск для другого массива, вам следует иметь еще один резервный винчестер. RAID level-5E требует как минимум четырех дисков и, в зависимости от уровня прошивки и их ёмкости, поддерживает от 8 до 16 дисков. RAID level-5E обладает определенной прошивкой. Примечание: для RAID level-5EЕ, вы можете использовать только один логический том в массиве.

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

  • 100% защита данных
  • Большая ёмкость физических дисков по сравнению с RAID-1 или RAID -1E
  • Большая производительность по сравнению с RAID-5
  • Более быстрое восстановление RAID по сравнению с RAID-5Е

Недостатки:

  • Более низкая производительность, чем в RAID-1 или RAID-1E
  • Поддержка только одного логического тома на массив
  • Невозможность совместного использования резервного диска с другими массивами
  • Поддержка не всех контроллеров

RAID 6

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

RAID 7

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

RAID 10

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

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

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

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

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

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

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

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

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

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

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

Matrix RAID

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

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

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

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

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

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

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

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

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

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

Сотрудник корпорации Y-E Data, которая является крупнейшим в мире производителем USB флоппи-дисководов, Дэниэл Олсон в качестве эксперимента создал RAID-массив из четырех

Теперь посмотрим какие есть виды и чем они отличаются.

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

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

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

RAID 0 (striping - «чередование» )

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

(mirroring - «зеркалирование» )

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

Обеспечивает приемлемую скорость записи и выигрыш по скорости чтения при распараллеливании запросов.

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

Похожий на RAID10 вариант распределения данных по дискам, допускающий использование нечётного числа дисков (минимальное количество - 3)

RAID 2, 3, 4

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

Основным недостатком уровней 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 5, но имеет более высокую степень надёжности - под контрольные суммы выделяется ёмкость 2-х дисков, рассчитываются 2 суммы по разным алгоритмам. Требует более мощный RAID-контроллер. Обеспечивает работоспособность после одновременного выхода из строя двух дисков - защита от кратного отказа. Для организации массива требуется минимум 4 диска. Обычно использование RAID-6 вызывает примерно 10-15% падение производительности дисковой группы, относительно RAID 5, что вызвано большим объёмом обработки для контроллера (необходимость рассчитывать вторую контрольную сумму, а также читать и перезаписывать больше дисковых блоков при записи каждого блока).

RAID 0+1

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

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

RAID 10 (1+0)

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%

массив, аналогичный RAID5, однако кроме распределенного хранения кодов четности используется распределение резервных областей - фактически задействуется жесткий диск, который можно добавить в массив RAID5 в качестве запасного (такие массивы называют 5+ или 5+spare). В RAID 5 массиве резервный диск простаивает до тех пор, пока не выйдет из строя один из основных жестких дисков, в то время как в RAID 5EE массиве этот диск используется совместно с остальными HDD все время, что положительно сказывается на производительность массива. К примеру, массив RAID5EE из 5 HDD сможет выполнить на 25% больше операций ввода/вывода за секунду, чем RAID5 массив из 4 основных и одного резервного HDD. Минимальное количество дисков для такого массива - 4.

объединение двух(или более, но это крайне редко применяется) массивов RAID5 в страйп, т.е. комбинация RAID5 и RAID0, частично исправляющая главный недостаток RAID5 - низкую скорость записи данных за счёт параллельного использования нескольких таких массивов. Общая ёмкость массива уменьшается на ёмкость двух дисков, но, в отличие от RAID6, без потери данных такой массив переносит отказ лишь одного диска, а минимально необходимое число дисков для создания массива RAID50 равно 6. Наряду с RAID10, это наиболее рекомендуемый уровень RAID для использования в приложениях, где требуется высокая производительность в сочетании приемлемой надёжностью.

объединение двух массивов RAID6 в страйп. Скорость записи повышается примерно в два раза, относительно скорости записи в RAID6. Минимальное количество дисков для создания такого массива - 8. Информация не теряется при отказе двух дисков из каждого RAID 6 массива

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

История создания

Впервые термин «RAID-массив» появился в 1987 году, когда американские исследователи Паттерсон, Гибсон и Катц из Калифорнийского университета Беркли в своей статье «Избыточный массив недорогих дисков» (“A Case for Redundant Arrays of Inexpensive Discs, RAID”) описали, каким образом можно объединить несколько дешевых жестких дисков в одно логическое устройство так, чтобы в результате повышались емкость и быстродействие системы, а отказ отдельных дисков не приводил к отказу всей системы.

С момента выхода этой статьи прошло уже более 20 лет, но технология построения RAID-массивов не утратила актуальности и сегодня. Единственное, что изменилось с тех пор, - это расшифровка аббревиатуры RAID. Дело в том, что первоначально RAID-массивы строились вовсе не на дешевых дисках, поэтому слово Inexpensive (недорогие) поменяли на Independent (независимые), что больше соответствовало действительности.

Принцип действия

Итак, RAID - это избыточный массив независимых дисков (Redundant Arrays of Independent Discs), на который возлагается задача обеспечения отказоустойчивости и повышения производительности. Отказоустойчивость достигается за счет избыточности. То есть часть емкости дискового пространства отводится для служебных целей, становясь недоступной для пользователя.

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

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

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

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

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

Уровни RAID-массивов

В настоящее время существует несколько RAID-уровней, которые можно считать стандартизованными, - это RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5 и RAID 6.

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

Отметим, что все современные RAID-контроллеры поддерживают функцию JBOD (Just a Bench Of Disks), которая не предназначена для создания массивов, - она обеспечивает возможность подключения к RAID-контроллеру отдельных дисков.

Нужно отметить, что интегрированные на материнские платы для домашних ПК RAID-контроллеры поддерживают далеко не все RAID-уровни. Двухпортовые RAID-контроллеры поддерживают только уровни 0 и 1, а RAID-контроллеры с большим количество портов (например, 6-портовый RAID-контроллер, интегрированный в южный мост чипсета ICH9R/ICH10R) - также уровни 10 и 5.

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

RAID 0

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

RAID 1 (Mirrored disk)

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

RAID 5

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

Предположим, что массив содержит n дисков, а размер страйпа d . Для каждой порции из n–1 страйпов рассчитывается контрольная сумма p .

Cтрайп d 1 записывается на первый диск, страйп d 2 - на второй и так далее вплоть до страйпа d n–1 , который записывается на (n –1)-й диск. Далее на n -й диск записывается контрольная сумма p n , и процесс циклически повторяется с первого диска, на который записывается страйп d n .

Процесс записи (n–1) страйпов и их контрольной суммы производится одновременно на все n дисков.

Для вычисления контрольной суммы используется поразрядная операция «исключающего ИЛИ» (XOR), применяемая к записываемым блокам данных. Так, если имеется n жестких дисков, d - блок данных (страйп), то контрольная сумма рассчитывается по следующей формуле:

p n = d 1 d 2 ... d 1–1 .

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

В качестве иллюстрации рассмотрим блоки размером по четыре бита. Пусть имеются всего пять дисков для хранения данных и записи контрольных сумм. Если есть последовательность битов 1101 0011 1100 1011, разбитая на блоки по четыре бита, то для расчета контрольной суммы необходимо выполнить следующую поразрядную операцию:

1101 0011 1100 1011 = 1001.

Таким образом, контрольная сумма, записываемая на пятый диск, равна 1001.

Если один из дисков, например четвертый, вышел из строя, то блок d 4 = 1100 окажется недоступным при считывании. Однако его значение легко восстановить по контрольной сумме и по значениям остальных блоков с помощью все той же операции «исключающего ИЛИ»:

d 4 = d 1 d 2 d 4 p 5 .

В нашем примере получим:

d 4 = (1101) (0011) (1100) (1011) = 1001.

В случае RAID 5 все диски массива имеют одинаковый размер, однако общая емкость дисковой подсистемы, доступной для записи, становится меньше ровно на один диск. Например, если пять дисков имеют размер 100 Гбайт, то фактический размер массива составляет 400 Гбайт, поскольку 100 Гбайт отводится на контрольную информацию.

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

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

RAID 10

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

Intel Matrix RAID

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

Для того чтобы разрешить эту нелегкую проблему, корпорация Intel разработала технологию Intel Matrix Storage, позволяющую объединить достоинства массивов уровней 0 и 1 всего на двух физических дисках. А для того, чтобы подчеркнуть, что речь в данном случае идет не просто о RAID-массиве, а о массиве, сочетающем в себе и физические и логические диски, в названии технологии вместо слова «массив» используется слово «матрица».

Итак, что же представляет собой RAID-матрица из двух дисков по технологии Intel Matrix Storage? Основная идея заключается в том, что при наличии в системе нескольких жестких дисков и материнской платы с чипсетом Intel, поддерживающим технологию Intel Matrix Storage, возможно разделение дискового пространства на несколько частей, каждая из которых будет функционировать как отдельный RAID-массив.

Рассмотрим простой пример RAID-матрицы из двух дисков по 120 Гбайт каждый. Любой из дисков можно разбить на два логических диска, например по 40 и 80 Гбайт. Далее два логических диска одного размера (например, по 40 Гбайт) можно объединить в RAID-матрицу уровня 1, а оставшиеся логические диски - в RAID-матрицу уровня 0.

В принципе, используя два физических диска, также можно создать всего одну или две RAID-матрицы уровня 0, но вот получить только матрицы уровня 1 невозможно. То есть если в системе имеются всего два диска, то технология Intel Matrix Storage позволяет создавать следующие типы RAID-матриц:

  • одна матрица уровня 0;
  • две матрицы уровня 0;
  • матрица уровня 0 и матрица уровня 1.

Если в системе установлены три жестких диска, то возможно создание следующих типов RAID-матриц:

  • одна матрица уровня 0;
  • одна матрица уровня 5;
  • две матрицы уровня 0;
  • две матрицы уровня 5;
  • матрица уровня 0 и матрица уровня 5.

Если в системе установлены четыре жестких диска, то дополнительно имеется возможность создать RAID-матрицу уровня 10, а также комбинации уровня 10 и уровня 0 или 5.

От теории к практике

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

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

Дело в том, что хотя теоретически при использовании RAID-массива уровня 0 скорость чтения и записи должна возрастать вдвое, на практике возрастание скоростных характеристик гораздо менее скромное и для разных RAID-контроллеров оно различно. Аналогично и для RAID-массива уровня 1: несмотря на то что теоретически скорость чтения должна увеличиваться вдвое, на практике не всё так гладко.

Для нашего сравнительного тестирования RAID-контроллеров мы использовали материнскую плату Gigabyte GA-EX58A-UD7. Эта плата основана на чипсете Intel X58 Express с южным мостом ICH10R, имеющим интегрированный RAID-контроллер на шесть портов SATA II, который поддерживает организацию RAID-массивов уровней 0, 1, 10 и 5 с функцией Intel Matrix RAID. Кроме того, на плате Gigabyte GA-EX58A-UD7 интегрирован RAID-контроллер GIGABYTE SATA2, на базе которого реализованы два порта SATA II c возможностью организации RAID-массивов уровней 0, 1 и JBOD.

Также на плате GA-EX58A-UD7 интегрирован SATA III-контроллер Marvell 9128, на базе которого реализованы два порта SATA III c возможностью организации RAID-массивов уровней 0, 1 и JBOD.

Таким образом, на плате Gigabyte GA-EX58A-UD7 имеются три отдельных RAID-контроллера, на базе которых можно создать RAID-массивы уровней 0 и 1 и сравнить их друг с другом. Напомним, что стандарт SATA III обратно совместим со стандартом SATA II, поэтому на базе контроллера Marvell 9128, поддерживающего диски с интерфейсом SATA III, можно также создавать RAID-массивы с использованием дисков с интерфейсом SATA II.

Стенд для тестирования имел следующую конфигурацию:

  • процессор - Intel Core i7-965 Extreme Edition;
  • материнская плата - Gigabyte GA-EX58A-UD7;
  • версия BIOS - F2a;
  • жесткие диски - два диска Western Digital WD1002FBYS, один диск Western Digital WD3200AAKS;
  • интегрированные RAID-контроллеры:
  • ICH10R,
  • GIGABYTE SATA2,
  • Marvell 9128;
  • память - DDR3-1066;
  • объем памяти - 3 Гбайт (три модуля по 1024 Мбайт);
  • режим работы памяти - DDR3-1333, трехканальный режим работы;
  • видеокарта - Gigabyte GeForce GTS295;
  • блок питания - Tagan 1300W.

Тестирование проводилось под управлением операционной системы Microsoft Windows 7 Ultimate (32-bit). Операционная система инсталлировалась на диск Western Digital WD3200AAKS, который подключался к порту контроллера SATA II, интегрированного в южный мост ICH10R. RAID-массив собирался на двух дисках WD1002FBYS с интерфейсом SATA II.

Для измерения скоростных характеристик создаваемых RAID-массивов мы использовали утилиту IOmeter, которая является отраслевым стандартом для измерения производительности дисковых систем.

Утилита IOmeter

Поскольку мы задумывали эту статью как своеобразное руководство пользователя по созданию и тестированию RAID-массивов, логично будет начать с описания утилиты IOmeter (Input/Output meter), которая, как мы уже отметили, является своеобразным отраслевым стандартом для измерения производительности дисковых систем. Данная утилита бесплатна, и ее можно скачать с ресурса http://www.iometer.org.

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

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

  • размер запроса на передачу данных;
  • случайное/последовательное распределение (в %);
  • распределение операций чтения/записи (в %);
  • количество отдельных операций ввода-вывода, работающих параллельно.

Утилита IOmeter не требует инсталляции на компьютер и состоит из двух частей: собственно IOmeter и Dynamo.

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

Для того чтобы начать работу с программой IOmeter, достаточно запустить файл IOmeter.exe. При этом открывается главное окно программы IOmeter (рис. 1).

Рис. 1. Главное окно программы IOmeter

Нужно отметить, что утилита IOmeter позволяет производить тестирование не только локальных дисковых систем (DAS), но и сетевых накопителей (NAS). К примеру, с ее помощью можно протестировать производительность дисковой подсистемы сервера (файл-сервера), используя для этого несколько сетевых клиентов. Поэтому часть закладок и инструментов в окне утилиты IOmeter относится именно к сетевым настройкам программы. Понятно, что при тестировании дисков и RAID-массивов эти возможности программы нам не потребуются, а потому мы не станем объяснять назначение всех вкладок и инструментов.

Итак, при запуске программы IOmeter в левой части главного окна (в окне Topology) будет отображаться древовидная структура всех запущенных генераторов нагрузки (экземпляров Dynamo). Каждый запущенный экземпляр генератора нагрузки Dynamo называется менеджером (manager). Кроме того, программа IOmeter является многопотоковой и каждый отдельный запущенный поток экземпляра генератора нагрузки Dynamo называется Worker. Количество запущенных Worker’ов всегда соответствует количеству логических ядер процессора.

В нашем примере используется только один компьютер с четырехъядерным процессором, поддерживающим технологию Hyper-Threading, поэтому запускается лишь один менеджер (один экземпляр Dynamo) и восемь (по количеству логических ядер процессора) Worker’ов.

Собственно, для тестирования дисков в данном окне нет необходимости что-либо менять или добавлять.

Если выделить мышью название компьютера в древовидной структуре запущенных экземпляров Dynamo, то в окне Target на вкладке Disk Target отобразятся все диски, дисковые массивы и прочие накопители (включая сетевые), установленные в компьютере. Это те накопители, с которыми программа IOmeter может работать. Носители могут быть помечены желтым или голубым цветом. Желтым цветом отмечаются логические разделы носителей, а голубым - физические устройства без созданных на них логических разделов. Логический раздел может быть перечеркнут или не перечеркнут. Дело в том, что для работы программы с логическим разделом его нужно прежде подготовить, создав на нем специальный файл, равный по размеру емкости всего логического раздела. Если логический раздел перечеркнут, то это значит, что раздел еще не подготовлен для тестирования (он будет подготовлен автоматически на первом этапе тестирования), ну а если раздел не перечеркнут, то это означает, что на логическом разделе уже создан файл, полностью готовый для тестирования.

Отметим, что, несмотря на поддерживаемую возможность работы с логическими разделами, оптимально тестировать именно не разбитые на логические разделы диски. Удалить логический раздел диска можно очень просто - через оснастку Disk Management . Для доступа к ней достаточно щелкнуть правой кнопкой мыши на значке Computer на рабочем столе и в открывшемся меню выбрать пункт Manage . В открывшемся окне Computer Management в левой части необходимо выбрать пункт Storage , а в нем - Disk Management . После этого в правой части окна Computer Management отобразятся все подключенные диски. Щелкнув правой кнопкой по нужному диску и выбрав в открывшемся меню пункт Delete Volume …, можно удалить логический раздел на физическом диске. Напомним, что при удалении с диска логического раздела вся информация на нем удаляется без возможности восстановления.

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

Итак, вернемся к описанию утилиты IOmeter. В окне Target на вкладке Disk Target необходимо выбрать тот диск (или дисковый массив), который будет подвергаться тестированию. Далее необходимо открыть вкладку Access Specifications (рис. 2), на которой можно будет определить сценарий тестирования.

Рис. 2. Вкладка Access Specifications утилиты IOmeter

В окне Global Access Specifications имеется список предустановленных сценариев тестирования, которые можно присвоить менеджеру загрузки. Впрочем, эти сценарии нам не понадобятся, поэтому все их можно выделить и удалить (для этого предусмотрена кнопка Delete ). После этого нажмем на кнопку New , чтобы создать новый сценарий тестирования. В открывшемся окне Edit Access Specification можно определить сценарий загрузки диска или RAID-массива.

Предположим, мы хотим выяснить зависимость скорости последовательного (линейного) чтения и записи от размера блока запроса на передачу данных. Для этого нам нужно сформировать последовательность сценариев загрузки в режиме последовательного чтения при различных размерах блока, а затем последовательность сценариев загрузки в режиме последовательной записи при различных размерах блока. Обычно размеры блоков выбираются в виде ряда, каждый член которого вдвое больше предыдущего, а первый член этого ряда равен 512 байт. То есть размеры блоков составляют следующий ряд: 512 байт, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 Кбайт, 1 Мбайт. Делать размер блока больше 1 Мбайт при последовательных операциях нет смысла, поскольку при таких больших размерах блока данных скорость последовательных операций не изменяется.

Итак, сформируем сценарий загрузки в режиме последовательного чтения для блока размером 512 байт.

В поле Name окна Edit Access Specification вводим название сценария загрузки. Например, Sequential_Read_512. Далее в поле Transfer Request Size задаем размер блока данных 512 байт. Ползунок Percent Random/Sequential Distribution (процентное соотношение между последовательными и выборочными операциями) сдвигаем до упора влево, чтобы все наши операции были только последовательными. Ну а ползунок , задающий процентное соотношение между операциями чтения и записи, сдвигаем до упора вправо, чтобы все наши операции были только чтением. Остальные параметры в окне Edit Access Specification менять не нужно (рис. 3).

Рис. 3. Окно Edit Access Specification для создания сценария загрузки последовательного чтения
при размере блока данных 512 байт

Нажимаем на кнопку Ok , и первый созданный нами сценарий отобразится в окне Global Access Specifications на вкладке Access Specifications утилиты IOmeter.

Аналогично нужно создать сценарии и для остальных блоков данных, однако, чтобы облегчить себе работу, проще не создавать сценарий каждый раз заново, нажимая для этого кнопку New , а, выбрав последний созданный сценарий, нажать кнопку Edit Copy (редактировать копию). После этого опять откроется окно Edit Access Specification с настройками нашего последнего созданного сценария. В нем достаточно будет поменять лишь название и размер блока. Проделав аналогичную процедуру для всех остальных размеров блоков, можно приступить к формированию сценариев для последовательной записи, что делается совершенно аналогично, за исключением того, что ползунок Percent Read/Write Distribution , задающий процентное соотношение между операциями чтения и записи, нужно сдвинуть до упора влево.

Аналогично можно создать сценарии для выборочной записи и чтения.

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

Для этого еще раз проверяем, что в окне Topology выделено название компьютера (то есть менеджер нагрузки на локальном ПК), а не отдельный Worker. Это гарантирует, что сценарии нагрузки будут присваиваться сразу всем Worker’ам. Далее в окне Global Access Specifications выделяем все созданные нами сценарии нагрузки и нажимаем кнопку Add . Все выделенные сценарии нагрузки добавятся в окно (рис. 4).

Рис. 4. Присвоение созданных сценариев нагрузки менеджеру нагрузки

После этого нужно перейти к вкладке Test Setup (рис. 5), на которой можно задать время выполнения каждого созданного нами сценария. Для этого в группе Run Time задаем время выполнения сценария нагрузки. Вполне достаточно будет задать время, равное 3 мин.

Рис. 5. Задание времени выполнения сценария нагрузки

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

После того как все необходимые настройки произведены, рекомендуется сохранить созданный тест, нажав на панели инструментов на кнопку с изображением дискеты. Тест сохраняется с расширением *.icf. Впоследствии можно будет воспользоваться созданным сценарием нагрузки, запустив не файл IOmeter.exe, а сохраненный файл с расширением *.icf.

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

В ходе тестирования промежуточные результаты можно наблюдать на вкладке Result Display , а определить, к какому сценарию нагрузки они относятся, можно на вкладке Access Specifications . В окне Assigned Access Specification исполняемый сценарий отображается зеленым, выполненные сценарии - красным, а еще не выполненные сценарии - синим цветом.

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

Создание RAID-массива на базе контроллера GIGABYTE SATA2

Итак, мы начинаем создание RAID-массива на базе двух дисков с использованием интегрированного на плате RAID-контроллера GIGABYTE SATA2. Конечно, сама компания Gigabyte не производит чипов, а потому под чипом GIGABYTE SATA2 скрывается перемаркированный чип другой фирмы. Как можно выяснить из INF-файла драйвера, речь идет о контроллере серии JMicron JMB36x.

Доступ в меню настройки контроллера возможен на этапе загрузки системы, для чего нужно нажать комбинацию клавиш Ctrl+G, когда появится соответствующая надпись на экране. Естественно, прежде в настройках BIOS нужно определить режим работы двух SATA-портов, относящихся к контроллеру GIGABYTE SATA2, как RAID (в противном случае доступ в меню конфигуратора RAID-массива будет невозможен).

Меню настройки RAID-контроллера GIGABYTE SATA2 довольно простое. Как мы уже отмечали, контроллер является двухпортовым и позволяет создавать RAID-массивы уровня 0 или 1. Через меню настройки контроллера можно удалить или создать RAID-массив. При создании RAID-массива имеется возможность указать его название, выбрать уровень массива (0 или 1), задать размер страйпа для RAID 0 (128, 84, 32, 16, 8 или 4K), а также определить размер массива.

Если массив создан, то какие-либо изменения в нем уже невозможны. То есть нельзя впоследствии для созданного массива изменить, например, его уровень или размер страйпа. Для этого прежде нужно удалить массив (с потерей данных), а потом создать его заново. Собственно, это свойственно не только контроллеру GIGABYTE SATA2. Невозможность изменения параметров созданных RAID-массивов - особенность всех контроллеров, которая вытекает из самого принципа реализации RAID-массива.

После того как массив на базе контроллера GIGABYTE SATA2 создан, текущую информацию о нем можно просмотреть, используя утилиту GIGABYTE RAID Configurer, которая устанавливается автоматически вместе с драйвером.

Создание RAID-массива на базе контроллера Marvell 9128

Конфигурирование RAID-контроллера Marvell 9128 возможно только через настройки BIOS платы Gigabyte GA-EX58A-UD7. Вообще, нужно сказать, что меню конфигуратора контроллера Marvell 9128 несколько сыровато и может ввести в заблуждение неискушенных пользователей. Впрочем, об этих незначительных недоработках мы расскажем чуть позже, а пока рассмотрим основные функциональные возможности контроллера Marvell 9128.

Итак, несмотря на то что этот контроллер поддерживает работу с дисками с интерфейсом SATA III, он также полностью совместим с дисками с интерфейсом SATA II.

Контроллер Marvell 9128 позволяет создать RAID-массив уровней 0 и 1 на базе двух дисков. Для массива уровня 0 можно задать размер страйпа 32 или 64 Кбайт, а также указать имя массива. Кроме того, имеется и такая опция, как Gigabyte Rounding, которая нуждается в пояснении. Несмотря на название, созвучное с именем компании-производителя, функция Gigabyte Rounding никакого отношения к ней не имеет. Более того, она никак не связана с RAID-массивом уровня 0, хотя в настройках контроллера ее можно определить именно для массива этого уровня. Собственно, это первая из тех недоработок конфигуратора контроллера Marvell 9128, о которых мы упоминали. Функция Gigabyte Rounding определена только для RAID-массива уровня 1. Она позволяет использовать для создания RAID-массива уровня 1 два диска (например, различных производителей или разные модели), емкость которых немного отличается друг от друга. Функция Gigabyte Rounding как раз и задает разницу в размерах двух дисков, применяемых для создания RAID-массива уровня 1. В контроллере Marvell 9128 функция Gigabyte Rounding позволяет установить разницу в размерах дисков 1 или 10 Гбайт.

Еще одна недоработка конфигуратора контроллера Marvell 9128 заключается в том, что при создании RAID-массива уровня 1 у пользователя имеется возможность выбора размера страйпа (32 или 64 Кбайт). Однако понятие страйпа вообще не определено для RAID-массива уровня 1.

Создание RAID-массива на базе контроллера, интегрированного в ICH10R

RAID-контроллер, интегрированный в южный мост ICH10R, является самым распространенным. Как уже отмечалось, данный RAID-контроллер 6-портовый и поддерживает не только создание массивов RAID 0 и RAID 1, но также RAID 5 и RAID 10.

Доступ в меню настройки контроллера возможен на этапе загрузки системы, для чего нужно нажать комбинацию клавиш Ctrl+I, когда появится соответствующая надпись на экране. Естественно, прежде в настройках BIOS следует определить режим работы этого контроллера как RAID (в противном случае доступ в меню конфигуратора RAID-массива будет невозможен).

Меню настройки RAID-контроллера достаточно простое. Через меню настройки контроллера можно удалить или создать RAID-массив. При создании RAID-массива можно указать его название, выбрать уровень массива (0, 1, 5 или 10), задать размер страйпа для RAID 0 (128, 84, 32, 16, 8 или 4K), а также определить размер массива.

Сравнение производительности RAID-массивов

Для тестирования RAID-массивов с помощью утилиты IOmeter мы создали сценарии нагрузки последовательного чтения, последовательной записи, выборочного чтения и выборочной записи. Размеры блоков данных в каждом сценарии нагрузки составляли следующую последовательность: 512 байт, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 Кбайт, 1 Мбайт.

На каждом из RAID-контроллеров создавался массив RAID 0 со всеми допустимыми размерами страйпов и массив RAID 1. Кроме того, дабы иметь возможность оценить прирост производительности, получаемый от использования RAID-массива, мы также протестировали на каждом из RAID-контроллеров одиночный диск.

Итак, обратимся к результатам нашего тестирования.

Контроллер GIGABYTE SATA2

Прежде всего рассмотрим результаты тестирования RAID-массивов на базе контроллера GIGABYTE SATA2 (рис. 6-13). В общем-то контроллер оказался в буквальном смысле загадочным, а его производительность просто разочаровала.

Рис. 6. Скорость последовательных
и выборочных операций для диска
Western Digital WD1002FBYS

Рис. 7. Скорость последовательных

c размером страйпа 128 Кбайт
(контроллер GIGABYTE SATA2)

Рис. 12. Скорость последовательных
и выборочных операций для RAID 0
c размером страйпа 4 Кбайт
(контроллер GIGABYTE SATA2)

Рис. 13. Скорость последовательных
и выборочных операций
для RAID 1 (контроллер GIGABYTE SATA2)

Если посмотреть на скоростные характеристики одного диска (без RAID-массива), то максимальная скорость последовательного чтения составляет 102 Мбайт/с, а максимальная скорость последовательной записи - 107 Мбайт/с.

При создании массива RAID 0 с размером страйпа 128 Кбайт максимальная скорость последовательного чтения и записи увеличивается до 125 Мбайт/с, то есть возрастает примерно на 22%.

При размере страйпа 64, 32 или 16 Кбайт максимальная скорость последовательного чтения составляет 130 Мбайт/с, а максимальная скорость последовательной записи - 141 Мбайт/с. То есть при указанных размерах страйпа максимальная скорость последовательного чтения возрастает на 27%, а максимальная скорость последовательной записи - на 31%.

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

При размере страйпа 8 Кбайт максимальная скорость последовательных операций (чтения и записи) остается примерно такой же, как и при размере страйпа 64, 32 или 16 Кбайт, однако с выборочным чтением - явные проблемы. При увеличении размера блока данных вплоть до 128 Кбайт скорость выборочного чтения (как и должно быть) возрастает пропорционально размеру блока данных. Однако при размере блока данных более 128 Кбайт скорость выборочного чтения падает практически до нуля (примерно до 0,1 Мбайт/с).

При размере страйпа 4 Кбайт падает не только скорость выборочного чтения при размере блока более 128 Кбайт, но и скорость последовательного чтения при размере блока более 16 Кбайт.

Использование массива RAID 1 на контроллере GIGABYTE SATA2 практически не изменяет (в сравнении с одиночным диском) скорость последовательного чтения, однако максимальная скорость последовательной записи уменьшается до 75 Мбайт/с. Напомним, что для массива RAID 1 скорость чтения должна возрастать, а скорость записи не должна уменьшаться в сравнении со скоростью чтения и записи одиночного диска.

На основании результатов тестирования контроллера GIGABYTE SATA2 можно сделать только один вывод. Использовать данный контроллер для создания массивов RAID 0 и RAID 1 имеет смысл только в том случае, когда все остальные RAID-контроллеры (Marvell 9128, ICH10R) уже задействованы. Хотя представить себе подобную ситуацию довольно сложно.

Контроллер Marvell 9128

Контроллер Marvell 9128 продемонстрировал гораздо более высокие скоростные характеристики в сравнении с контроллером GIGABYTE SATA2 (рис. 14-17). Собственно, различия проявляются даже при работе контроллера с одним диском. Если для контроллера GIGABYTE SATA2 максимальная скорость последовательного чтения составляет 102 Мбайт/с и достигается при размере блока данных 128 Кбайт, то для контроллера Marvell 9128 максимальная скорость последовательного чтения составляет 107 Мбайт/с и достигается при размере блока данных 16 Кбайт.

При создании массива RAID 0 с размером страйпа 64 и 32 Кбайт максимальная скорость последовательного чтения увеличивается до 211 Мбайт/с, а последовательной записи - до 185 Мбайт/с. То есть при указанных размерах страйпа максимальная скорость последовательного чтения возрастает на 97%, а максимальная скорость последовательной записи - на 73%.

Существенной разницы по скоростным показателям массива RAID 0 с размером страйпа 32 и 64 Кбайт не наблюдается, однако применение страйпа 32 Кбайт более предпочтительно, поскольку в этом случае скорость последовательных операций при размере блока менее 128 Кбайт будет немного выше.

При создании массива RAID 1 на контроллере Marvell 9128 максимальная скорость последовательных операций практически не изменяется в сравнении с одиночным диском. Так, если для одиночного диска максимальная скорость последовательных операций составляет 107 Мбайт/с, то для RAID 1 она равна 105 Мбайт/с. Также заметим, что для RAID 1 скорость выборочного чтения немного ухудшается.

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

Контроллер ICH10R

RAID-контроллер, встроенный в ICH10R, оказался самым высокопроизводительным из всех протестированных нами (рис. 18-25). При работе с одиночным диском (без создания RAID-массива) его производительность фактически такая же, как и производительность контроллера Marvell 9128. Максимальная скорость последовательного чтения и записи составляет 107 Мбайт и достигается при размере блока данных 16 Кбайт.

Рис. 18. Скорость последовательных
и выборочных операций
для диска Western Digital WD1002FBYS (контроллер ICH10R)

Если говорить о массиве RAID 0 на контроллере ICH10R, то максимальная скорость последовательного чтения и записи не зависит от размера страйпа и составляет 212 Мбайт/с. От размера страйпа зависит лишь размер блока данных, при котором достигается максимальное значение скорости последовательного чтения и записи. Как показывают результаты тестирования, для RAID 0 на базе контроллера ICH10R оптимально использовать страйп размером 64 Кбайт. В этом случае максимальное значение скорости последовательного чтения и записи достигается при размере блока данных всего 16 Кбайт.

Итак, резюмируя, еще раз подчеркнем, что RAID-контроллер, встроенный в ICH10R, существенно превосходит по производительности все остальные интегрированные RAID-контроллеры. А учитывая, что он обладает и большей функциональностью, оптимально использовать именно этот контроллер и просто забыть о существовании всех остальных (если, конечно, в системе не применяются диски SATA III).

RAID-массив. Что это? Зачем? И как создать?

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

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

Первый жесткий диск, называвшийся IBM 350, был собран 10 января 1955 года в лаборатории американской компании IBM. При размере с хороший шкаф и весе в тонну этот винчестер вмещал пять мегабайт информации. С современной точки зрения подобный объем даже смешным назвать нельзя, однако во время массового использования перфокарт и магнитных лент с последовательным доступом это был колоссальный технологический прорыв.


Выгрузка первого жесткого диска IBM 350 с самолета

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


Эволюция винчестеров на фоне дюймовой линейки (фото из " Википедии " )

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

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

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

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

Что такое RAID

В Интернете и даже современной компьютерной литературе нередко можно встретить термин "RAID-массив", что фактически является тавтологией, так как аббревиатура RAID (redundant array of independent disks) уже расшифровывается как "избыточный массив независимых дисков".

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

Существует несколько основных типов RAID, каждый из которых по-разному влияет на суммарную надежность и скорость работы массива в сравнении с одиночными дисками. Обозначаются они условным номером от 0 до 6. Подобное обозначение с подробным описанием архитектуры и принципа работы массивов было предложено специалистами Калифорнийского университета в Беркли. Помимо основных семи типов RAID возможны и различные их сочетания. Рассмотрим их далее.

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

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

Основным достоинством RAID 0 является существенный прирост скорости обмена информацией между дисковой системой без потери полезного объема жестких дисков. Недостаток - снижение общей надежности системы хранения. При выходе из строя любого из дисков RAID 0 безвозвратно пропадает вся записанная в массиве информация.

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

Общий объем RAID 1 равен объему меньшего из входящих в массив жестких дисков.

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

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

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

Основным достоинством RAID 2 является возможность коррекции возникающих ошибок "на лету" без снижения скорости обмена данными между дисковым массивом и центральным процессором.

RAID 3 и RAID 4

Эти два типа дисковых массивов очень похожи по схеме построения. В обоих для хранения информации используется несколько жестких дисков, один из которых используется исключительно для размещения контрольных сумм. Для создания RAID 3 и RAID 4 достаточно трех винчестеров. В отличие от RAID 2 восстановление данных "на лету" невозможно - информация восстанавливается после замены вышедшего из строя жесткого диска в течение некоторого времени.

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

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

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

Минимальное число жестких дисков для построения RAID 5 - три.

Массивы, построенные по схеме RAID 5, имеют весьма существенный недостаток. При выходе из строя любого диска после его замены необходимо несколько часов на полное восстановление информации. В это время неповрежденные жесткие диски массива работают в сверхинтенсивном режиме, что существенно повышает вероятность выхода из строя второго диска и полной потери информации. Хоть и редко, но подобное происходит. Кроме того, во время восстановления целостности RAID 5 массив почти полностью занят этим процессом и текущие операции записи/чтения выполняются с большими задержками. Если для большинства обычных пользователей это не критично, то в корпоративном секторе такие задержки могут привести к определенным финансовым потерям.

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

Достоинства RAID 6 - высокая степень защищенности информации и меньшее, чем в RAID 5, падение производительности в процессе восстановления данных при замене поврежденного диска.

Недостаток RAID 6 - снижение общей скорости обмена данными примерно на 10% из-за увеличения объема необходимых вычислений контрольных сумм, а также из-за роста объема записываемой/считываемой информации.

Комбинированные типы RAID

Помимо рассмотренных выше основных типов широко применяются различные их комбинации, которые компенсируют те или иные недостатки простых RAID. В частности, широко распространено использование схем RAID 10 и RAID 0+1. В первом случае пару зеркальных массивов объединяют в RAID 0, во втором наоборот - два RAID 0, объединяют в зеркало. И в том и в другом случае к защищенности информации RAID 1 добавляется повышенная производительность RAID 0.

Нередко с целью повышения уровня защиты важной информации используются схемы построения RAID 51 или RAID 61 - зеркалирование и так высокозащищенных массивов обеспечивает исключительную сохранность данных при любых сбоях. Однако в домашних условиях такие массивы реализовывать нецелесообразно из-за чрезмерной избыточности.

Построение массива дисков - от теории к практике

Построением и управлением работой любого RAID занимается специализированный RAID-контроллер. К большому облегчению рядового пользователя персонального компьютера, в большинстве современных материнских плат эти контроллеры уже реализуются на уровне южного моста чипсета. Так что для построения массива жестких дисков достаточно озаботиться приобретением необходимого их количества и определения желаемого типа RAID в соответствующем разделе настройки BIOS. После этого в системе вместо нескольких жестких дисков вы увидите только один, который уже по желанию можно разбивать на разделы и логические диски. Учтите, что тем, кто еще пользуется ОС Windows XP, понадобится установить дополнительный драйвер.

Внешний RAID-контроллер c четырьмя портами SATA

Отметим, что интегрированные контроллеры, как правило, способны создать RAID 0, RAID 1 и их сочетания. Для создания более сложных массивов все же потребуется приобретение отдельного контроллера.

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

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

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

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

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


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

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


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

Массив RAID 1

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

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

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


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

Массив RAID 0

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

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

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

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

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

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

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

Массив RAID 5

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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