Практические советы по созданию RAID-массивов на домашних ПК. Создание RAID массива

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

Приветствую всех, уважаемые читатели блога сайт! Ранее, я уже публиковал статью о , очень рекомендую почитать. Там я только вкратце рассказал о том, что такое рейд массив десятого уровня, или «1+0» - как его еще называют. В этой статье будет подробный рассказ о всех преимуществах и недостатках такого вида Raid массива, а также о его сравнении с пятым рейдом.

Как известно, Raid 10 вобрал в себя все хорошее из Raid 0 и Raid 1: увеличенную скорость доступа и повышенную надежность данных - соответственно. Рейд 10 представляет собой некую «полоску» зеркал, состоящих из пар жестких дисков, объединенных в рейд первого уровня. Иными словами, диски вложенного массива соединены парами в «зеркальный» рейд первого уровня, а эти вложенные массивы, в свою очередь - трансформируются в общий массив нулевого уровня, используя чередование данных.

Описание особенностей массива raid 10 сводится к следующему:

  • если любой один диск из вложенных массивов raid 1 поломается - потери данных не произойдет. То есть, если «внутри» десятого raid находится всего четыре диска, что являет собой минимально допустимое количество, тогда возможен безболезненный выход из строя аж двух дисков одновременно;
  • следующая особенность (скорее недостаток) - невозможность замены поврежденных накопителей, если конечно массив не оснащен технологией «hot spare»;
  • если ориентироваться на высказывания производителей устройств и многочисленные тесты, то получается, что именно raid «1+0» обеспечивает наилучшую пропускную способность по сравнению с другими видами, кроме нулевого raid, конечно же.

Количество дисков

Отвечая на вопрос - сколько же дисков требуется для рейд 10, скажу, что для такого массива необходимо четное их количество. Причем, минимально допустимое количество винчестеров составляет 4, а максимальное 16. Также, бытует мнение, что raid «1+0» (он же 10) и «0+1» чем-то различаются. Это правда, но различие состоит только в последовательности соединения массивов.

Последняя цифра обозначает тип массива самого верхнего уровня. Например, raid «0+1» обозначает некую зеркальную систему полос, внутри которой два нулевых рейда (общее количество: 4 жестких диска) объединяются в один рейд 1 - это как пример, «нулевых» рейд массивов тут может быть и больше. Причем, снаружи визуально эти два подвида рейд 10 ничем не отличаются. И чисто теоретически они имеют равную степень устойчивости к сбоям.

На практике же, большинство производителей сейчас используют Raid 1+0 вместо Raid 0+1, объясняя это большей устойчивостью первого варианта к ошибкам и сбоям.

Столько дисков может поломаться и потери данных не произойдет

Повторюсь, главным недостатком raid 10 остается - необходимость включения в массив дисков «горячего резерва». Расчет примерно следующий: на 5 рабочих накопителей должен быть один резервный. Теперь пару слов про емкость дисков. Особенность емкости рейд 1 заключается в том, что вам всегда доступна лишь половина пространства винчестеров от их общего объема. В RAIDе 10 из 4 дисков общим объемом 4 Терабайта для записи будут доступны всего 2 Тб. Вообще, легко подсчитать доступный объем можно по формуле: F*G/2, F означает - количество дисков в массиве, а G - их емкость.

Сравнение raid 10 vs raid 5

Говоря о выборе между «десятым» raid и любым другим, на ум обычно приходит мысль о рейд 5. Raid 5 похож на первый по своему назначению, с той лишь разницей, что для него требуется минимум 3 накопителя. Причем один из них не будет доступен в качестве места для записи данных, на нем будет храниться лишь служебная информация.

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

  1. Емкость массива raid 5 равна общему объему дисков за вычетом объема одного диска. В то время как в рейд 10, по факту, доступна лишь половина объема накопителей.
  2. При операциях чтения/записи взаимодействие с потоками данных может вестись параллельно с нескольких дисков. Поэтому скорость записи или чтения возрастает, по сравнению с обычным жестким диском. Но, без хорошего рейд-контроллера скорость будет не сильно высокой.
  3. Производительность рейд 5 в операциях случайного чтения/записи блоков ниже на 10–25% в сравнении с десятым. При поломке одного из дисков в пятом рейде весь массив переходит в критический режим - все операции записи и чтения сопровождаются дополнительными манипуляциями, производительность при этом резко падает.

