Что такое RAID - массив. Варианты RAID-массивов

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

Тестовый стенд

Как правило в организациях малого и среднего бизнеса на роль файловых серверов, серверов уровня отдела и т.п. используется обычный ПК, собранный из обычных, бюджетных, комплектующих. Целью нашего тестирования было изучение производительности дисковой подсистемы собранной с помощью RAID контроллера чипсета и его сравнение с программными реализациями RAID массивов (средствами ОС). Поводом для проведения тестирования стало отсутствие в широком доступе объективных тестов бюджетных RAID, а также большое количество "мифов и легенд" по этому вопросу. Мы специально не подбирали железо, а воспользовались тем, что было под рукой. А под рукой оказались несколько обычных ПК для очередного внедрения, один из которых был использован в качестве тестового стенда.

Конфигурация ПК:

  • Материнская плата: ASUS M4N68T-M SocketAM3
  • Процессор: CPU AMD ATHLON II X2 245 (ADX245O) 2.9 ГГц/ 2Мб/ 4000МГц Socket AM3
  • Оперативная память: 2 х Kingston ValueRAM DDR-III DIMM 1Gb
  • Жесткие диски: HDD 320 Gb SATA-II 300 Western Digital Caviar Blue 7200rpm 16Mb
  • Операционная система: Windows Server 2008 SP2 (32-bit)
  • Файловая система: NTFS

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

Методика тестирования

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

Нами были протестированы массивы RAID0, RAID1 и RAID5, причем RAID5 был протестирован как в нормальном режиме, так и в аварийном, с одним изъятым диском. Почему в аварийном режиме мы протестировали только этот массив? Ответ прост: для RAID0 такого режима не существует, при отказе любого из дисков массив разрушается, а единственный оставшийся диск RAID1 ничем ни будет отличатся от одиночного диска.

Тестировались как аппаратные, так и программные реализации, первоначально мы еще замеряли среднюю загрузку ЦПУ, так как бытует мнение, что программный RAID сильно грузит процессор. Однако от включения данного замера в результаты тестов мы отказались, нагрузка на процессор оказалась приблизительно равна и составила около 37-40% для одиночного диска, RAID0, RAID1 и 40-45% для RAID5.

Файловые операции

Классическими операциями для любого накопителя являются операции чтения и записи. В Intel NASPT эти параметры оцениваются в четырех тестах: копирование на накопитель и обратно файла размером 247 Мб и 44 папок содержащих 2833 файла общим объемом 1,2 Гб.

Чтение / запись файлов

Если обратить внимание на результаты эталонного диска, то увидим, что скорость записи почти вдвое (на 89%) выше скорости чтения. Это связано с особенностями работы файловой системы и этот факт также следует учитывать. RAID0 (чередующийся массив), вне зависимости от способа реализации показал на 70% более высокую производительность, чем одиночный диск, в то время как скоростные параметры RAID1 (зеркало) полностью ему идентичны.

Отдельного разговора заслуживает RAID5, скорость записи на него неприемлемо низкая, замедление составляет до 70%, в то время как скорость чтения не уступает быстрому RAID0. Возможно это связано с недостатком вычислительных ресурсов и несовершенством алгоритмов, ведь при записи тратятся дополнительные ресурсы для вычисление контрольной суммы. При отказе одного из дисков скорость записи падает, у аппаратного решения спад менее выражен (15%), чем у программного (40%). Скорость чтения при этом падает значительно и соответствует скорости одиночного диска.

Чтение / запись папок

Каждый, кто пробовал скопировать россыпь мелких файлов, знает - лучше предварительно запаковать их в архив, так будет значительно быстрее. Наши тесты только подтверждают это эмпирическое правило, чтение россыпи мелких файлов и папок почти на 60% медленнее, чтения крупного файла, скорость записи также незначительно (10%) ниже.

RAID0 дает гораздо меньшее преимущество на операциях записи (30-40%), а на операциях чтения разницей вообще можно пренебречь. RAID1 ожидаемо не подносит нам никаких сюрпризов, идя один в один с одиночным диском.

RAID5 на мелких файлах показывает гораздо более лучший результат, но все равно продолжает уступать одиночному диску в среднем 35%. Скорость чтения ничем не отличается от остальных конфигураций, мы склонны считать, что в данном случае сдерживающим фактором является время произвольного доступа винчестера. А вот при изъятии из массива одного диска мы получили весьма неожиданный результат, который заставил нас его несколько раз перепроверить, в том числе и на другой модели винчестеров (500 Gb Seagate/Maxtor Barracuda 7200.12/DiamondMax 23 <3500418AS> 7200rpm 16Mb). Дело в том, что скорость записи аппаратного массива резко упала (почти в три раза), а скорость записи программного RAID5 наоборот выросла, возможно это связано с алгоритмом программной реализации массива. И все же мы предпочитаем оставить данный "феномен" без комментариев.

Работа с приложениями

Следующие тесты отражают производительность дисковой подсистемы при работе с различного рода приложениями, прежде всего офисными. Первый тест (Content Creation) отражает использование диска для хранения и работы с данными, пользователь создает, открывает, сохраняет документы не проявляя особой активности. Наиболее мощный тест - Office Productivity, он моделирует активную работу с документами, поиск информации в интернете (на накопитель сбрасывается кэш браузера), в общей сложности 616 файлов в 45 каталогах объемом 572 Мб. Последний тест - работа с фотоальбомом (преимущественно просмотр), более характерен для домашнего применения, включает в себя 1,2 Гб фото (169 файлов, 11 каталогов).

Работа с документами

При работе с одиночными файлами RAID0 вполне предсказуемо почти в два раза опережает RAID1 и одиночный жесткий диск (тест Content Creation), однако при активной работе теряет все свои преимущества, в тесте Office Productivity RAID0, RAID1 и одиночный диск показывают одинаковые результаты.

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

Работа с фотографиями

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

Мультимедиа

Ну и напоследок мультимедийные тесты, которые мы разбили на две части: воспроизведение и запись. В первом случае с накопителя воспроизводится HD видео в один, два и четыре потока одновременно. Во втором производится запись и одновременная запись - воспроизведение двух файлов. Данный тест применим не только к видео, так как характеризует общие процессы линейной записи / чтения с дискового массива.

Воспроизведение

RAID0

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

Где можно применять RAID0? В первую очередь на рабочих станциях, которым по роду задач приходится работать с большими файлами, например, видеомонтаж. Если требуется отказоустойчивость можно применить RAID10 или RAID0+1 которые представляют чередующийся массив из двух зеркал или зеркало из чередующихся массивов, данные уровни RAID сочетают скоростные параметры RAID0 и надежность RAID1, из недостатков можно назвать существенные накладные расходы - для хранения используется только половина емкости дисков входящих в массив.

RAID1

