Что такое RAID - массив. Варианты RAID-массивов. H Производительность RAID массивов в черновиках Из песочницы Рейд 0 из 2 дисков

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

Калифорнийский университет в Беркли представилследующие уровни спецификации 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 00


RAID 00 встречается весьма редко, я с ним познакомился на контроллерах LSI. Группа дисков RAID 00 - это составная группа дисков, которая создает чередующийся набор из серии
дисковых массивов RAID 0. RAID 00 не обеспечивает избыточности данных , но наряду с RAID 0, предлагает лучшую производительность любого уровня RAID. RAID 00 разбивает данные на меньшие сегменты, а затем чередует сегменты данных на каждом диске в сторадж группе. Размер каждого сегмента данных определяется размером полосы. RAID 00 предлагает высокая пропускная способность. Уровень RAID 00 не является отказоустойчивым. Если диск в группе дисков RAID 0 выходит из строя, весь
виртуальный диск (все диски, связанные с виртуальным диском) выйдет из строя. Разбивая большой файл на более мелкие сегменты, контроллер RAID может использовать оба SAS
контроллера для чтения или записи файла быстрее. RAID 00 не предполагает четности расчеты усложняют операции записи. Это делает RAID 00 идеальным для
приложения, которые требуют высокой пропускной способности, но не требуют отказоустойчивости. Может состоять от 2 до 256 дисков.

Что быстрее RAID 0 или RAID 00?


Я провел свое тестирование описанное в статье про оптимизацию скорости твердотельных дисков на LSI контроллерах и получил вот такие вот цифры на массивах из 6-ти SSD

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

Восстановление данных

Каждый диск с массива RAID 1 может быть поврежден без потери данных. Однако, минус системы в том, что поврежденные диски незаменяемы, и в случае возникновения ошибки в работе системы, пользователь будет вынужден использовать оставшиеся ресурсы системы. Некоторые системы RAID 10 имеют так называемый специальный диск "hot spare", который автоматически заменяет вышедший из строя диск в массиве.

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

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

RAID 10 дает возможность объединить лишь четное количество дисков.

  • Минимальное количество дисков - 4,
  • Максимальное количество дисков - 16.

В чем разница между RAIN 1+0 и RAID 0+1?

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

Некоторые производители используют RAID 1+0, сменив им RAID 0+1, поскольку он обеспечивает более корректную и безопасную работу системы.

Теоретически, RAID 0+1 и RAID 1+0 имеют равную устойчивость к ошибкам и сбоям. Большинство контроллеров не имеют таких внушительных показателей надежности.

Достоинства системы

"Зеркало" RAID 1 обеспечивает системе надежность, массив RAID 0 увеличивает производительность.

Недостатки системы

Минусы у уровня RAID 10 такие же, как и у уровня RAID 0. Пользователю рекомендуется включать в массив диски горячего резерва из расчета 1 резервный на 5 рабочих.

Пример работы RAID 1+0:

  • Диски 1+2 = RAID 1 (Зеркальный сэт A)

  • Диски 3+4 = RAID 1 (Зеркальный сэт B)
  • 
Диски 5+6 = RAID 1 (Зеркальный сэт C)

  • Диски 7+8 = RAID 1 (Зеркальный сэт D)

  • Диски 9+10 = RAID 1 (Зеркальный сэт E)

  • Диски 11+12 = RAID 1 (Зеркальный сэт F)
  • 
Диски 13+14 = RAID 1 (Зеркальный сэт G)

  • Диски 15+16 = RAID 1 (Зеркальный сэт H)

  • Диски 17+18 = RAID 1 (Зеркальный сэт I)
  • 
Диски 19+20 = RAID 1 (Зеркальный сэт J)

В данном случае, мы сможем внедрить полосу RAID 0 поперек всех сэтов: с A по J. Предположим, если в 5 диске обнаружена ошибка, единственным зеркальным сэтом будет являться сэт C. Он также имеет диск 6 в связке, но этот диск не прекратит свое функционирование и будет работать дальше.

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

RAID-калькулятор



Реализация дисковых подсистем может быть довольно разнообразная: могут использоваться локальные диски, подключенные к встроенному контроллеру, или использоваться внешний контроллер, а также могут использоваться системы SAN (СХД, Storage). Но во всех способах реализации диски объединяются в логические пулы, которые называются RAID-массивами. Такое объединение решает в основном вопрос сохранности данных, т.е. в случае выхода из строя одного из дисков логического массива – он продолжает работать без остановки сервиса, а главное без потери данных. А также объединение дисков в пул может решать вопрос производительности пула, например, RAID 0 значительно увеличивает скорость чтения, но при этом увеличивает вероятность выхода из строя массива.

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

IOPS

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

