Raid 0 из одного диска. Бюджетный RAID. Тестируем производительность. Архитектура основных уровней RAID

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

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

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

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

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

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

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

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

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

RAID массив (Redundant Array of Independent Disks) – подключение нескольких устройств, для повышения производительности и\или надежности хранения данных, в переводе - избыточный массив независимых дисков.

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

Но вот простые жесткие диски (HDD) особо не продвинулись за последние 10 лет. Как была стандартной скорость 7200 об/мин, так она и осталась (не беря в расчет серверные HDD c оборотами 10.000 и более). На ноутбуках все еще встречаются медленные 5400 об/мин. Для большинства пользователей, чтобы повысить производительность своего компьютера будет удобнее купить SDD, но цена за 1 гигабайт такого носителя значительно больше, чем у простого HDD. «Как повысить производительность накопителей без сильной потери денег и объема? Как сохранить свои данные или повысить безопасность сохранности Ваших данных?» На эти вопросы есть ответ – RAID массив.

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

На данный момент существуют следующие типы RAID массивов:

RAID 0 или «Чередование» – массив из двух или более дисков для повышения общей производительности. Объем рейда будет общий (HDD 1 + HDD 2 = Общий объем), скорость считывания\записи будет выше (за счет разбиения записи на 2 устройства), но страдает надежность сохранности информации. Если одно из устройств выйдет из строя, то вся информация массива будет потеряна.

RAID 1 или «Зеркало» –несколько дисков копирующих друг друга для повышения надежности. Скорость записи остаётся на прежнем уровне, скорость считывания увеличивается, многократно повышается надежность (даже если одно устройство выйдет из строя, второе будет работать), но стоимость 1 Гигабайта информации увеличивается в 2 раза (если делать массив из двух hdd).

RAID 2 – массив, построенный на работе дисков для хранения информации и дисков коррекции ошибок. Расчет количества HDD для хранения информации выполняется по формуле «2^n-n-1», где n - количество HDD коррекции. Данный тип используется при большом количестве HDD, минимальное приемлемое число – 7, где 4 для хранения информации, а 3 для хранения ошибок. Плюсом этого вида будет повышенная производительность, по сравнению с одним диском.

RAID 3 – состоит из «n-1» дисков, где n – диск хранения блоков четности, остальные устройства для хранения информации. Информацию делится на куски меньше объема сектора (разбиваются на байты), хорошо подходит для работы с большими файлами, скорость чтения файлов малого объема очень мала. Характерен высокой производительностью, но малой надежностью и узкой специализацией.

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

RAID 5 и 6 – вместо отдельного диска для корреляции ошибок, как в прошлых вариантах, используются блоки, равномерно распределённые по всем устройствам. В этом случае повышается скорость чтения\записи информации за счет распараллеливания записи. Минусом данного типа является долговременное восстановление информации в случае выхода из строя одного из дисков. Во время восстановления идёт очень высокая нагрузка на другие устройства, что понижает надежность и повышает выход другого устройства из строя и потерю всех данных массива. Тип 6 повышает общую надежность, но понижает производительность.

Комбинированные виды RAID массивов:

RAID 01 (0+1) – Два Рейд 0 объединяются в Рейд 1.

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

Также можно создать массив из SSD накопителей . Согласно тестированию 3DNews, такое комбинирование не даёт существенного прироста. Лучше приобрести накопитель с более производительным интерфейсом PCI или eSATA

Рейд массив: как создать

Создается путем подключения через специальный RAID контроллер. На данный момент есть 3 вида контроллеров:

  1. Программный – программными средствами эмулируется массив, все вычисления производятся за счет ЦП.
  2. Интегрированный – в основном распространено на материнских платах (не серверного сегмента). Небольшой чип на мат. плате, отвечающий за эмуляцию массива, вычисления производятся через ЦП.
  3. Аппаратный – плата расширения (для стационарных компьютеров), обычно с PCI интерфейсом, обладает собственной памятью и вычислительным процессором.

RAID массив hdd: Как сделать из 2 дисков через IRST


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