Никаких скоростных преимуществ перед одиночным диском "зеркало" не имеет, основная задача этого массива - обеспечение отказоустойчивости. Рекомендуется к применению при работе с офисными файлами и мелкими файлами, т.е. на тех задачах где разница между более скоростными массивами не столь велика. Неплохо подойдет для работы с 1С:Предприятие 7.7 в файловом режиме, который по характеру работы с диском представляет нечто среднее между Office Productivity и Dir copy from / to NAS. Для более производительных задач не рекомендуется, здесь стоит обратить внимание на RAID10 и RAID0+1.

RAID5

Мы бы не рекомендовали применять этот вид массива в бюджетных системах, на операциях записи RAID5 значительно проигрывает даже одиночному жесткому диску. Единственная сфера, где его применение будет оправдано, это создание медиасерверов для хранения мультимедийных данных, основной режим которых - чтение. Здесь на первый план выходят такие параметры как высокая скорость чтения (на уровне RAID0) и меньшие накладные расходы на обеспечение отказоустойчивости (1/3 емкости массива), что дает неплохой выигрыш при создании хранилищ значительного объема. Однако следует помнить, что попытка записи на массив приводит к резкому снижению производительности, поэтому заливку новых данных на подобные медиасервера следует производить в часы наименьшей загруженности.

Аппаратный или программный?

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

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

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

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

Из недостатков следует отметить невозможность установки Windows на тома RAID0 и RAID5, по той причине, что установка Windows на динамический том возможна только тогда, когда этот том был преобразован из базового загрузочного или системного тома. Подробнее о динамических томах можно прочитать .

Сегодня мы поговорим о RAID-массивах . Разберемся, что это такое, зачем это нам надо, какое оно бывает и как все это великолепие использовать на практике.

Итак, по порядку: что такое RAID-массив или просто RAID ? Расшифровывается эта аббревиатура как "Redundant Array of Independent Disks" или "избыточный (резервный) массив независимых дисков". Говоря по-простому, RAID-массив это совокупность физических дисков, объединенных в один логический.

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

RAID-массивы бывают аппаратные и программные.

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

Программные RAID-массивы создаются средствами ОС. Т.е. во время загрузки операционная система "понимает", что у нее несколько физических дисков и только после старта ОС, посредством программного обеспечения диски объединяются в массивы. Естественно сама операционная система располагается не на RAID-массиве , поскольку устанавливается до его создания.

"Зачем все это нужно?" - спросите Вы? Отвечаю: для повышения скорости чтения/записи данных и/или повышения отказоустойчивости и безопасности.

"Каким образом RAID-массив может увеличить скорость или обезопасить данные?" - для ответа на этот вопрос рассмотрим основные типы RAID-массивов , как они формируются и что это дает в результате.

RAID-0 . Называемый так же "Stripe" или "Лента". Два или более жестких дисков объединяются в один путем последовательного слияния и суммирования объемов. Т.е. если мы возьмем два диска объемом 500Гб и создадим из них RAID-0 , операционной системой это будет восприниматься как один диск объемом в терабайт. При этом скорость чтения/записи у этого массива будет вдвое больше, нежели у одного диска, поскольку, например, если база данных расположена таким образом физически на двух дисках, один пользователь может производить чтения данных с одного диска, а другой пользователь производить запись на другой диск одновременно. В то время как в случае расположения базы на одном диске, сам жесткий диск задачи чтения/записи разных пользователей будет выполнять последовательно. RAID-0 позволит выполнять чтение/запись параллельно. Как следствие - чем больше дисков в массиве RAID-0 , тем быстрее работает сам массив. Зависимость прямопропорциональная - скорость возрастается в N раз, где N - количество дисков в массиве.
У массива RAID-0 есть только один недостаток, который перекрывает все плюсы от его использования - полное отсутствие отказоустойчивости. В случае смерти одного из физических дисков массива, умирает весь массив. Есть старая шутка на эту тему: "Что обозначает "0" в названии RAID-0 ? - объем восстанавливаемой информации после смерти массива!"

RAID-1 . Называемый так же "Mirror" или "Зеркало". Два или более жестких дисков объединяются в один путем параллельного слияния. Т.е. если мы возьмем два диска объемом 500Гб и создадим из них RAID-1 , операционной системой это будет восприниматься как один диск объемом в 500Гб. При этом скорость чтения/записи у этого массива будет такая же, как у одного диска, поскольку, чтение/запись информации производятся на оба диска одновременно. RAID-1 не дает выигрыша в скорости, однако обеспечивает большую отказоустойчивость, поскольку в случае смерти одного из жестких дисков, всегда есть полный дубль информации, находящийся на втором диске. При этом необходимо помнить, что отказоустойчивость обеспечивается только от смерти одного из дисков массива. В случае если данные были удалены целенаправленно, то они удаляются со всех дисков массива одновременно!

RAID-5 . Более безопасный вариант RAID-0. Объем массива рассчитывается по формуле (N - 1) * DiskSize RAID-5 из трех дисков по 500Гб, мы получим массив объемом в 1 терабайт. Суть массива RAID-5 в том, что несколько дисков объединятся в RAID-0, а на последнем диске хранится так называемая "контрольная сумма" - служебная информация, предназначенная для восстановления одного из дисков массива, в случае его смерти. Скорость записи в массиве RAID-5 несколько ниже, поскольку тратится время на расчет и запись контрольной суммы на отдельный диск, зато скорость чтения такая же, как в RAID-0.
Если один из дисков массива RAID-5 умирает, резко падает скорость чтения/записи, поскольку все операции сопровождаются дополнительными манипуляциями. Фактически RAID-5 превращается в RAID-0 и если своевременно не позаботиться восстановлением RAID-массива есть существенный риск потерять данные полностью.
С массивом RAID-5 можно использовать так называемый Spare-диск, т.е. запасной. Во время стабильной работы RAID-массива этот диск простаивает и не используется. Однако в случае наступления критической ситуации, восстановление RAID-массива начинается автоматически - на запасной диск восстанавливается информация с поврежденного с помощью контрольных сумм, расположенных на отдельном диске.
RAID-5 создается как минимум из трех дисков и спасает от одиночных ошибок. В случае одновременного появления разных ошибок на разных дисках RAID-5 не спасает.

RAID-6 - является улучшенным вариантом RAID-5. Суть та же самая, только для контрольных сумм используется уже не один, а два диска, причем контрольные суммы считаются с помощью разных алгоритмов, что существенно повышает отказоустойчивость всего RAID-массива в целом. RAID-6 собирается минимум из четырех дисков. Формула расчета объема массива выглядит как (N - 2) * DiskSize , где N - количество дисков в массиве, а DiskSize - объем каждого диска. Т.е. при создании RAID-6 из пяти дисков по 500Гб, мы получим массив объемом в 1,5 терабайта.
Скорость записи RAID-6 ниже чем у RAID-5 примерно на 10-15%, что обусловлено дополнительными временными затратами на расчет и запись контрольных сумм.