Итак, что же мы имеем в итоге: рейд 10 имеет лучшую отказоустойчивость и скорость, по сравнению с рейд 5 . Однако, собрать такой массив из дисков будет по карману далеко не каждому. Рейд 5 - некое промежуточное решение между нулевым массивом и зеркалом (рейд 1). О том, как сделать raid 10 из четырех дисков будет рассказано чуть ниже, хотя я уже затрагивал «вскользь» эту тему в статье, ссылка на которую указана вверху. Конечно же, для этой цели лучше использовать аппаратный уровень - нужен специальный контроллер, но хорошее оборудование стоит дорого.

Так называемый «фейк рейд» (встроенный в материнскую плату) не отличается надежностью и быстротой, использовать не рекомендую. Лучше уж тогда организовать это все на программном уровне. Ну а сейчас, подробный пример создания массива на четырех дисках, используя рейд-контроллер. Для начала через BIOS выбираем соответствующую утилиту.

Затем, в меню утилиты выбираем пункт «инициализация драйверов».

Выделяем все наши диски.

Снова возвращаемся к главному меню утилиты и выбираем пункт «создать массив».

И на последнем шаге - указываем тип массива, его размер и другие параметры.

Добрый день уважаемые читатели и гости блога, если вы нашли эту статью, то вы наверняка хотите научиться создавать рэйд массивы на своих серверах с контроллерами LSI, я то же когда-то таким был,. Помню этот момент когда компания закупила первые сервера IBM 3650 M3, в которых стояла модель рэйд контроллера M5015. Руководство сказало их подготовить в Reudant Array of Independed Disks виде, что для новичка в этом деле, означало сидеть и читать мануалы. Ниже будет описан весь процесс, максимально подробно, чтобы ни у кого не возникло вопросов.

Создание RAID массивов LSI

Заходим в утилиту Raid контроллера в моем случае это было CTRL+H при загрузке сервера. На первом экране у вас будет список всех ваших контроллеров, выберите нужный и нажмите "Start"

Видим наши диски.

Выбираем пункт "Configuration Wizard . Nwe Configuration" это мастер создания новой конфигурации.

Если у вас как и у меня до этого была уже конфигурация она уничтожиться, жмем Yes.

Как создать raid10, raid50, raid60, raid5 на контроллере LSI MegaRAID SAS PCI Express ROMB-04

Выбираем создать вручную (Manual Configuration)

В левой части вы теперь наблюдаете ваши HDD, которые можно добавить в нужный Array (Массив).

Если выбрать все или больше 3, то можно создать raid 0, raid 5, raid 6.

После того как все нужное выделили жмем Add to Array.

В левой части видим нужу созданную группу дисков, жмем Add to Span.

Нужная группа добавляет в правую область.

Видим, какие типы raid мы можем создать на LSI MegaRAID SAS PCI Express ROMB.

Теперь как создать Raid10, 50, 60.

Идем на пункт меню где создаем новую конфигурацию. У меня 8 дисков на сервере, для того чтобы создать нужные raid нам надо создать две группы с равным количеством дисков, этим и займемся. Выбираем 4 диска и жмемAdd to Array.

Выбираем 3 и более дисков.

Создаем вторую группу тоже из 4 дисков

Жмем Accept DG

Теперь добавляем наши две группы нажимая Add to Span

Добавляем в правую область.

Видим что теперь доступно Raid 10, 50, 60.

Выбираем для примера RAid 10. Настраиваем и жмем Next.

я создал два луна один 100гб второй все остальное.

Save this configuration. Сохраняем все и выходим.

Вас предупредят, что все данные будут безвозвратно потеряны.

Не забудьте пометить Lun на который вы будите ставить меткой Set Boot Drive .

Все современные материнские платы оснащены интегрированным 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).

18.06.2018. Как обезопасить Windows от проблем, вызванных повреждениями жёсткого диска? Для этого существует механизм бэкапа, в частности, таковой с автоматическим созданием инкрементных или дифференциальных резервных копий для поддержания актуального состояния ОС. Но есть и альтернативное решение — зеркалирование системных разделов Виндовс , выполняемое её же штатными средствами.

Это создание программного RAID в конфигурации RAID 1 с целью сохранности информации и получения доступа к среде ОС при неполадках, вызванных проблемами с обеспечивающим её существование жёстким диском. Каковы особенности этого механизма, и как его реализовать в среде Windows – об этом всём будем в деталях говорить ниже.

1. Зеркалирование Windows: что это