Некоторые варианты восстановления данных:

  1. В случае сбоя Рейд 0 или 5 может помочь утилита RAID Reconstructor , которая соберет доступную информацию накопителей и перезапишет на другое устройство или носитель в виде образа прошлого массива. Данный вариант поможет, если диски исправны и ошибка программная.
  2. Для Linux систем используется mdadm восстановление (утилита для управления программными Рейд-массивами).
  3. Аппаратное восстановление должно выполняться через специализированные сервисы, потому что без знания методики работы контроллера можно потерять все данные и вернуть их будет очень сложно или вообще невозможно.

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

Отличного Вам дня!

Сравниваем производительность решений одного ценового уровня

Любопытный факт: так называемый Experience Index в Windows 7, оценивающий производительность основных подсистем ПК, для типичного твердотельного диска (SSD), причем далеко не самого медленного (в районе 200 МБ/с на чтение и запись, случайный доступ - 0,1 мс), показывает значение 7,0, в то время как индексы всех остальных подсистем (процессор, память, графика, игровая графика) в тех же десктопных системах на базе старших ЦП (со средним по нынешним временам объемом памяти DDR3-1333 в 4 ГБ и средней же игровой видеокартой вроде AMD Radeon HD 5770) оцениваются значениями заметно выше 7,0 (а именно - 7,4-7,8; у данного критерия Windows 7 шкала логарифмическая, так что разница в десятые доли выливается в десятки процентов абсолютных значений). То есть быстрый «бытовой» SSD на шине SATA, по мнению Windows 7, является самым узким местом даже в не самых топовых по нынешним временам настольных ПК. Какова же должна быть (запредельная?) производительность системного диска, чтобы «великая и могучая» «Семерка» посчитала ее достойной остальных компонентов подобного ПК?.. :)

Вопрос этот, видимо, риторический, поскольку на «икспириенс-индекс» Windows 7 нынче мало кто ориентируется при подборе конфигурации своего десктопа. И SSD уже прочно укоренились в умах юзеров в качестве безальтернативного варианта, если от дисковой подсистемы хочется выжать максимум и получить комфортную, «без тормозов» работу. Но так ли это на самом деле? Одинока ли Windows 7 в своих оценках реальной полезности SSD? И есть ли альтернатива SSD в мощных десктопах? Особенно если не очень хочется увидеть безысходную пустоту в своем кошельке… Мы рискнем предложить один из возможных вариантов замены.

Каковы главные недостатки современных SSD? Если не принимать во внимание «долгоиграющие» споры по поводу их надежности, долговечности и деградации со временем, то таких недостатков, по большому счету, два: маленькая емкость и немаленькая цена. Действительно, средненький MLC SSD на 128 ГБ нынче стоит в районе 8000 руб. (цена на момент написания статьи; разумеется, она сильно зависит от модели, но порядок цен пока что таков). Это, конечно, не 600 рублей за 1 ГБ, как для памяти DDR3, а на порядок меньше, но все же далеко не так мало, как для традиционных магнитных винчестеров. Действительно, весьма производительный «семитысячник» на 1000 ГБ с максимальной скоростью чтения/записи около 150 МБ/с (что, кстати, не намного меньше, чем у SSD за 8 тыс. руб.!) нынче можно купить менее чем за 2000 руб. (например, Hitachi 7K1000.C или что-то корейское). Удельная стоимость гигабайта пространства в этом случае составит всего 2 (два) рубля! Вы чувствуете разницу с SSD с его 60 рублями за гигабайт? ;) Да и так ли уж велика «пропасть» между ними в типичных десктопных приложениях с большим количеством последовательных обращений? Например, при работе с видео, аудио, графикой и пр. Ведь типичная скорость последовательного чтения у MLC SSD (160-240 МБ/с) не намного превышает таковую на первых 120 гигабайтах пространства у того же «терабайтника-семитысячника» (150 МБ/с). А по скорости последовательной записи у них вообще примерный паритет (те же 150 МБ/с против 70-190 у SSD). Да, по времени случайного доступа они совершенно несопоставимы, но ведь и мы не сервер себе собираем на рабочий стол.

Более того, для десктопа те же 128 ГБ по нынешним временам - объем крайне несерьезный (в 80 ГБ - вообще смешной). Едва вместит один-два системных раздела с ОС и основными приложениями. А где хранить многочисленные мультимедийные файлы? Куда ставить игрушки, каждая из которых теперь потянет на 5-20 ГБ в распакованном виде? Короче, без нормального емкого «винта» все равно никуда. Вопрос только в том, будет он системным или добавочным в компьютере.