Поэтому рассчитывая количество дисков и тип RAID-массива, важно обращать внимание на нагрузку по IOPS. Важно заметить, что считается общее количество IOPS, которые потом нужно разделить на операции чтения и операции записи, так, например, на СУБД серверах разделение будет 80% на запись и 20% на чтение, а на файловых серверах наоборот 70% чтения и 30% записи, но все зависит от сервиса, который будет размещаться. Также стоит заметить, что значение IOPS для каждого диска, приведенные ниже в Таблице 1, приблизительные, поскольку разные операции дают разную нагрузку, например, последовательная запись блоками данных по 4к даст значительно больший показатель IOPS, чем случайное чтение блоками по 128К. Кроме того, производительность дисковой подсистемы измеряется не только количеством IOPS, но и очередью диска, откликом и другими счетчиками, о которых мы расскажем чуть ниже.

Диск Количество IOPS
SATA 7200 100
SAS 10000 140
SAS 15000 210
SSD 8600

Таблица 1. Примерное значение IOPS в разрезе дисков

Также в расчете IOPS для RAID-массивов использовались пенальти для каждого типа массива. Например, в RAID 1 для записи данных происходит две операции на один диск и на второй диск, поэтому такой массив имеет пенальти 2. В RAID 5 для записи данных происходит 4 операции: чтение данных, чтение четности RAID, запись данных, запись четности, поэтому пенальти составляет 4. Для массивов 50, 60, 61 рассчитывался кумулятивный эффект для составляющих RAID массивов. Значение пенальти Raid приведены в Таблице 2.

Виды RAID-массивов

Существует несколько распространенных разновидностей RAID Массивов (см. Таблицу 2).

Диаграмма
(кликабельно)
Кол-во дисков Кол-во вышедших из строя дисков Скорость записи Скорость чтения Описание RAID пенальти
от 2 Нет Информация разбивается на блоки данных фиксированной длины и записывается на оба/несколько дисков поочередно. 1
от 2 1 Не меняется по сравнению с использованием одного диска. Данные пишутся и на один диск, и на второй (зеркалируются). 2

от 3 1 Блоки данных и контрольные суммы циклически записываются на все диски массива. 4

от 4 2 Блоки данных и контрольные суммы циклически записываются на все диски массива, но контрольных суммы две. 6

от 4 от 1 до N/2 дисков в пределах разных зеркал. Зеркалированный массив, данные в котором записываются последовательно на несколько дисков, как в RAID 0. Эта архитектура представляет собой массив типа RAID 0, сегментами которого вместо отдельных дисков являются массивы RAID 1. 2

от 6 от 1 до 2 дисков, если выйдет одинаковое количество дисков в разных страйпах. Массив, данные в котором записываются последовательно на несколько дисков, как в RAID 0. Однако сегментами его вместо отдельных дисков являются массивы RAID 5. 4

Таблица 2. Наиболее распространенные типы RAID-массивов

RAID 60 и 61 являются комбинированием RAID-массивов 0 и 1 соответственно, сегментами которого вместо отдельных дисков являются массивы RAID 6. Такие массивы наследуют все преимущества и недостатки составляющих их RAID-массивов. На практике наиболее распространенными RAID-массивами являются RAID 1, RAID 5 и RAID 10.

Показатели производительности дисковой подсистемы

Проверка производительности дисковой подсистемы должна проводиться на основе следующих показателей:

% Активности диска

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

% Бездействия диска

Показывает время простоя диска, т.е. время, в течении которого диск оставался в состоянии покоя, не обрабатывая операции чтения \записи. В отличии от предыдущего показателя лежит строго в диапазоне от 100% (полный покой) до 0% (полная загрузка).

Обращений к диску

Этот показатель как раз и показывает количество IOPS. Предельные значения как раз и указаны в расчетах. Показатель можно детализировать на обращения к диску при записи и при чтении.

Среднее время обращения к диску

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

Средняя длина очереди диска

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

Текущая длина очереди диска

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

Скорость обмена с диском

Значение, которое показывает среднее количество байт на чтение/запись, отправленных на диск за одну секунду.

Средний размер одного обмена с диском

Количество байт, передаваемое за одну IOPS. Определяется как среднеарифметическое за период времени.

Расщеплений ввода/вывода на диск

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



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

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

  • RAID 1 для формирования дисковой подсистемы для ОС.
  • RAID 10 для хранения 1С баз и данных, требования к скорости записи у которых высокие.
  • RAID 5 для хранения файловых данных.

Системная интеграция. Консалтинг

При создании файлового сервера или производительной рабочей станции часто приходится сталкиваться с проблемой выбора конфигурации дисковой подсистемы. Современные материнские платы, даже бюджетного уровня, предлагают возможность создания 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 на динамический том возможна только тогда, когда этот том был преобразован из базового загрузочного или системного тома. Подробнее о динамических томах можно прочитать .