Зеркалирование — это, как упоминалось, программный RAID 1 , часто используемая конфигурация дискового массива, при которой данные дублируются на второй, именуемый зеркалом жёсткий диск. При возникновении неполадок с первым, основным жёстким диском с помощью зеркала сможем получить доступ к нашей ценной информации. Более того, если зеркалирование применятся к системным разделам Windows, при поломке основного диска мы не просто получим доступ к информации, хранящейся в системе, мы даже попадём внутрь неё. Не внутрь неё исходной, но внутрь точного её клона на диске-зеркале.

Реализация программного RAID 1 возможна в условиях работы технологии динамических дисков. Технология эта существует в среде Windows, начиная с версии 2000 . Сама технология применима как к MBR -, так и к GPT -дискам, но вот создание программного RAID 1 усложнено необходимостью проведения дополнительных операций с командной строкой. Так что всё, что будет предложено ниже, касается только MBR -дисков. Создание программного RAID возможно только в редакциях ОС, начиная с Pro .

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

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

2. Подготовительный этап

Для применения к Windows программного RAID 1 к компьютеру должен быть подключён второй жёсткий диск с вместимостью не менее суммарного объёма обоих системных разделов. В нашем случае таковые занимают, соответственно, 549 Мб и 60 Гб , а диск-зеркало имеет объём с небольшим запасом – 70 Гб . Зеркало необходимо подготовить к его дальнейшей участи – удалить на нём все разделы. Должна остаться чистая нераспределённая область.


Сведения о загрузке установленных на других разделах Windows, если таковые имеют место быть, лучше убрать и оставить возможность запуска только текущей системы. При зеркалировании меню загрузки будет перезаписано, и в нём останется запись о загрузке только одной ОС с добавлением возможности запуска её клона на зеркальном диске. Так вот важно, чтобы осталась запись о загрузке нужной Виндовс. Иначе получим BSOD .

Реализовывать зеркальную Windows будем с использованием системной утилиты diskmgmt.msc , она же консоль «Управление дисками» .

3. Преобразование диска в динамический

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

Галочками отмечаем их обоих. Кликаем «Ок» .

Жмём «Преобразовать» и подтверждаем действие.

4. Создание зеркал системных разделов

Итак, оба диска – и основной, и зеркало – теперь динамические. Вызываем контекст-меню на маленьком техническом разделе системы (разделе загрузчика) . Выбираем «Добавить зеркало» .

Кликаем диск-зеркало. Жмём «Добавить зеркальный том» .

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

Теперь жмём контекст-меню на основном разделе Windows, на диске С . И проделываем ту же операцию, что и выше. Добавляем зеркало.


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

5. Зеркальная Windows

Как только данные будут синхронизированы с зеркалом, а о завершении этого процесса узнаем по степени нагрузки на диск в диспетчере задач, можем перезагружаться и тестировать работоспособность зеркальной Виндовс. Доступ к ней, как упоминалось, появится в меню загрузчика, она будет значится с надписью «Windows такая-то версия – вторичный плекс» . Меню загрузчика, кстати, в последних двух версиях ОС можно настроить прямо на этапе запуска компьютера.

Можно установить меньшее время для автовыбора Windows.

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

В старых версиях Виндовс таймаут для меню загрузчика настраивается в системной утилите «Конфигурация системы» .

6. Удаление зеркал Windows

Если в зеркалировании Windows больше нет надобности, её зеркало можно удалить. Делается это там же, где и это зеркало добавлялось – в утилите diskmgmt.msc . По очереди кликаем каждый из системных разделов, в контекст-меню жмём «Удалить зеркало» .

Выбираем диск-зеркало, жмём кнопку его удаления и подтверждаем.

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

7. Переустановка Windows в условиях зеркалирования

Переустановка Виндовс в условиях существования зеркал её разделов осуществляется так же, как обычно – можем удалить два её раздела и местом установки ОС указать неразмеченную область, а можем просто отформатировать два существующих её раздела.