RAID-10 - так же иногда называется RAID 0+1 или RAID 1+0 . Представляет собой симбиоз RAID-0 и RAID-1. Массив строится минимум из четырех дисков: на первом канале RAID-0, на втором RAID-0 для повышения скорости чтения/записи и между собой они в зеркале RAID-1 для повышения отказоустойчивости. Таким образом, RAID-10 совмещает в себе плюс первых двух вариантов - быстрый и отказоустойчивый.

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

RAID-60 - та же самая идея: фактически имеем RAID-6, собранный из нескольких массивов RAID-0.

Так же существуют другие комбинированные массивы RAID 5+1 и RAID 6+1 - они похожи на RAID-50 и RAID-60 с той лишь разницей, что базовыми элементами массива являются не ленты RAID-0, а зеркала RAID-1.

Как Вы сами понимаете комбинированные RAID-массивы: RAID-10 , RAID-50 , RAID-60 и варианты RAID X+1 являются прямыми наследниками базовых типов массивов RAID-0 , RAID-1 , RAID-5 и RAID-6 и служат только для повышения либо скорости чтения/записи, либо повышения отказоустойчивости, неся при этом в себе функционал базовых, родительских типов RAID-массивов .

Если перейти к практике и поговорить о применении тех или иных RAID-массивов в жизни, то логика довольно проста:

RAID-0 в чистом виде не используем вообще;

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

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

RAID-6 используется там, где просто страшно или есть реальная угроза смерти сразу нескольких дисков в массиве. На практике встречается достаточно редко, в основном у параноиков;

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

Опять же, если еще упростить, то приходим к выводу, что там где нет большой и объемной работы с файлами вполне достаточно RAID-1 - операционная система, AD, TS, почта, прокси и т.д. Там же, где требуется серьезная работа с файлами: RAID-5 или RAID-10 .

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

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

У энтузиастов есть неписаное правило: жёсткий диск Western Digital WD1500 Raptor является идеальной моделью для настольных ПК, если вам нужна максимальная производительность. Но по этому пути могут последовать далеко не все пользователи, поскольку тратить $240 на жёсткий диск ёмкостью всего 150 Гбайт - решение не очень привлекательное. Остаётся ли Raptor лучшим выбором? Цена не менялась уже многие месяцы, а сегодня за такие деньги можно легко купить пару 400-Гбайт накопителей. Не настало ли время сравнить производительность современных RAID массивов с Raptor?

Энтузиасты хорошо знакомы с жёсткими дисками Raptor, поскольку это единственный 3,5" жёсткий диск для настольных ПК, который вращается на скорости 10 000 об/мин. Большинство винчестеров в этом секторе рынка имеют скорость вращения 7 200 об/мин. Только дорогие жёсткие диски для серверов вращаются быстрее. Первые жёсткие диски WD Raptor на 36 и 74 Гбайт были представлены три года назад. Около года назад на рынок вышел Western Digital Raptor-X , который обеспечивает более высокую производительность, доступны также модели с прозрачной крышкой, которая позволяет заглянуть внутрь жёсткого диска.

Жёсткие диски Western Digital Raptor после своего выхода обошли все другие 3,5" винчестеры Serial ATA для настольных ПК, хотя изначально они позиционировались на недорогие серверы.

Скорость вращения шпинделя 10 000 об/мин даёт два существенных преимущества. Во-первых, скорость передачи данных заметно увеличивается. Да, максимальная последовательная скорость чтения не особо впечатляет, но минимальная скорость намного превосходит любые жёсткие диски на 7 200 об/мин. Кроме того, у жёсткого диска на 10 000 об/мин меньше задержки на вращение, то есть накопителю требуется меньшее время на получение данных после того, как головки чтения/записи будут позиционированы.

Главным недостатком WD Raptor является цена - около $240 за 150-Гбайт модель. Среди других недостатков отметим более высокий (хотя и не критичный) уровень шума и более высокое тепловыделение. Впрочем, энтузиасты легко смирятся с подобными недостатками, если этот жёсткий диск даст более высокую производительность подсистемы хранения данных.

Если посчитать стоимость хранения гигабайта данных, то Raptor будет уже не так привлекателен. За $240 можно взять пару 400-Гбайт жёстких дисков, да и до уровня $300 за 750-Гбайт Seagate Barracuda 7200.10 уже недалеко. Если обратить взор на дешёвый сегмент, то можно взять пару 160-Гбайт жёстких дисков на 7 200 об/мин по $50 каждый, которые обеспечат ту же ёмкость, что и Raptor, но более чем в два раза дешевле. Поэтому сегодня даже энтузиасты часто спрашивают себя: стоит ли брать WD Raptor, не лучше ли выбрать конфигурацию RAID 0 на двух жёстких дисках на 7 200 об/мин?

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

Быстрый или разумный жёсткий диск?

Производительность Ёмкость Безопасность хранения данных Цена
Один винчестер (7 200 об/мин) Хорошая От достаточной до отличной Достаточная * От низкой к высокой, от $50 до $300
150-Гбайт WD Raptor (10 000 об/мин) Отличная Достаточная Достаточная * Высокая: $ 240+
2x 160 Гбайт (7 200 об/мин) От очень хорошей до отличной От хорошей до отличной Недостаточная * От низкой до высокой: от $50 за жёсткий диск
2x 150 Гбайт WD Raptor (10 000 об/мин) Отличная Хорошая Недостаточная * От высокой до очень высокой: от $240 за накопитель

* Следует помнить, что любой жёсткий диск рано или поздно выйдет из строя. Технология базируется на механических компонентах, а время жизни у них ограниченное. Производители указывают для жёстких дисков время наработки на отказ (MTBF, Mean Time Between Failures). Если вы установили массив RAID 0 на двух жёстких дисках на 7 200 об/мин, то риск потери данных увеличивается в два раза, поскольку при сбое одного винчестера вы потеряете весь массив RAID 0. Поэтому регулярно проводите резервирование важных данных и создавайте образ операционной системы.

Сегодня можно купить 40-80-Гбайт жёсткие диски чуть ли не за копейки, и если у вас нет особых требований по ёмкости, то такого объёма будет достаточно даже сегодня. Впрочем, мы рекомендуем брать жёсткие диски по цене $50-$70, поскольку вы можете легко взять модели с ёмкостью от 120 до 200 Гбайт. В интернет-магазинах уже начали появляться модели на 250 и 320 Гбайт по цене меньше $100. За те деньги, которые вы потратите на WD Raptor с 10 000 об/мин, можно легко получить ёмкость от 800 Гбайт до 1 Тбайт на жёстких дисках с 7 200 об/мин.

Если вам не нужна такая высокая ёмкость, можно довольствоваться жёсткими дисками на 7 200 об/мин начального уровня. Два накопителя WD1600AAJS от Western Digital обойдутся в $55 каждый, при этом вы легко получите ёмкость 320 Гбайт в массиве RAID 0. И потратите в два раза меньше денег, и получите в два раза большую ёмкость. Насколько оправдана подобная экономия? Давайте разберёмся.

7 200 или 10 000 об/мин? RAID 0 или Raptor?