А что если подойти с другой стороны? Коль уж без НЖМД (вспоминаем старую добрую аббревиатуру - накопители на жестких магнитных дисках, или просто «винчестеры») с ПК никуда, то не объединить ли их в RAID-массив? Тем более что простенький RAID-контроллер многим из нас достался, по сути, «бесплатно» - в южном мосте материнских плат на чипсетах AMD, Intel или Nvidia. Например, те же 8000 рублей можно потратить не на SSD, а на 4 «терабайтника». Объединим их в массив(ы) - тогда и докупать емкий НЖМД для хранения данных не придется, то есть даже сэкономим. Или как второй вариант - вместе покупки одного SSD и одного диска на 2-3 ТБ можно приобрести 4 диска по 1,5-2 ТБ…

Более того, скажем, RAID 0 из четырех дисков будет иметь не только учетверенную емкость, но и в 4 раза более высокую линейную скорость чтения-записи. А это уже 400-600 МБ/с, что единичному SSD той же цены даже не снилось! Таким образом, подобный массив будет работать гораздо быстрее SSD, по крайней мере, с потоковыми данными (чтение/запись/редактирование видео, копирование крупных файлов и мн. др.). Не исключено, что и в других типичных задачах персонального компьютера такой массив поведет себя отнюдь не хуже SSD - ведь процент последовательных операций в таких задачах весьма высок, да и случайные обращения, как правило, производятся на достаточно компактном участке такого емкого накопителя (файл подкачки, временный файл фоторедактора и пр.), то есть перемещение головок внутри этого участка будет происходить гораздо быстрее, чем в среднем по диску - за время в пару-тройку миллисекунд), что, безусловно, положительно скажется на его производительности. Если же многодисковый RAID-массив еще и кешируется в ОС, то от него можно ожидать внушительной скорости и на операциях с мелкими блоками данных.

Чтобы проверить наши предположения, мы протестировали четырехдисковые массивы RAID 0 и RAID 5 из терабайтных дисков Hitachi Deskstar E7K1000 со скоростью вращения 7200 об/мин и буфером 32 МБ. Да, они несколько медленнее по скорости пластин, чем более новые и продающиеся нынче по 1800-1900 руб./шт. накопители Hitachi 7K1000.C той же емкости. Однако их микропрограмма лучше оптимизирована для работы дисков в массивах, поэтому, несколько недобрав заветные 600 МБ/с по максимальной скорости чтения 4-дискового RAID 0, мы получим лучшую производительность в задачах с немалым количеством случайных обращений. А найденные нами закономерности можно будет распространить и на массивы из более быстрых (и емких) моделей дисков разных производителей.

Используя платы на чипсетах Intel с южным мостом ICH8R/ICH9R/ICH10R (и более поздние), четыре терабайтных диска оптимально, на наш взгляд, организовать следующим образом. Благодаря технологии Intel Matrix RAID из первой половины объема каждого из дисков делаем массив RAID 0 емкостью 2 ТБ (чтобы он без специальных ухищрений понимался «операционками» ниже Vista), который обеспечит нам наивысшую производительность системных разделов, быстрый запуск приложений и игр, а также высокую скорость оперативной работы с мультимедийным и прочим контентом. А для более надежного хранения важных нам данных вторую половину объема этих дисков мы объединим в массив RAID 5 (кстати, тоже далеко не самой плохой производительности, в чем мы убедимся чуть ниже). Таким образом, всего за 8 тыс. руб. мы получим и сверхбыстрый системный диск на 2 ТБ, и надежный и емкий «архивный» том на 1,5 ТБ. Именно в такой конфигурации из двух массивов, созданных нами со значениями по умолчанию, мы и будем проводить наше дальнейшее тестирование. Впрочем, особо мнительные нелюбители RAID5 на интеловских контроллерах могут вместо него построить RAID10 в полтора раза меньшего объема - производительность его на чтение данных будет пониже, чем у RAID5, при записи (с кешированием) они примерно равноценны, зато надежность и извлекаемость данных при развале массиве будет получше (в половине случаев RAID10 можно оживить при выходе из строя даже двух дисков).

Утилита Intel Matrix Storage Manager позволяет включать и отключать кеширование записи на такие дисковые массивы средствами операционной системы (то есть, используя оперативную память ПК), см. третью сверху строчку в правом поле Information на скриншоте:

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

