Практические советы по созданию RAID-массивов на домашних ПК. RAID массив: виды и процесс создания Программный raid 10 windows

08.11.2020

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

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

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

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

RAID0.
Данные записываются поочерёдно на разные накопители (страйпами), благодаря этому, в итоге мы можем получить практически двукратный прирост в скорости линейного чтения. Какая-либо отказоустойчивость отсутствует, в случае выхода из строя хотя бы одного жёсткого диска теряются вообще все данные массива. Используется, как правило, для быстрой работы с информацией, которой в случае чего можно пожертвовать, например, для временных папок Adobe Fotoshop… Некоторые используют сие для ОС (геймеры, энтузиасты и т.д.).

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

Уровни 2,3,4 практически потеряли былую популярность. Сегодня наиболее актуальный RAID массив, сочетающий производительность и отказоустойчивость — это RAID 5. Как и в случае с RAID 0, данные поочерёдно записываются на разные накопители (также страйпами), но дополненные контрольными суммами. В итоге полезная ёмкость RAID 5, состоящего из n дисков, равна n-1 диск. В случае выхода из строя одного харда, информация остаётся доступной, в случае же поломки двух и более – теряется.

RAID10 (или RAID 1+0).

Наиболее популярный представитель составных RAID систем. Дабы как-то ускорить работу классического зеркала, возникла идея об их объединении в быстрый массив. Представляет собой объединение зеркал (RAID 1)в один большой страйп (RAID 0). Главный минус – более высокая стоимость полезного объёма, плюсы – более высокая скорость обработки данных, кроме того, повышенная отказоустойчивость. Теоретически из строя одновременно могут выйти два накопителя, но из разных подмассивов.

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

Рассмотри аппаратные.
Как и в случае с видеокартами, с этой области также происходит разделение на интегрированные (в материнку) и дискретные. Интегрированные можно разделить на чипсетные (реализация посредством «южного моста») и на контроллеры, выполненные сторонними разработчиками (на материнке распаивается дополнительная нечипсетная микросхема). Последние чаще всего крайне примитивны, поддерживаются, как правило, только уровни RAID 0 и 1.

Чипсетные вариации интереснее и могут по своему функционалу поспорить с рядом дискретных аналогов. Например, последние чипсеты от Intel позволяют реализовать RAID 0,1,5,10 уровней.

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

представители Low-end, Middle-end и High-end секторов.

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

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


(фото 4, 5)

Теперь рассмотрим непосредственно инсталляцию аппаратного RAID массива.
Случай первый. Если пред нами какое либо интегрированное в материнку решение, то необходимо его задействовать. Осуществляется сие через BIOS материнской платы, как правило, простым перевод в позицию «Enable».


(фото 6)

Случай второй. Если у нас дискретный RAID, то просто вставляем плату и подключаем к ней жёсткие диски.
Как и в первом, так и во втором варианте после включения компьютера и прохождения им «POST-таблицы», машина должна увидеть контроллер и предложить нажать какую-либо комбинацию клавиш для входа в BIOS, но уже контроллера. Это будет что-то типа Ctrl+A, Ctrl+g и т.д. Нажали – вошли.


(фото 7)

Если мы используем дорогой RAID, то и BIOS будет отличаться кардинально.


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


(фото 9)

После создания можно приступать к установке ОС (если это требуется), подробно о данном процессе написано в статье касательно установки XP на ноутбук, принцип тот же самый. Единственное отличие актуальное для Windows Vista и ей подобным ОС заключается в возможности использования флешки, т.е. необходимые драйвера для контроллера можно скопировать на USB-накопитель, а затем при инсталляции просто указать путь, либо интегрировать непосредственно в дистрибутив оные драйвера посредством vLite (www.vlite.net).

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

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

Как настроить RAID 1 массив и установить на него Windows 7, 8.1, 10

После прочтения предыдущих статей о создании программного RAID 1 массива средствами операционной системы вы конечно зададите вопрос: «А как установить саму систему на RAID 1 массив или может существует возможность переноса уже готовой и настроенной Windows с программами на рейд массив. Ведь неожиданно сломаться может и винчестер с установленной операционкой, а не только второстепенный жёсткий диск с файлами?» Потеря операционной системы со всеми установленными приложениями, при отсутствии резервной копии, может вывести из работы на несколько дней любую организацию, поэтому я считаю обязательным создание RAID 1 массива на рабочем месте и установки на него Windows.

  • Примечание : Друзья, кроме RAID 1 массива, ещё существует .