Мы решили протестировать разные конфигурации жёстких дисков. В нашем тестировании участвуют одиночный WD Raptor WD1500ADFD, одиночный WD4000KD, Raptor в массиве RAID 0 и WD4000 в массиве RAID 0. Мы решили взять 400-Гбайт жёсткие диски WD на 7 200 об/мин, поскольку два таких винчестера примерно соответствуют по цене одному Raptor. Посмотрим, насколько хорошо "бюджетный" RAID-массив покажет себя по сравнению с одним Raptor.

WD4000KD оснащён 16 Мбайт кэша и имеет интерфейс Serial ATA/150. Основное отличие по сравнению с WD Raptor на 10 000 об/мин кроется в производительности и ёмкости. Raptor существенно уступает по стоимости хранения одного гигабайта, которая оказывается, как минимум, в шесть раз больше по сравнению с 400-Гбайт WD4000KD. Тесты покажут, насколько сильны различия в производительности. На момент публикации цена WD4000KD Caviar составляла $130.

Raptor - бесспорный чемпион по производительности на рынке настольных ПК, но это и самый дорогой жёсткий диск. WD1500 Raptor использует интерфейс Serial ATA/150, которого по-прежнему вполне достаточно. Если взглянуть на результаты тестов, то ни один другой жёсткий диск не может обойти Raptor, пусть даже с интерфейсом SATA 300 Мбайт/с. В общем, скорость интерфейса SATA не должна влиять на решение о покупке. На момент публикации цена WD1500ADFD Raptor составляла $240.

Данная конфигурация должна сразиться с WD1500 Raptor. Смогут ли два жёстких диска WD4000KD в массиве RAID 0 обойти Raptor?

Этот сценарий самый дорогой в нашем тестировании, поскольку он требует двух жёстких дисков WD Raptor, но он, тем не менее, очень интересен. Два жёстких диска Raptor на 10 000 об/мин в массиве RAID 0 должны "порвать" буквально всех.

RAID 0

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

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

Если построить конфигурацию RAID на нескольких жёстких дисках, "узким местом" может стать контроллер накопителей. Обычная шинная PCI позволяет передавать, максимум, 133 Мбайт/с, что легко поглощается двумя современными жёсткими дисками. Контроллеры Serial ATA, которые входят в чипсет, дают, как правило, более высокую пропускную способность, поэтому они не ограничивают производительность массивов RAID.

Мы получили до 350 Мбайт/с на четырёх жёстких дисках WD Raptor с 10 000 об/мин на чипсетах с южными мостами Intel ICH7 и ICH8 . Великолепный результат, который очень близок к суммарной пропускной способности четырёх отдельных жёстких дисков. В то же время, чипсет nVidia nForce 680 показал максимум в 110 Мбайт/с, увы. Похоже, что не каждый интегрированный RAID-контроллер способен обеспечить высокую производительность массивов RAID, пусть даже технически такая возможность есть.

Сравнение режимов RAID

Следует отметить, что RAID 0 на самом деле не раскрывает идею массивов RAID, что расшифровывается как Redundant Arrays of Independent/Inexpensive Drives (избыточный массив недорогих/независимых дисков). Избыточность подразумевает хранение данных, по крайней мере, в двух местах, чтобы они сохранились даже при сбое одного жёсткого диска. Так и происходит, например, в случае массива RAID 1, в котором все данные зеркалируются на втором жёстком диске. Если один из винчестеров "умрёт", то вы узнаете об этом только из сообщений RAID-контроллера. Массив RAID 5 намного более сложный и рассчитан на профессиональный сектор. Он работает подобно массиву RAID 0, распределяя данные по всем жёстким дискам, но к данным добавляется информация избыточности. Поэтому чистая ёмкость массива RAID 5 равняется суммарной ёмкости всех жёстких дисков за исключением одного. Информация избыточности записывается не на один жёсткий диск (как в случае RAID 3), а распределяется по всем накопителям, чтобы не создавать "узкое место" при чтении или записи информации избыточности на один HDD. Массив RAID 5, вполне понятно, требует не меньше трёх жёстких дисков.

Риски и побочные эффекты

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

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



Intel Matrix RAID: на одном наборе жёстких дисков можно создавать разные массивы RAID.

Если RAID-контроллер достаточно "умный", то он может позволять устанавливать два или больше массивов RAID на один набор жёстких дисков. Хотя каждый RAID-контролер может поддерживать несколько массивов RAID, для этого, чаще всего, требуются разные наборы жёстких дисков. Поэтому южные мосты Intel ICH7-R и ICH8-R оказались очень интересными: они поддерживают функцию Intel Matrix RAID.

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

Следует помнить, что многие RAID-массивы требуют установки драйвера RAID (например, Intel Matrix Storage Manager), что может создавать проблемы во время загрузки и восстановления системы. Любому загрузочному диску, который вы будете использовать для восстановления, потребуются драйверы RAID. Поэтому приберегите дискету с драйверами для такого случая.

Тестовая конфигурация

Конфигурация для тестов низкого уровня

Процессоры 2x Intel Xeon (ядро Nocona), 3,6 ГГц, FSB800, кэш L2 1 Мбайт
Платформа Asus NCL-DS (Socket 604), чипсет Intel E7520, BIOS 1005
Память Corsair CM72DD512AR-400 (DDR2-400 ECC, reg.), 2x 512 Мбайт, задержки CL3-3-3-10
Системный жёсткий диск Western Digital Caviar WD1200JB, 120 Гбайт, 7200 об/мин, кэш 8 Мбайт, UltraATA/100
Контроллеры накопителей Intel 82801EB UltraATA/100 Controller (ICH5)
Silicon Image Sil3124, PCI-X
Сеть Встроенный контроллер Broadcom BCM5721 Gigabit Ethernet
Видеокарта Встроенная ATi RageXL, 8 Мбайт
Тесты и настройки
Тесты производительности c"t h2benchw 3.6
PCMark05 V1.01
Тесты ввода/вывода IOMeter 2003.05.10
Fileserver-Benchmark
Webserver-Benchmark
Database-Benchmark
Workstation-Benchmark
Системное ПО
ОС Microsoft Windows Server 2003 Enterprise Edition, Service Pack 1
Драйвер платформы Intel Chipset Installation Utility 7.0.0.1025
Графический драйвер Default Windows Graphics Driver

Конфигурация для SYSmark2004 SE