Испытания проводилось нами на тестовой системе, представляющей типичный, не самый мощный по нынешним временам десктоп:

  • процессор Intel Core 2 Duo E8400 (3 ГГц);
  • 2 ГБ системной памяти DDR2-800;
  • плата ASUS P5Q-E на чипсете Intel P45 Express с ICH10R;
  • видеоускоритель AMD Radeon HD 5770.

На системном диске Seagate ST950042AS находились ОС Windows 7 x64 Ultimate и Windows XP SP3 Pro (тестируемые массивы и накопители испытывались в «чистом» состоянии). В качестве бенчмарков, по результатам которых мы будем судить о соперничестве SSD с традиционными RAID, нами здесь использовались программы ATTO Disk Benchmark 2.41, Futuremark PCMark05, Futuremark PCMark Vantage x86, Intel NAS Performance Toolkit 1.7 и др. Тесты проводились пятикратно и результаты усреднялись. Для ориентировки внизу диаграмм с результатами тестов приведены данные для быстрого одиночного накопителя Seagate Barracuda XT ST32000641AS емкостью 2 ТБ, то есть такой же, как у «системного» RAID 0 из четырех испытуемых нами Hitachi Deskstar E7K1000 HDE721010SLA330.

Честь недорогого, но весьма производительного SSD емкостью 128 ГБ и ценой (на момент написания статьи) в районе 8000 руб. защищала модель PNY Optima SSD 128GB MLC. Сперва взглянем на нее чуть подробнее.

SSD PNY Optima 128GB Gen 2

Модель с номером P-SSD2S128GM-CT01 (прошивка 0309) представляет собой типичный 2,5-дюймовый SATA SSD в стильном черном металлическом корпусе толщиной 9,5 мм. Его производитель - компания , больше известная своими флешками и модулями памяти.


PNY Optima SSD 128 GB MLC

Накопитель основан на флеш-памяти Intel 29F64G08CAMDB с MLC-ячейками и контроллере JMicron JMF612, который позволяет этому SSD работать не только по Serial ATA, но и по интерфейсу USB 2.0 (мини-разъем последнего находится рядом с портом SATA в заднем торце корпуса диска).

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


Плата накопителя PNY Optima SSD 128 GB MLC

Производитель обещает для этой модели скорость чтения 235 МБ/с и скорость записи 150 МБ/с (она на практике оказалось даже чуть выше). Кеш-память диска составляет 64 МБ, поддержка TRIM встроена, ударостойкость заявляется на уровне 1500g, а диапазон рабочих температур - от -10 до +70°C. Производитель дает 3 года гарантии на эту модель с MTBF в 1,5 млн часов.

К слову, не следует заблуждаться и считать популярные MLC SSD на контроллере JMicron JMB612 решениями "низшего сорта". Как показывают , накопители на этом контроллере смотрятся в среднем ничуть не хуже, чем SSD сходной емкости и цены на контроллерах от Indilinx (IDX110), Intel, SandForce (SF1222) и Samsung, даже выигрывая у них в ряде дисковых бенчмарков.

Результаты тестов

Максимальная скорость последовательного чтения и записи полезных данных для SSD PNY Optima 128GB по результатам теста ATTO Disk Benchmark 2.41 (запись и чтение файла объемом 256 МБ блоками от 64 КБ до 8 МБ) составила соответственно 238 и 155 МБ/с, что чуть выше заявленных производителем значений (см. диаграмму).

Любопытно, что низкоуровневый тест HD Tach RW 3.0, использующий обращения к накопителю в обход файловой системы, показал для этих двух параметров значения в 217 и 165 МБ/с соответственно (см. график). Что же касается пары испытуемых нами четырехдисковых RAID-массивов, то RAID 0 показал максимальную скорость чтения/записи крупных файлов под 450 МБ/с (это подтверждается и графиком HD Tach RW 3.0), что вдвое-втрое больше, чем у данного SSD! Правда, включение кеширования записи (WC=yes на диаграммах) средствами Windows несколько снижает скорость последовательной записи, а также чтения, но не настолько критично, чтобы это можно было считать неприемлемым.