В сегодняшней статье мы соберём RAID 1 массив из двух жёстких дисков на материнской плате ASUS и установим на него Windows 10

Друзья, конечно можно ничего не устанавливать заново, а просто включить в БИОС технологию RAID, а затем перенести на него существующую винду с помощью различных программ, но сделаем мы это в следующих статьях, а сегодня произведём простую установку системы.

Если вы хотите собрать RAID 1 массив и установить на него операционку, то опять же понадобится два жёстких диска или два твердотельных накопителя SSD, и ваша материнская плата должна поддерживать технологию RAID. Для примера возьмём два винчестера объёмом по 250 ГБ каждый.

Устанавливаем винчестеры в системный блок.

Чтобы настроить систему с массивом RAID, первым делом нужно включить соответствующую опцию в BIOS и делается это очень просто. Невозможно в одной статье описать соответствующие настройки всех существующих типов БИОС, в этой статье я включу RAID на материнской плате ASUS, а в следующих статьях постараюсь показать подобные настройки на материнских платах GIGABYTE и ASRock.

Включаем компьютер и входим в БИОС с помощью нажатия DEL при загрузке. Переходим на вкладку Advance d, опция SATA Configuration

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

HotPlug - (горячее подключение) выставляем в Enabled для жёстких дисков объединяемых в массив.

Для сохранения внесённых изменений жмём F10 и выбираем

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

Также видно два подключенных к портам 4 и 5 жёстких диска SATA: Maxtor и WD, находящихся пока не в RAID-массиве (Non-RAID Disk ). Нажимаем CTRL-I.

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

В данном окне производим основные настройки RAID-массива.

Name (название RAID-массива). Жмём на клавишу "пробел" и вводим наименование,

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

RAID Level : (Уровень RAID). Мы будем создавать RAID1(Mirror) -"зеркалирование" - при отказе одного из дисков, точная копия данных останется на другом диске и контроллер сразу переключиться на использование дублирующего диска. Выбираем этот уровень с помощью стрелок на клавиатуре.

Capacity (объём) выставляется автоматически. Объём двух наших дисков 500 ГБ превращаются в 250 ГБ, так как мы используем уровень RAID1(Mirror) и два наших винчестера работают как один.

Больше ничего не меняем и передвигаемся к последнему пункту 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 1 создан и находится со статусом Normal (нормальный). Для выхода жмём на клавиатуре клавишу Esc

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

Компьютер перезагружается. Входим в загрузочное меню и выбираем загрузку с установочной флешки Kingston содержащей файлы Windows 10. Если в загрузочное меню компьютера вы попасть не можете, тогда в БИОС.

Как видим, только что созданный нами RAID 1 массив с названием " RAID 1 new" тоже находится в загрузочном меню.

Загружаемся с флешки в программу установки Windows 10. Далее действуем как при обычной установке операционной системы.

Установить

Принимаем лицензионное соглашение

Выборочная: Только установка Windows

Два жёстких диска объединённых в RAID-массив установщик Win 10 видит как один.

Пропустить этот шаг

Использовать стандартные параметры

Создать локальную учётную запись

Вводим имя учётной записи и жмём Готово.

Windows 10 установлена на RAID 1 массив.

Диспетчере устройств.

Управление дисками.

RAID 1 массив и флешка с Windows 10.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

RAID 0

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

RAID 1 (Mirrored disk)

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

RAID 5

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

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

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

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

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

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

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

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

1101 0011 1100 1011 = 1001.

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

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

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

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

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

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

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

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

RAID 10

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

Intel Matrix RAID

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Утилита IOmeter

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Контроллер ICH10R

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

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

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

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

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

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

Настройка Raid 0 массива и инсталляция на него Windows 10. Как сделать работу операционной системы боле скоростной

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

Следует отметить, что для проведения данной процедуры можно использоваться жесткие диски самых разных размеров. Это могут быть и винчестеры объемом 1 Тб и по 250 Гигабайт.

Raid0 массив представляет собой дисковых массив сразу из нескольких жестких дисков. В нем отсутствует избыточность. Если говорить простыми словами, то это объединение сразу нескольких винчестеров в один дисковый массив. На оба эти диска все данные будут поступать практически одновременно. При этом скорость работы системы увеличивается. Одним из условий использования данной технологии является то, чтобы материнская плата конкретного компьютерного устройства обладала поддержкой Raid0.