Системное аппаратное обеспечение
Процессор Intel Core 2 Extreme X6800 (Conroe 65 нм, 2,93 ГГц, 4 Мбайт кэша L2)
Материнская плата Gigabyte GA-965P-DQ6 2.0, чипсет: Intel 965P, BIOS: F9
Общее аппаратное обеспечение
Память 2x 1024 Мбайт DDR2-1111 (CL 4,0-4-4-12), Corsair CM2X1024-8888C4D XMS6403v1.1
Видеокарта HIS X1900XTX IceQ3, GPU: ATi Radeon X1900 XTX (650 МГц), память: 512 Мбайт GDDR3 (1550 МГц)
Жёсткий диск I 150 Гбайт, 10 000 об/мин, кэш 8 Мбайт, SATA/150, Western Digital WD1500ADFD
Жёсткий диск II 400 Гбайт, 7 200 об/мин, кэш 16 Мбайт, SATA/300, Western Digital WD4000KD
DVD-ROM Gigabyte GO-D1600C (16x)
Программное обеспечение
Драйверы ATi Catalyst Suite 7.1
Драйверы чипсета Intel Software Installation Utility 8.1.1.1010
Драйверы RAID Intel Matrix Storage Manager 6.2.1.1002
DirectX 9.0c (4.09.0000.0904)
ОС Windows XP, Build 2600 SP2
Тесты и настройки
SYSmark Version 2004 Second Edition, Official Run

Что ж, придётся перейти к итогам битвы между текущими 150-Гбайт жёсткими дисками WD Raptor и 400-Гбайт винчестерами WD4000KD в массиве RAID 0. Результат оказался удивительным. Хотя WD Raptor остаётся, без сомнения, самым быстрым настольным жёстким диском Serial ATA, массив RAID 0 выходит на первое место в большинстве тестов, не считая времени доступа и производительности ввода/вывода. Стоимость хранения гигабайта данных на Raptor вызывает наибольшие сомнения, поскольку вы можете купить в три раза более ёмкий жёсткий диск на 7 200 об/мин в два раза дешевле. То есть по цене гигабайта Raptor сегодня проигрывает в шесть раз. Впрочем, если вы беспокоитесь за сохранность данных, то дважды подумайте, прежде чем предпочесть массив RAID 0 на двух дешёвых жёстких дисках на 7 200 об/мин по сравнению с WD Raptor.

В ближайшие месяцы цена на 500-Гбайт жёсткие диски упадёт ниже $100. Но возрастут требования к доступному объёму, чтобы хранить видео высокого разрешения, музыку и фотографии. Наконец, плотность записи на пластины жёстких дисков продолжает увеличиваться, поэтому вскоре появятся более производительные модели на 7 200 об/мин. В перспективе привлекательность Raptor будет падать.

Как нам кажется, Western Digital следует изменить ценовую политику модельного ряда Raptor, поскольку прирост производительности происходит за счёт больших компромиссов по ёмкости жёстких дисков. И, надо сказать, подобные компромиссы не всем покажутся оправданными. Мы хотели бы увидеть появление обновлённого жёсткого диска Raptor на 300 Гбайт, который, возможно, стал бы ещё и гибридным винчестером со встроенной флэш-памятью для Windows Vista.

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

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

Особенности технологии построения магнитных дисков привели к значительному несоответствию между увеличением производительности процессорных модулей и самих магнитных дисков. Если в 1990 г. лучшими среди серийных были 5.25″ диски со средним временем доступа 12мс и временем задержки 5 мс (при оборотах шпинделя около 5 000 об/м 1), то сегодня пальма первенства принадлежит 3.5″ дискам со средним временем доступа 5 мс и временем задержки 1 мс (при оборотах шпинделя 10 000 об/м). Здесь мы видим улучшение технических характеристик на величину около 100%. В тоже время, быстродействие процессоров увеличилось более чем на 2 000%. Во многом это стало возможно благодаря тому, что процессоры имеют прямые преимущества использования VLSI (сверхбольшой интеграции). Ее использование не только дает возможность увеличивать частоту, но и число компонент, которые могут быть интегрированы в чип, что дает возможность внедрять архитектурные преимущества, которые позволяют осуществлять параллельные вычисления.

1 - Усредненные данные.

Сложившуюся ситуацию можно охарактеризовать как кризис ввода-вывода вторичной системы хранения данных.

Увеличиваем быстродействие

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

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

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

Некоторые задачи, наоборот, характерны большим количеством малых запросов. К таким задачам относятся, например, задачи обработки баз данных. Располагая записи базы данных по дискам массива, можно распределить загрузку, независимо позиционируя диски. Такую архитектуру принято называть independent-access array (массив с независимым доступом).

Увеличиваем отказоустойчивость

К сожалению, при увеличении количества дисков в массиве, надежность всего массива уменьшается. При независимых отказах и экспоненциальном законе распределения наработки на отказ, MTTF всего массива (mean time to failure - среднее время безотказной работы) вычисляется по формуле MTTF array = MMTF hdd /N hdd (MMTF hdd - среднее время безотказной работы одного диска; NHDD - количество дисков).

Таким образом, возникает необходимость повышения отказоустойчивости дисковых массивов. Для повышения отказоустойчивости массивов используют избыточное кодирование. Существует два основных типа кодирования, которые применяются в избыточных дисковых массивах - это дублирование и четность.

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

Второй способ реализации избыточных дисковых массивов - использование избыточного кодирования с помощью вычисления четности. Четность вычисляется как операция XOR всех символов в слове данных. Использование четности в избыточных дисковых массивах уменьшает накладные расходы до величины, исчисляемой формулой: НР hdd =1/N hdd (НР hdd - накладные расходы; N hdd - количество дисков в массиве).

История и развитие RAID

Несмотря на то, что системы хранения данных, основанные на магнитных дисках, производятся уже 40 лет, массовое производство отказоустойчивых систем началось совсем недавно. Дисковые массивы с избыточностью данных, которые принято называть RAID (redundant arrays of inexpensive disks - избыточный массив недорогих дисков) были представлены исследователями (Петтерсон, Гибсон и Катц) из Калифорнийского университета в Беркли в 1987 году. Но широкое распространение RAID системы получили только тогда, когда диски, которые подходят для использования в избыточных массивах стали доступны и достаточно производительны. Со времени представления официального доклада о RAID в 1988 году, исследования в сфере избыточных дисковых массивов начали бурно развиваться, в попытке обеспечить широкий спектр решений в сфере компромисса - цена-производительность-надежность.

С аббревиатурой RAID в свое время случился казус. Дело в том, что недорогими дисками во время написания статьи назывались все диски, которые использовались в ПК, в противовес дорогим дискам для мейнфрейм (универсальная ЭВМ). Но для использования в массивах RAID пришлось использовать достаточно дорогостоящую аппаратуру по сравнению с другой комплектовкой ПК, поэтому RAID начали расшифровывать как redundant array of independent disks 2 - избыточный массив независимых дисков.

2 - Определение RAID Advisory Board

RAID 0 был представлен индустрией как определение не отказоустойчивого дискового массива. В Беркли RAID 1 был определен как зеркальный дисковый массив. RAID 2 зарезервирован для массивов, которые применяют код Хемминга. Уровни RAID 3, 4, 5 используют четность для защиты данных от одиночных неисправностей. Именно эти уровни, включительно по 5-й были представлены в Беркли, и эта систематика RAID была принята как стандарт де-факто.

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