Что же касается RAID 5, организованного на второй половине наших испытуемых НЖМД, то максимальная скорость последовательного чтения этого массива переваливает за 270 МБ/с (что заметно выше, чем у любого современного магнитного винчестера!), а скорость последовательной записи кардинально зависит от кеширования в Windows: без него она едва достигает совершенно неприемлемых 40-50 МБ/с, тогда как с ним повышается более чем втрое (см. также график HD Tach RW 3.0), хотя все равно не достигает таковой при чтении RAID 5, как это было у RAID 0. Но в любом случае, здесь наш RAID 5 работает заметно быстрее одиночного «семитысячника» Seagate Barracuda XT.

Другая существенная польза от Windows-кеширования массивов дисков - кардинальное ускорение работы с мелкими (менее 64 КБ) файлами и блоками данных. Это наглядно видно из результатов теста ATTO Disk Benchmark 2.41 (про вертикали слева здесь указан размер блока данных в КБ; колонки справа - значения скорости в КБ/с).


RAID 0 без кеширования


RAID 0 с кешированием


RAID 5 без кеширования


RAID 5 с кешированием

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

Работу кеширования операций с RAID через оперативную память компьютера (причем как при чтении, так и при записи) наглядно демонстрирует следующая диаграмма, обычно приводимая нами в качестве иллюстрации скорости работы дискового интерфейса (SATA, SAS и пр.).

Скорость буферизованного чтения в 3-5 ГБ/с - это значения одного порядка с полосой пропускания системной памяти в ПК типа нашего тестового. Шина DMI, по которой южный мост интеловских чипсетов общается с системой, имеет куда более низкий потенциал, равный, по сути, шине PCI Express x4 первого поколения (то есть 1 ГБ/с в одном направлении). Второй полезный вывод из этой диаграммы - для RAID-массивов (даже без кеширования) скорость передачи данных по шине (нескольким шинам SATA) от хоста к накопителям возрастает условно пропорционально числу дисков в массиве. И для RAID 0, например, в разы превышает скорость обмена данными с одиночным SSD на шине SATA. Вывод, в общем-то, вполне очевидный.

Кстати, среднее время случайного доступа к массивам (мелкими блоками) при чтении не зависит от кеширования Windows, а вот при записи - меняется существенно (см. диаграмму). Причем, для простейшего (программного) RAID 5 без кеширования оно неприлично велико.

Что же касается вопроса дополнительной нагрузки на процессора от кеширования, то она, безусловно, есть, но для более ли менее современных десктопов ее нельзя назвать слишком обременительной. Взглянем на графики загрузки ЦП при выполнении того же теста ATTO:

RAID 0
RAID 5
Графики загрузки ЦП без кеширования RAID

И для RAID 0, и для RAID 5 загрузка ЦП при чтении и записи без RAID-кеширования Windows - единицы процентов. Если же кеширование включить, то на малых блоках загрузка ЦП возрастает до десятков процентов, порой переваливая за 50% (левые части графиков ниже).

RAID 0

RAID 5
Графики загрузки ЦП c кешированием RAID

Интересно, что для RAID 5 нагрузка на процессор при этом чуть ниже, чем для RAID 0 - видимо, сказывается более высокая скорость чтения/записи для второго случая. Кроме того, при увеличении размера блока данных нагрузка на процессор понижается, приближаясь к таковой с отключенным кешированием для блоков размером 64 КБ и выше. Безусловно, это лишь прикидка, иллюстрация вопроса. Этот аспект можно было бы исследовать более скрупулезно, в «чистом виде». Но в данном случае для нас это не является целью статьи, поскольку интересующий нас здесь вопрос - какова производительность накопителей.

Последнюю мы оценивали, в частности, по комплексным тестам, имитирующим работу разнообразных задач под Windows - PCMark Vantage, PCMark05 и Intel NAS Performance Toolkit. Детальные результаты по каждому паттерну этих тестов приведены в общей таблице . А в теле статьи мы представим только итоговые диаграммы, дающие представления об усредненной производительности накопителей под Windows.

В тесте PCMark05 данная модель SSD опережает 4-дисковый RAID 0 менее чем вдвое. Да, это заметное преимущество, но не такое фатальное, как при сравнении с одиночным винчестером. Любопытно, что достигается это преимущество лишь в трех из пяти паттернов PCMark05 (в основном - при запуске Windows и приложений), тогда как в паттерне Virus Scan наш RAID 0 оказывается на 10% быстрее, чем SSD, а в паттерне File Write - вообще быстрее, чем SSD, более чем втрое!