В любом из этих случаев при переустановке Windows её зеркало никуда не денется, оно продолжит своё функционирование в новой системе. Программный RAID 1 переносится в новую, переустановленную среду системы. И всё бы ничего было, если бы мы зеркалировали обычные пользовательские разделы с нашими данными. Но программный RAID 1 для системных разделов, вспомним, предусматривает ещё и возможность входа внутрь Виндовс на диске-зеркале. И вот здесь столкнёмся с очередным косяком Microsoft: потеряется запись о загрузке зеркальной системы – того самого пункта меню загрузчика с допиской «вторичный плекс» . Ведь мы форматировали или удаляли маленький раздел загрузчика при установке системы. Оставлять его как есть, не форматировать – ещё опаснее. Вспомним, на динамических дисках возможна загрузка только одной Windows. Если раздел загрузчика не отформатировать, новая система в меню загрузки будет значиться второй и не сможет запуститься. Равно как и не запустится ни первая система, ни её зеркало, ведь первая уже не существует, а её зеркало – это клон несуществующей Windows.

Так что раздел загрузки Windows при её переустановке в обязательном порядке нужно либо форматировать, либо удалять. Как же тогда обеспечить вход в зеркальную Windows? Решение здесь очень простое: нужно пересоздать зеркала системных разделов – удалить их, как рассмотрено в предыдущем пункте, и назначить заново. Диск-зеркало заново синхронизуется с системными разделами, а в меню загрузчика Windows опять появится пункт зеркальной системы с допиской «вторичный плекс» .

Если Вам нравятся статьи, заметки и другой интересный материал представленный на сайте Белые окошки и у вас есть непреодолимое желание поддержать этот скромный проект тогда выберите один из двух видов стратегии поддержки на специальной странице - Страница с донатом

Смотри также:

  • Восстановление загрузчика Windows 10.
  • «Быстрая помощь» – приложение в составе Windows 10 Anniversary, предназначенное для удаленного управления компьютером.
  • Где Update Assistant хранит установочные файлы Windows 10?
  • Замена калькулятора Windows 10 на "старый, добрый" из предыдущих версий. http://fetisovvs.blogspot.nl/2015/10/windows-10-windows-10_18.html
  • Как в Windows 10 определить, какое приложение сильнее всего разряжает батарею.
  • Как запретить встроенным приложениям Windows 10 сбрасывать ассоциации к значениям по умолчанию.
  • Не устанавливаются обновления на Windows 10: как решить проблему?
  • Управление дисковыми пространствами в Windows 8, 8.1 и 10.
  • Как ограничить доступ к настройкам Windows.
  • Как перенести систему Windows 10 с HDD на SSD.
  • Как узнать ключ Windows XP, Vista, Windows 7, 8, 8.1, 10 в случае, если система не загружается.
  • Проверка целостности системных файлов Windows 10.
  • Как произвести восстановление целостности системных файлов, если Windows 10 не загружается.
  • Создание точки восстановления и восстановление Windows 10.
  • Что можно сделать, если при подключении флешки 3.0 к USB-порту 3.0 появляется сообщение «Это устройство может работать быстрее…».
  • Процесс System и высокое потребление памяти в Windows 10.
  • Руководство по контролю учетных записей пользователей (UAC).
  • Пользователи Windows 10 Home теперь могут отключить автоматическое обновление приложений.
  • Как изменить приоритет задачи в Windows 10.
  • Как изменить приоритет загрузки задач в Windows 10.
  • Как удалить элементы из автозагрузки.
  • Как удалить элемент из контекстного меню.
  • Какие службы «можно» отключить в Windows 10.
  • Настройка окна Проводника в Windows 10.
  • Как зайти в реестр Windows 10.
  • Играет ли папка Prefetch какую-то роль в оптимизации работы Windows и приложений.
  • Как войти в безопасный режим Windows 10.
  • Как восстановить Windows 10 с помощью точек восстановления, если система не загружается.
  • Как добавить в контекстное меню Проводника Windows 10 опции для удаления программ.
  • Как заменить среду восстановления Windows 10 загрузочным образом Acronis True Image 2017.
  • Как использовать виртуальный рабочий стол в Windows 10.
  • Как удалить программы и приложения в Windows 10..html
  • Как включить в Windows 10 «режим бога».
  • Как скачать официальную Windows 10, обновить до нее ранние версии и установить с нуля без ключа продукта.
  • Как в Windows 10 отключить автоматическую отправку отчетов об ошибках программ.
  • Генерация нового ключа при обновлении до Windows 10.
  • Как откатиться с Windows 10 к предыдущей версии системы.
  • Как произвести чистую переустановку Windows 10 после обновления с Windows 7, 8.1.
  • Как скрыть раздел диска в Windows — 4 способа. .html http://сайт/2015/07/esd-esd-iso-windows-10.html Чистка реестра Windows 10: как почистить реестр Виндовс 10.