На сегодняшний день разработано достаточно большое количество архитектур, которые обеспечивают работоспособность массива при одновременном отказе любых двух дисков без потери данных. Среди всего множества стоит отметить two-dimensional parity (двухпространственная четность) и EVENODD, которые для кодирования используют четность, и RAID 6, в котором используется кодирование Reed-Solomon.

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

Минимальная избыточность в таком массиве достигается при равном количестве столбцов и строчек. И равна: 2 x Square (N Disk) (в «квадрат»).

Если же двухпространственный массив не будет организован в «квадрат», то при реализации вышеуказанной схемы избыточность будет выше.

Архитектура EVENODD имеет похожую на двухпространственную четность схему отказоустойчивости, но другое размещение информационных блоков, которое гарантирует минимальное избыточное использование емкостей. Так же как и в двухпространственной четности каждый блок данных участвует в построении двух независимый кодовых слов, но слова размещены таким образом, что коэффициент избыточности постоянен (в отличие от предыдущей схемы) и равен: 2 x Square (N Disk).

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

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

В 1996 г. Саведж и Вилкс предложили AFRAID - часто избыточный массив независимых дисков (A Frequently Redundant Array of Independent Disks). Эта архитектура в некоторой степени приносит отказоустойчивость в жертву быстродействию. Делая попытку компенсировать проблему малой записи (small-write problem), характерную для массивов RAID 5-го уровня, разрешается оставлять стрипинг без вычисления четности на некоторый период времени. Если диск, предназначенный для записи четности, занят, то ее запись откладывается. Теоретически доказано, что 25% уменьшение отказоустойчивости может увеличить быстродействие на 97%. AFRAID фактически изменяет модель отказов массивов устойчивых к одиночным неисправностям, поскольку кодовое слово, которое не имеет обновленной четности, восприимчиво к отказам дисков.

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

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

Один из вариантов - parity logging (регистрация четности), который предполагает решение проблемы малой записи (small-write problem) и более эффективного использования дисков. Регистрация четности предполагает отложение изменения четности в RAID 5, записывая ее в FIFO log (журнал регистраций типа FIFO), который размещен частично в памяти контроллера и частично на диске. Учитывая то, что доступ к полному треку в среднем в 10 раз более эффективен, чем доступ к сектору, с помощью регистрации четности собираются большие количества данных модифицированной четности, которые потом все вместе записываются на диск, предназначенный для хранения четности по всему треку.

Архитектура floating data and parity (плавающие данные и четность), которая разрешает перераспределить физическое размещение дисковых блоков. Свободные сектора размещаются на каждом цилиндре для уменьшения rotational latency (задержки вращения), данные и четность размещаются на этих свободных местах. Для того, чтобы обеспечить работоспособность при исчезновении питания, карту четности и данных нужно сохранять в энергонезависимой памяти. Если потерять карту размещения все данные в массиве будут потеряны.

Virtual stripping - представляет собой архитектуру floating data and parity с использованием writeback cache. Естественно реализуя положительные стороны обеих.

Кроме того, существуют и другие способы повышения быстродействия, например распределение RAID операций. В свое время фирма Seagate встроила поддержку RAID операций в свои диски с интерфейсом Fibre Chanel и SCSI. Что дало возможность уменьшить трафик между центральным контроллером и дисками в массиве для систем RAID 5. Это было кардинальным новшеством в сфере реализаций RAID, но технология не получила путевки в жизнь, так как некоторые особенности Fibre Chanel и SCSI стандартов ослабляют модель отказов для дисковых массивов.

Для того же RAID 5 была представлена архитектура TickerTAIP. Выглядит она следующим образом - центральный механизм управления originator node (узел-инициатор) получает запросы пользователя, выбирает алгоритм обработки и затем передает работу с диском и четность worker node (рабочий узел). Каждый рабочий узел обрабатывает некоторое подмножество дисков в массиве. Как и в модели фирмы Seagate, рабочие узлы передают данные между собой без участия узла-инициатора. В случае отказа рабочего узла, диски, которые он обслуживал, становятся недоступными. Но если кодовое слово построено так, что каждый его символ обрабатывается отдельным рабочим узлом, то схема отказоустойчивости повторяет RAID 5. Для предупреждения отказов узла-инициатора он дублируется, таким образом, мы получаем архитектуру, устойчивую к отказам любого ее узла. При всех своих положительных чертах эта архитектура страдает от проблемы «ошибки записи» («;write hole»). Что подразумевает возникновение ошибки при одновременном изменении кодового слова несколькими пользователями и отказа узла.

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

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

Архитектура основных уровней RAID

Теперь давайте рассмотрим архитектуру основных уровней (basic levels) RAID более детально. Перед рассмотрением примем некоторые допущения. Для демонстрации принципов построения RAID систем рассмотрим набор из N дисков (для упрощения N будем считать четным числом), каждый из которых состоит из M блоков.

Данные будем обозначать - D m,n , где m - число блоков данных, n - число подблоков, на которые разбивается блок данных D.

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

RAID 0. Дисковый массив без отказоустойчивости (Striped Disk Array without Fault Tolerance)

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

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

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

Недостатки :

  • не отказоустойчивое решение;
  • отказ одного диска влечет за собой потерю всех данных массива.

RAID 1. Дисковый массив с дублированием или зеркалка (mirroring)

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

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

  • простота реализации;
  • простота восстановления массива в случае отказа (копирование);
  • достаточно высокое быстродействие для приложений с большой интенсивностью запросов.

Недостатки :

  • высокая стоимость на единицу объема - 100% избыточность;
  • невысокая скорость передачи данных.

RAID 2. Отказоустойчивый дисковый массив с использованием кода Хемминга (Hamming Code ECC).

Избыточное кодирование, которое используется в RAID 2, носит название кода Хемминга. Код Хемминга позволяет исправлять одиночные и обнаруживать двойные неисправности. Сегодня активно используется в технологии кодирования данных в оперативной памяти типа ECC. И кодировании данных на магнитных дисках.

В данном случае показан пример с фиксированным количеством дисков в связи с громоздкостью описания (слово данных состоит из 4 бит, соответственно ECC код из 3-х).

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

  • быстрая коррекция ошибок («на лету»);
  • очень высокая скорость передачи данных больших объемов;
  • при увеличении количества дисков, накладные расходы уменьшаются;
  • достаточно простая реализация.

Недостатки :

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

RAID 3. Отказоустойчивый массив с параллельной передачей данных и четностью (Parallel Transfer Disks with Parity)

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

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

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

Недостатки :

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

RAID 4. Отказоустойчивый массив независимых дисков с разделяемым диском четности (Independent Data disks with shared Parity disk)

Данные разбиваются на блочном уровне. Каждый блок данных записывается на отдельный диск и может быть прочитан отдельно. Четность для группы блоков генерируется при записи и проверяется при чтении. RAID уровня 4 повышает производительность передачи небольших объемов данных за счет параллелизма, давая возможность выполнять более одного обращения по вводу/выводу одновременно. Главное отличие между RAID 3 и 4 состоит в том, что в последнем, расслоение данных выполняется на уровне секторов, а не на уровне битов или байтов.

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

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