Кеширование массивов увеличивает их производительность в данном бенчмарке примерно в полтора раза, хотя одиночный Seagate Barracuda XT оказывается все же чуть быстрее, чем тестируемый здесь RAID 5. Впрочем, мы и не предлагали вам использовать данный RAID 5 для основных системных разделов и запуска приложений. ;) А вот при записи на этот «архивный» том файлов (паттерн File Write) его скорость явно выше, чему одиночного диска.

В более свежем тесте PCMark Vantage под Windows 7 преимущество SSD над нашими массивами подавляющее (в среднем минимум втрое). Очевидно, паттерны данного бенчмарка очень активно оперируют псевдослучайными обращениями к накопителям, в чем SSD вне конкуренции.

Однако анализ результатов по паттернам (см. табл.) показывает, что «не все коту Масленица» -- в ряде задач наш RAID 0 не только имеет с SSD близкую скорость (Movie Maker, то есть редактирование видео), но и может существенно опережать его (Media Center). Таким образом, по крайней мере, для медиацентра массив выгоднее, чем SSD (это касается и его куда большей емкости). Кеширование здесь также добавляет 20-30% к средней производительности массивов, делая даже программный RAID 5 вполне конкурентоспособным с одиночным топовым «двухтерабайтником».

В более свежем и, на наш взгляд, более реалистичном тесте Intel NAS Performance Toolkit, который использует несколько иную философию бенчмаркинга, нежели «трековые» PCMark, - а именно непосредственную работу с файловой системой тестируемого накопителя, а не воспроизведение заранее записанных (в другой системе) команд обращения к диску внутри предварительно созданного временного файла, - ситуация еще более благоволит к многодисковым RAID. В среднем, наш RAID 0 здесь опережает твердотельный накопитель не только с кешированием (в полтора раза!), но и без него! А программный «архивный» RAID 5 с кешированием оказывается быстрее, чем одиночный диск Barracuda XT.

При детальном рассмотрении (см. табл.) оказывается, что в 10 из 12 паттернов кешируемый RAID 0 более быстр, чем SSD! Это касается и работы с видео, и Content Creation (создание контента), и офисной работы, и обработки фотографий (Photo Album), и копирования файлов. Лишь при 4-потоковом воспроизведении видео и копировании директории со многими файлами с диска твердотельный накопитель одержал вверх над RAID 0 из традиционных винчестеров. На этой оптимистичной ноте мы перейдем к заключению.

Заключение

Собственно, все уже сказано выше. При грамотном выборе традиционных винчестеров на магнитных пластинах их массивы из 4 накопителей вполне способны поспорить по производительности в типичных задачах настольного ПК с одиночным SSD той же стоимости ! Более того, по цене гигабайта пространства и по вместимости такие массивы несопоставимо выгоднее твердотельных накопителей. А возможность (в случае с интеловскими чипсетами) одновременно с быстрым RAID 0 создать на части пространства НЖМД еще и емкий защищенный «архивный» RAID 5 для хранения наиболее важных данных вообще не имеет адекватных по цене аналогов среди SSD. Так что выбор за вами. Только не забывайте включать кеширование RAID-массивов средствами соответствующей утилиты под Windows - без этого удовольствие от использования производительного, емкого и экономичного решения на вашем десктопе будет неполным.

И еще пару ремарок - относительно энергопотребления и надежности данных решений. Безусловно, 0,5-3 Вт потребления одного SSD не идут ни в какое сравнение с 20-40 Вт прожорливости массива из четырех НЖМД. Однако и мы ведь рассматриваем не ноутбук/неттоп, а полноценный десктоп (иначе, собственно, такой RAID и незачем городить). Поэтому потребление надо оценивать в сумме. А на фоне гораздо большей прожорливости типичных десктопных процессоров (100-200 Вт вместе с материнской платой) и видеокартой (50-300 Вт) еще пара десятков ватт на накопители совсем не кажется расточительством (только параноик станет считать лишние киловаттчасы от них на своем домашнем электросчетчике:)). Тем более если принять во внимание, что к SSD вам все равно придется докупать один-два НЖМД (для прикидки: 20Вт·8час·30дней=4,8кВт·ч, то есть максимум 15-20 дополнительных рублей на электричество в месяц). Что же касается надежности обоих решений, то и к SSD, и к RAID на чипсетных контроллерах, и даже к НЖМД в Сети можно найти многочисленные претензии, хотя производители и обещают для них миллионночасовые MTBF. Поэтому в любом случае, лучшей защитой от потери данных является их регулярное резервирование на независимых носителях. И об этом никогда не следует забывать.