Многие могут задаться вопросом по поводу отсутствия избыточности. Использование Raid связано с тем, что необходимо обезопасить личные данные пользователей, которые хранятся на жестком диске компьютера. Создание Raid 1 массива обеспечивает сразу двойную защиту данных, потому что если один жесткий диск приходит в негодность, на втором сохраняются их копии. Raid 0 не записывает все данные сразу на несколько жестких дисков. Она делит их на разделы и записывает на разные винчестеры. Скорость работы компьютера является высокой, но при этом после выхода одного из жестких дисков из строя, на втором не будет иметься копий исчезнувшей информации.

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

Однако следует отметить, что не очень то и часто приходится сталкиваться с проблемой выхода из строя жесткого диска. К тому же если объединить сразу два жестких диска в Raid 0, то можно ими пользоваться, как одним винчестером. Если время от времени копировать свои личные данные на носители, то можно избежать их потери в будущем.

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

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

После проверки можно приступить к настройке Raid 0 в БИОС и инсталлировать ноde. операционную систему.

Настройка Raid0 массива

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

После включения компьютерного устройства необходимо перейти в БИОС. Во время загрузки компьютера следует нажать на кнопку клавиатуры Del.

В новом окне следует выбрать раздел сверху Advanced и находим в списке пункт SATA Configuration.


Для того чтобы войти в конфигурацию Raid необходимо нажать в БИОС сочетание кнопок на клавиатуре CTRL + I.

В появившемся окне необходимо выбрать Raid Volume и нажать на Enter.


Именно на данной странице необходимо провести главные настройки создаваемого Raid 0 массива.

Для введения имени Raid 0 необходимо сначала нажать на пробел и затем его ввести.


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

Raid Level нужно выбрать Raid (Stripe).

В разделе, где указан размер жесткого диска нужно все оставить без изменений.

В параметре Capacity необходимо оставить автоматически настроенный объем и нажать на Enter.

Больше никаких изменений проводить не нужно. Просто следует опустить ниже и нажать на Create Volume и Enter.

На станице с предупреждение нужно выбрать ответ Да и нажать на кнопку на клавиатуре Y.


Таким образом, получается, что Raid 0 теперь находится в рабочем состоянии. Для выхода нужно нажать на Esc.

В новом окне следует нажать на Y.

В данном случае после каждого включения компьютерного устройства будет появляться предложение нажать комбинацию клавиш Ctrl+I для перехода в панель управления Raid.

Инсталляция Windows 10 на Raid 0 массив

Для начала необходимо подключить к компьютерному устройству флешку для загрузки. Далее следует перезагрузить его и войти через БИОС. Там нужно выставить приоритет загрузки флешку.

Установку Windows 10 нужно проводить самым обычным методом.

После инсталляции необходимо перейти в раздел с жесткими дисками. Там видно, что система видит два винчестера единым целым объемом 500 Гб.

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

Возможности программного RAID в Windows Server

Поддерживаются следующие массивы:

  • чередующийся том (striped volume, RAID0)
  • зеркальный том (mirrored volume, RAID1)
  • том RAID5 (RAID5 volume)
  • охватывающий том (spanned volume, один логический том размещается более чем на одном физическом диске)

Динамические диски

Массивы RAID можно создавать только на динамических дисках — особая разметка физических дисков (понятная только Windows), которая обладает следующими особенностями:

  • Обычный (базовый) диск можно преобразовать в динамический только целиком.
  • Обратное преобразование динамического диска в базовый возможно, но только если с динамического диска удалить все тома.
  • Динамический диск представляет собой один большой NTFS раздел, на котором с помощью хитрой служебной информации может размещаться большое количество томов (как простых, так и RAID), имеется возможность изменять размеры простых томов штатными средствами Windows. Однако, насколько оптимально и фрагментировано будут размещаться данные, мне не известно.
  • Известные мне программы клонирования, восстановления и изменения размеров дисков не поддерживают динамические диски.
  • Динамические диски, содержащие RAID-тома, могут быть перенесены на другой компьютер с Windows Server, так как содержат необходимую информацию для правильной сборки массива.

Невозможно создать тома с разными уровнями RAID