Недостатки :

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

RAID 5. Отказоустойчивый массив независимых дисков с распределенной четностью (Independent Data disks with distributed parity blocks)

Этот уровень похож на RAID 4, но в отличие от предыдущего четность распределяется циклически по всем дискам массива. Это изменение позволяет увеличить производительность записи небольших объемов данных в многозадачных системах. Если операции записи спланировать должным образом, то, возможно, параллельно обрабатывать до N/2 блоков, где N - число дисков в группе.

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

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

Недостатки :

  • скорость чтения данных ниже, чем в RAID 4;
  • низкая скорость чтения/записи данных малого объема при единичных запросах;
  • достаточно сложная реализация;
  • сложное восстановление данных.

RAID 6. Отказоустойчивый массив независимых дисков с двумя независимыми распределенными схемами четности (Independent Data disks with two independent distributed parity schemes)

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

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

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

Недостатки :

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

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

RAID 10. Отказоустойчивый массив с дублированием и параллельной обработкой

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

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

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

Недостатки :

  • очень высокая стоимость;
  • ограниченное масштабирование.

RAID 30. Отказоустойчивый массив с параллельной передачей данных и повышенной производительностью.

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

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

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

Недостатки :

  • высокая стоимость;
  • ограниченное масштабирование.

RAID 50. Отказоустойчивый массив с распределенной четностью и повышенной производительностью

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

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

  • высокая отказоустойчивость;
  • высокая скорость передачи данных;
  • высокая скорость обработки запросов.

Недостатки :

  • высокая стоимость;
  • ограниченное масштабирование.

RAID 7. Отказоустойчивый массив, оптимизированный для повышения производительности. (Optimized Asynchrony for High I/O Rates as well as High Data Transfer Rates). RAID 7® является зарегистрированной торговой маркой Storage Computer Corporation (SCC)

Для понимания архитектуры RAID 7 рассмотрим ее особенности:

  1. Все запросы на передачу данных обрабатываются асинхронно и независимо.
  2. Все операции чтения/записи кэшируются через высокоскоростную шину x-bus.
  3. Диск четности может быть размещен на любом канале.
  4. В микропроцессоре контроллера массива используется операционная система реального времени ориентированная на обработку процессов.
  5. Система имеет хорошую масштабируемость: до 12 host-интерфейсов и до 48 дисков.
  6. Операционная система контролирует коммуникационные каналы.
  7. Используются стандартные SCSI диски, шины, материнские платы и модули памяти.
  8. Используется высокоскоростная шина X-bus для работы с внутренней кеш памятью.
  9. Процедура генерации четности интегрирована в кеш.
  10. Диски, присоединенные к системе, могут быть задекларированы как отдельно стоящие.
  11. Для управления и мониторинга системы можно использовать SNMP агент.

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

  • высокая скорость передачи данных и высокая скорость обработки запросов (1.5 - 6 раз выше других стандартных уровней RAID);
  • высокая масштабируемость хост интерфейсов;
  • скорость записи данных увеличивается с увеличением количества дисков в массиве;
  • для вычисления четности нет необходимости в дополнительной передаче данных.

Недостатки :

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

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

RAID Минимум
дисков
Потребность
в дисках
Отказо-
устойчивость
Скорость
передачи данных
Интенсивность
обработки
запросов
Практическое
использование
0 2 N очень высокая
до N х 1 диск
Графика, видео
1 2 2N * R > 1 диск
W = 1 диск
до 2 х 1 диск
W = 1 диск
малые файл-серверы
2 7 2N ~ RAID 3 Низкая мейнфреймы
3 3 N+1 Низкая Графика, видео
4 3 N+1 R W R = RAID 0
W
файл-серверы
5 3 N+1 R W R = RAID 0
W
серверы баз данных
6 4 N+2 самая высокая низкая R > 1 диск
W
используется крайне редко
7 12 N+1 самая высокая самая высокая разные типы приложений

Уточнения :

  • * - рассматривается обычно используемый вариант;
  • k - количество подсегментов;
  • R - чтение;
  • W - запись.

Некоторые аспекты реализации RAID систем

Рассмотрим три основных варианта реализации RAID систем:

  • программная (software-based);
  • аппаратная - шинно-ориентированная (bus-based);
  • аппаратная - автономная подсистема (subsystem-based).

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

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

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

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

Шинно-ориентированные реализации представляют собой RAID контроллеры, которые используют скоростную шину компьютера, в который они устанавливаются (в последнее время обычно используется шина PCI). В свою очередь шинно-ориентированные реализации можно разделить на низкоуровневые и высокоуровневые. Первые обычно не имеют SCSI чипов и используют так называемый RAID порт на материнской плате со встроенным SCSI контроллером. При этом функции обработки кода RAID и операций ввода/вывода распределяются между процессором на RAID контроллере и чипами SCSI на материнской плате. Таким образом, центральный процессор освобождается от обработки дополнительного кода и уменьшается шинный трафик по сравнению с программным вариантом. Стоимость таких плат обычно небольшая, особенно если они ориентированы на системы RAID - 0 или 1 (есть также реализации RAID 3, 5, 10, 30, 50, но они дороже), благодаря чему они понемногу вытесняют программные реализации с рынка серверов начального уровня. Высокоуровневые контроллеры с шинной реализацией имеют несколько другую структуру, чем их младшие братья. Они берут на себя все функции, связанные с вводом/выводом и исполнением RAID кода. Кроме того, они не так зависимы от реализации материнской платы и, как правило, имеют больше возможностей (например, возможность подключения модуля для хранения информации в кеш в случае отказа материнской платы или исчезновения питания). Такие контроллеры обычно стоят дороже низкоуровневых и используются в серверах среднего и высокого уровня. Они, как правило, реализуют RAID уровней 0,1, 3, 5, 10, 30, 50. Учитывая то, что шинно-ориентированные реализации подключаются прямо к внутренней PCI шине компьютера, они являются наиболее производительными среди рассматриваемых систем (при организации одно-хостовых систем). Максимальное быстродействие таких систем может достигать 132 Мбайт/с (32bit PCI) или же 264 Мбайт/с (64bit PCI) при частоте шины 33MHz.

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

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

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

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

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

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

Если Вы хотите увеличить быстродействие своей операционной системы в два раза, то наша статья для Вас!

Каким бы мощным не был Ваш компьютер, у него до сих пор остаётся одно слабое звено, это жёсткий диск, единственное устройство в системном блоке имеющее внутри механику. Вся мощь вашего процессора и 16 ГБ оперативной памяти будут сведены на нет устаревшим принципом работы обычного HDD. Не зря компьютер сравнивают с бутылкой, а жёсткий диск с её горлышком. Сколько бы воды в бутылке не было, выливаться она будет через узкое горлышко.