На закуску - диаграмма, геометрически усредняющая производительность (в МБ/с) протестированных накопителей по всем 26 паттернам тестов PCMark05 (5 паттернов), PCMark Vantage x86 (7 паттернов), Intel NAS Performance Toolkit (12 паттернов) и чтения/записи крупных файлов в ATTO Disk Benchmark (2 паттерна). Смотрите и размышляйте. ;)

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



RAID 0

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

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

    RAID 10
  • RAID 10 , также иногда называется RAID 1+0 - комбинация двух первых вариантов. (Массив RAID0 из массивов RAID1). Имеет все скоростные преимущества RAID0 и преимущество надежности RAID1, сохраняя недостаток - высокую стоимость дискового массива, так как эффективная ёмкость массива равна половине ёмкости использованных в нём дисков. Для создания такого массива требуется минимум 4 диска. (При этом их число должно быть чётным).
  • RAID 0+1 - Массив RAID1 из массивов RAID0. Фактически не применяется из-за отсутствия преимуществ по сравнению с RAID10 и меньшей отказоустойчивости.

    RAID 1E
  • RAID 1E - Похожий на RAID10 вариант распределения данных по дискам, допускающий использование нечётного числа (минимальное количество - 3)
  • RAID 2, 3, 4 - различные варианты распределенного хранения данных с дисками, выделенными под коды четности и различными размерами блока. В настоящее время практически не используются из-за невысокой производительности и необходимости выделять много дисковой емкости под хранение кодов ЕСС и/или четности.


    RAID 5
  • RAID 5 - массив, также использующий распределенное хранение данных аналогично RAID 0 (и объединение в один большой логический ) + распределенное хранение кодов четности для восстановления данных при сбоях. Относительно предыдущих конфигураций размер Stripe-блока еще больше увеличен. Возможно как одновременное чтение, так и запись. Плюсом этого варианта является то, что доступная для пользователя емкость массива уменьшается на емкость лишь одного диска, хотя надежность хранения данных ниже, чем у RAID 1. По сути, является компромиссом между RAID0 и RAID1, обеспечивая достаточно высокую скорость работы при неплохой надежности хранения данных. При отказе одного диска из массива данные могут быть восстановлены без потерь в автоматическом режиме. Минимальное количество дисков для такого массива - 3.
    "Программные" реализации RAID5, встроенные в южные мосты материнских плат, не отличаются высокой скоростью записи, поэтому годятся далеко не для всех применений.


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


    RAID 6
  • RAID 6 - аналог RAID5 c большим уровнем избыточности - информация не теряется при отказе двух любых дисков, соответственно, общая ёмкость массива уменьшается на ёмкость двух дисков. Минимальное количество дисков, необходимое для создания массива такого уровня - 4. Скорость работы в общем случае примерно аналогична RAID5. Рекомендуется для применений, где важна максимально высокая надёжность.


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


    RAID 60
  • RAID 60 - объединение двух массивов RAID6 в страйп. Скорость записи повышается примерно в два раза, относительно скорости записи в RAID6. Минимальное количество дисков для создания такого массива - 8. Информация не теряется при отказе двух дисков из каждого RAID 6 массива.
  • Matrix RAID - технология, реализованная фирмой Intel в своих южных мостах, начиная с ICH6R, позволяющая организовать всего на двух дисках несколько массивов RAID0 и RAID1, одновременно создавая разделы как с повышенной скоростью работы, так и с повышенной надёжностью хранения данных.
  • JBOD (От английского "Just a Bunch Of Disks")- последовательное объединение нескольких физических в один логический, не влияющее на производительность (надёжность при этом падает аналогично RAID0), при этом могут иметь разные размеры. В настоящее время практически не применяется.
  • Если Вы хотите увеличить быстродействие своей операционной системы в два раза, то наша статья для Вас!

    Каким бы мощным не был Ваш компьютер, у него до сих пор остаётся одно слабое звено, это жёсткий диск, единственное устройство в системном блоке имеющее внутри механику. Вся мощь вашего процессора и 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".