На одной группе физических дисков можно создавать тома RAID только одного типа (уровня). Например, если у нас есть 3 физических диска, и мы создали на них том RAID5, не занимая всего пространства. Мы не сможем в свободном пространстве создавать тома другого уровня RAID (RAID0 и RAID1), а только RAID5 и простые тома.

Одновременная синхронизация томов

Если на одной группе дисков создано несколько томов RAID, то в случае какого-либо сбоя после загрузки компьютера они начинают восстанавливаться одновременно. Это лютый, бешеный EPIC FAIL! Простая ситуация: имеется два физических диска, на них создано два RAID1 тома, один под операционную систему, другой под данные.

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

Со стороны такая «отказоустойчивость» выглядит следующим образом: общее быстродействие дисковой подсистемы падает раз в 20, сама ОС загрузится либо после окончания синхронизации одного из томов (минут 15, если он небольшой, гиг на 50), либо минут через 20 и будет бесполезна до конца синхронизации одного из томов.

Вышеописанное поведение я считаю недопустимым архитектурным просчетом со стороны Microsoft и удивлен тем, что эта беда не решена до сих пор со времен появления программного RAID в Windows 2000 Server.

Если вы попали в описанную ситуацию, то не стоит дожидаться загрузки ОС и изнашивания дисков.

  1. Отключаете один из физических дисков.
  2. Загружаетесь в ОС с нормальной скоростью.
  3. Разбиваете зеркало, превратив тома RAID1 в простые.
  4. Подключаете обратно второй диск.
  5. Создаете только одно зеркало для необходимого вам тома.

RAID5

Опишу сценарий, при котором вы не сможете восстановить деградировавший массив RAID5 до здорового состояния, даже если для этого предоставлены все условия.

  1. Имеется массив RAID5 из шести дисков (Диск1-Диск6).
  2. Среди них есть один сбойный Диск1 (например, из терабайтного объёма пара мегабайт не читаются), но операционная система об этом еще не знает и как сбойный его не отметила.
  3. По каким-либо причинам от массива был отключен исправный Диск2.
  4. Следуя логике RAID5, при отказе одного диска работоспособность массива сохраняется, такой массив помечается как деградировавший (degraded), скорость его работы резко падает, требуется синхронизация с новым исправным диском.
  5. Исправный Диск2 подключается на место. Система его опознает как сбойный. Чтобы синхронизировать массив, этот сбойный диск нужно удалить из массива RAID5 и определить как пустой.
  6. Все готово для синхронизации массива. Запускаем исправление массива (repair) на пустой Диск2.
  7. ВНЕЗАПНО синхронизация натыкается на ошибки чтения на действительно неисправном диске Диск1 и останавливается.
  8. Весть массив остается деградированным. Диск1 помечен как содержащий ошибки (errors), Диск2 помечен как online, однако из-за прерванной синхронизации не содержит полных корректных данных.
  9. В надежде на восстановление подключается совершенно новый исправный Диск7. Запускается восстановление массива на него.
  10. В результате исправный Диск2 заменяется на другой исправный Диск7, но синхронизация снова прерывается, найдя ошибку на неисправном диске Диск1.
  11. И так далее по циклу.

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

Не желая признавать поражения, я пытался сделать следующие вещи:

  • Синхронизировать массив с пропуском ошибок чтения на диске Диск1 (ведь это всего лишь мегабайты их целого терабайта). Но Microsoft не дает такой возможности.
  • Посекторно переписать весь сбойный Диск1 на другой здоровый диск с помощью программ для клонирования. Однако, доступные мне программы с динамическими дисками не работали.

Пример грамотной реализации программного RAID

От перечисленных выше недостатков избавлена аппаратно-программная реализация RAID-контроллера, известная как Intel Matrix Storage, и недавно переименованная в Intel Rapid Storage (работает на RAID-версиях чипсетов, таких как ICH9R, ICH10R). Аппаратно-программный RAID от Intel обеспечивает многие преимущества «врослых» RAID-контроллеров:

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

Основным ее недостатком, в отличии от полностью аппаратных RAID-контроллеров, остается «программность», из которой вытекают:

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

Полезные ссылки

  • Что собой представляют динамические диски — Windows IT Pro [довольно старая статья]
  • Вся правда о динамических дисках — Хакер [читать осторожно, «вся» правда перемешана с небылицами]
Похожие статьи