Известно два способа ускорить работу компьютера, первый, это купить дорогой твердотельный накопитель SSD, а второй, по максимуму использовать возможности вашей материнской платы, а именно, настроить RAID 0 массив из двух жёстких дисков. Кстати, а кто нам мешает создать RAID 0 массив из двух SSD!

Как настроить RAID 0 массив и установить на него Windows 10. Или как увеличить быстродействие дисковой системы в два раза

Как вы догадались, сегодняшняя статья о создании и настройке дискового массива RAID 0 состоящего из двух жёстких дисков. Задумал я её несколько лет назад и специально приобрёл два новых винчестера SATA III (6 Гбит/с) по 250 ГБ, но в силу сложности данной темы для начинающих пользователей пришлось её тогда отложить. Сегодня же, когда возможности современных материнских плат подошли к такому уровню функциональности, что RAID 0 массив может создать даже начинающий, я с большим удовольствием возвращаюсь к этой теме.

Примечание : Для создания RAID 0 массива можно взять диски любого объёма, например по 1 ТБ. В статье, для простого примера, взяты два диска по 250 ГБ, так как свободных дисков другого объёма не оказалось под руками.

Всем компьютерным энтузиастам важно знать, что RAID 0 («striping» или «страйпинг»), это – дисковый массив из двух или более жёстких дисков с отсутствием избыточности. Перевести данную фразу на обычный русский можно так: при установке в системный блок двух или более жёстких дисков (желательно одного объёма и одного производителя) и объединении их в дисковый массив RAID 0, информация на эти диски записывается/читается одновременно, что в два раза увеличивает производительность дисковых операций. Единственное условие - ваша материнская плата должна поддерживать технологию RAID 0 (в наше время практически все материнки поддерживают создание рейд-массивов).

Внимательный читатель может спросить: «А что такое отсутствие избыточности?»

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

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

Друзья, но согласитесь, что жёсткие диски ломаются не каждый день, а во вторых, с двумя HDD, объединёнными в RAID 0 массив, можно работать как с простым жёстким диском, то есть, если вы периодически будете делать операционной системы, то вы застрахуете себя от возможных проблем на 100%.

Итак, перед созданием RAID 0 массива предлагаю установить один из двух наших новых жёстких дисков SATA III (6 Гбит/с) в системный блок и проверить его на скорость чтения записи утилитами CrystalDiskMark и ATTO Disk Benchmark. Уже после создания RAID 0 массива и установки на него Windows 10 мы ещё раз проверим скорость чтения записи этими же утилитами и посмотрим, на самом ли деле данная технология увеличит быстродействие нашей операционной системы.

Для проведения эксперимента возьмём далеко не новую материнскую плату ASUS P8Z77-V PRO построенную на чипсете Intel Z77 Express. Преимущества материнских плат построенных на чипсетах Intel Z77, Z87 и более новых H87, B87 заключаются в продвинутой технологии Intel Rapid Storage Technology (RST), которая специально разработана для RAID 0-массивов даже из SSD.

Забегая вперёд скажу, результаты теста вполне обычные для обычного HDD самого современного интерфейса SATA III .

CrystalDiskMark

Является старейшей программой для тестирования производительности жёстких дисков, скачать можете на моём облачном хранилище, ссылка https://cloud.mail.ru/public/6kHF/edWWJwfxa

Программа производит тест случайного и последовательного чтения/записи на винчестер блоками по 512 и 4 кб.

Выбираем нужный накопитель, к примеру наш с Вами HDD под буквой C: и жмём All.

Итоговый результат. Максимальная скорость записи информации на жёсткий диск достигала 104 Мб/с, скорость чтения - 125 Мб/сек.

ATTO Disk Benchmark

Итоговый результат. Максимальная скорость записи информации на жёсткий диск достигала 119 Мб/с, скорость чтения - 121 Мб/сек.

Ну а теперь настраиваем наш RAID 0 массив в БИОС и устанавливаем на него операционную систему Windows 10.

Настройка RAID 0 массива

Подсоединяем к нашей материнской плате два одинаковых в объёме (250 ГБ) жёстких диска SATA III : WDC WD2500AAKX-00ERMA0 и WDC WD2500AAKX-001CA0.

На нашей материнке есть 4 порта SATA III (6 Гбит/с), использовать будем №5 и №6


Включаем компьютер и входим в БИОС с помощью нажатия клавиши DEL при загрузке.

Идём на вкладку Advanced, опция SATA Configuration.

Опцию SATA Mode Selection выставляем в положение RAID

Для сохранения изменений жмём F10 и выбираем Yes. Происходит перезагрузка.

Если вы подключили в БИОС технологию RAID, то при следующей загрузке на экране монитора появится предложение нажать клавиатурное сочетание (CTRL-I ), для входа в панель управления конфигурации RAID.

Ещё в данном окне отображены подключенные к портам 4 и 5 наши жёсткие диски WDC, пока находящихся не в RAID-массиве (Non-RAID Disk). Жмём CTRL-I и входим в панель настроек.


В начальном окне панели нам нужна первая вкладкаCreate a RAID Volume (Создать том RAID), чтобы войти в неё жмём Enter.

Здесь производим основные настройки нашего будущего RAID 0 массива.

Name : (Имя RAID-массива).

Нажмите на клавишу "пробел" и введите имя.

Пусть будет "RAID 0 new" и жмём Enter. Передвигаемся ниже с помощью клавиши Tab.

RAID Level : (Уровень RAID).

Мы создаём RAID 0 (stripe) - дисковый массив из двух жёстких дисков с отсутствием избыточности. Выберите этот уровень стрелками на клавиатуре и нажмите Enter.

Опускаемся ниже с помощью клавиши Tab.

Stripe Size :

Оставляем как есть.

Capacity : (объём)

Выставляется автоматически. Объём двух наших винчестеров 500 ГБ, так как мы используем уровень RAID 0 (stripe) и два наших жёстких диска работают как один. Ж мём Enter.

Больше ничего не меняем и передвигаемся к последнему пункту Create Volume и жмём Enter.

Появляется предупреждение:

WARNING: ALL DATA ON SELECTED DISKS WILL BE LOST.

Are you sure you want to create this volume? (Y/N):

ВНИМАНИЕ: ВСЕ ДАННЫЕ на выбранных дисках будут потеряны.

Вы уверены, что хотите создать этот объем? (Y / N):

Жмём Y (Да) на клавиатуре.

RAID 0 массив создан и уже функционирует, находится со статусом Normal (нормальный). Для выхода из панели настроек жмём на клавиатуре клавишу Esc.

Are you sure you want to exit (Вы уверены что хотите выйти? Нажимаем Y (Да). Происходит перезагрузка.

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

Установка Windows 10 на RAID 0 массив

Подсоединяем к нашему системному блоку , перезагружаем компьютер, входим в БИОС и меняем приоритет загрузки на флешку. А можно просто войти в меню загрузки компьютера и выбрать загрузку с установочной флешки Windows 10 (в нашем случае Kingston). В меню загрузки можно увидить созданный нами RAID 0 массив с названием "RAID 0 new".

Статьи по теме: