Что такое раид контроллер. FAQ по практической реализации RAID.

Дисковый массив с нотками ретро.

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

Что такое RAID-контроллер?

Чаще всего задачи, выполняемые серверами, требуют высокой скорости чтения/записи данных и/или необходимость сохранить данные при выходе из строя самих накопителей. Поэтому установка в сервер единственного диска редко имеет смысл. Этот вариант можно рассматривать, если нагрузка будет совсем небольшой, а сохранность данных не волнует вовсе. Да и объёмы информации, которыми оперируют серверы, часто требуют куда больше пространства для хранения, чем может дать один диск. А чем больше накопителей, тем выше вероятность выхода из строя, особенно при высокой нагрузке.

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

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

RAID-контроллеры делятся на:

  • Программные . Вся нагрузка по управлению массивом ложится на центральный процессор. Наименее производительное и отказоустойчивое решение.
  • Интегрированные . Встроены в материнскую плату. Отдельный чип выполняет часть задач по управлению, но всё же тоже задействует центральный процессор. Интегрированные контроллеры могут иметь собственную кэш-память. По сравнению с программными, поддерживают больше видов массивов, работают куда быстрее и надёжнее.
  • Аппаратные . Выполнены в виде плат расширения или отдельных устройств, размещаемых вне сервера (внешние, или мостовые контроллеры). Оснащены собственным процессором, выполняющим все необходимые вычисления, и, как правило, кэш-памятью. Модульные контроллеры могут иметь внешние и внутренние порты:
    • Внутренние - предназначены для подключения накопителей, установленных в сам сервер.
    • Внешние - используются для подключения внешних дисковых хранилищ.
Даже если ваш сервер оснащён интегрированным RAID-контроллером, то при необходимости можно будет установить и модульный, если имеющихся возможностей, скорости и надёжности вам будет недостаточно.

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

Чтобы при сбое питания не потерять данные, находящиеся в кэше, используется два разных подхода:

  • контроллер оснащается собственной батарейкой (BBU - Battery Backup Unit), позволяющей хранить данные в памяти до 3 суток,
  • либо дополнительной флэш-памятью, питаемой от ёмкого конденсатора. При сбое питания в неё выгружает содержимое кэша. А поскольку флэш-память потребляет очень мало энергии, то и данные в ней сохраняются месяцами. Обратите внимание, что флэш-память используется только при сбое питания.
И как только сервер заработает, контроллер первым делом скидывает содержимое кэша на диск. При наличии батарейки можно активировать режим WriteBack: при записи на диск контроллер сообщит об успешном выполнении операции уже в тот момент, когда данные попадут в кэш, а затем в «фоновом» режиме скинет их на диски. Поэтому другие процессы проведут меньше времени в ожидании подтверждения.

Некоторые RAID-контроллеры позволяют увеличить объём кэш-памяти и установить батарейку, если они её не имеют. Чем больше размер кэша контроллера, тем выше производительность RAID-массивов.

RAID-контроллеры в серверах «большой тройки»

Чтобы не превращать статью в археологическое исследование, ограничимся только теми контроллерами, что используются в поколениях серверов начиная с 2009-2010:

HP : Gen7, Gen8, Gen9
Dell : Gen11, Gen12, Gen13
IBM : M3, M4, M5











Большинство RAID-контроллеров HP и Dell изначально поддерживают все основные виды массивов. У IBM таких моделей - по пальцам пересчитать, почти в каждом случае придётся устанавливать на контроллер 1-2 дополнительных модуля апгрейда, что не слишком удобно.

Другая интересная особенность RAID-контроллеров IBM - большинство из них применяются в серверах нескольких поколений. У HP и Dell другая склонность - с выпуском нового поколения серверов они обычно выпускают и новое поколение контроллеров.

Как выбрать подходящий контроллер?

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

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

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

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

Метки: Добавить метки

После перехода SCSI на последовательные "рельсы" профессиональные и полупрофессиональные RAID-контроллеры заметно изменились. Параллельный интерфейс SCSI обеспечивает пропускную способность до 320 Мбайт/с, которая разделяется между всеми устройствами, подключёнными к шине с помощью дорогого и капризного кабеля. Интерфейс Serial Attached SCSI (SAS), напротив, поддерживает скорость 300 Мбайт/с на порт, многоканальные или одноканальные кабели, избыточные каналы, внешние и внутренние устройства. Контроллеры совместимы и с интерфейсом SATA, то есть вы можете использовать как ёмкие накопители SATA, так и высокопроизводительные винчестеры SAS. Наконец, переход с PCI-X на PCI Express идёт полным ходом. Как мы считаем, настало время рассмотреть четыре RAID-контроллера для серверов начального уровня.

Многие пользователи до сих пор интересуются, стоит ли покупать раздельный RAID-контроллер, учитывая наличие таких мощных интегрированных SATA-решений, как Intel ICH9R, которые можно обнаружить во многих топовых материнских платах, например, Asus P5K-WS (чипсет P35 с интерфейсом PCI-X) или P5K64-WS (четыре слота PCI Express). Поскольку производители оснащают свои топовые модели высококачественными стабилизаторами напряжения и лучшими компонентами, то разница в качестве между high-end настольной материнской платой и low-end серверным продуктом заключается только в наборе функций. При наличии шести портов SATA/300 на такой материнской плате, расширенных функций управления RAID и дву- или четырёхядерного процессора, который займётся и расчётом информации избыточности RAID 5, зачем покупать внешний дорогой RAID-контроллер?

Подобные интегрированные решения, вероятно, хорошо подойдут для небольшого сервера для рабочих групп, когда от массива требуется хранить данные проекта, пользовательскую информацию и приложения, но при росте нагрузки ограничения проявятся весьма быстро. Если вам требуются более сложные уровни RAID, такие, как RAID 50 или 60, то встроенные решения будут мало полезны. Или, скажем, если вам вдруг потребуется подключить больше шести винчестеров, придётся переходить на другой контроллер. А если вам нужно запустить массив во внешней оснастке, либо вы хотите получить весь набор функций управления жёсткими дисками, тогда SAS, устаревшие решения SCSI или другие собственные технологии производителей остаются единственно возможным выбором.

Мы определённо не рекомендуем собственные технологии производителей, которые ограничивают в выборе контроллера и оснастки. Вся необходимая информация о Serial Attached SCSI приведена в статье Тесты жёстких дисков и контроллеров SAS: дни SCSI сочтены , включая детали интерфейса, кабели, возможности расширения, оснастки, жёсткие диски, host-адаптеры и т.д. Винчестеры SAS последнего поколения обеспечат намного более высокую производительность, чем модели SATA, однако совместимость с SATA и гибкость использования является неплохой причиной, чтобы использовать унифицированный RAID-контроллер в вашей системе.



Сможете различить? Верхний разъём - SATA, а нижний принадлежит накопителю Seagate Savvio SAS.

Соединения SAS и SATA являются полнодуплексными коммутируемыми типа "точка-точка", то есть здесь уже нет необходимости присваивать каждому устройству свой ID или терминировать шину. Данные по соединению могут передаваться и приниматься одновременно. SAS и SATA поддерживают "горячее подключение". Для ускорения таких параллельных протоколов, как Ultra320 SCSI, требовалось либо расширить шину, что приводило к большему числу проводов, либо увеличить тактовые частоты, но при этом возникали проблемы с задержками сигнала. А последовательные соединения "точка-точка" могут просто использоваться совместно. Собственно, у SAS данный принцип как раз и используется, когда несколько соединений SAS комбинируются вместе для подключения внешних оснасток.

Существует только одно механическое различие между SAS и SATA: оба интерфейса используют одинаковую раскладку для данных и питания, но у SATA два разъёма физически разделены. У SAS оба разъёма соединены, то есть вы сможете подключать SATA-винчестер к SAS-контроллеру, но у вас не получится подключить SAS-накопитель к SATA-контроллеру через разъём SATA (SFF 8482). Работа винчестеров SATA на SAS-контроллере возможна по той причине, что протокол Serial ATA менее сложный и попросту туннелируется в SAS при передаче. Благодаря широким унифицированным разъёмам SAS физическое подключение выполняется весьма надёжно, разъёмы не могут случайно выпасть. Основная причина небольшой разницы в двух разъёмах заключается в расширенном наборе функций SAS, который вы не обнаружите у SATA-контроллеров: SAS поддерживает двухпортовые соединения, обеспечивая избыточное подключение жёсткого диска (необходимая опция для high-end хранилищ) и поддерживает так называемые экспандеры (расширители) для расширения устройств хранения, подобно тому, как сетевой коммутатор работает с несколькими клиентами.

Что касается производительности, то между двумя интерфейсами разница невелика. Serial ATA 2.5 обеспечивает максимальную пропускную способность 3 Гбит/с на порт с кодированием 8/10 бит, что даёт 2,4 Гбит/с или 300 Мбайт/с на порт для передачи данных. То же самое относится и к SAS, хотя в планах значится появление интерфейсов на 6 и 12 Гбит/с, что даст пропускную способность 600 и 1 200 Мбайт/с на порт.



SAS слева, SATA справа.


Для группировки портов SAS (обычно по четыре) используется разъём Mini SAS 4i (SFF-8087).

Тенденции винчестеров: наступление 2,5" моделей

Основная причина, почему 3,5" винчестеры продолжают доминировать в профессиональной сфере, заключается в физических габаритах, которые прекрасно соответствуют широким шлейфам SCSI. Однако меньший 2,5" форм-фактор намного более привлекателен, поскольку он сочетает высокие скорости вращения шпинделя с меньшей нагрузкой на компоненты из-за меньшего диаметра вращающихся пластин. Но сложные интерфейсы SCSI так и не смогли проникнуть в 2,5" мир. Интерфейс SAS изменил ситуацию: разъём SFF 8484 позволяет подключать 2,5" или 3,5" накопители, по протоколам SAS или SATA. 2,5" форм-фактор привлекательнее для производительных хранилищ, поскольку можно увеличить плотность расположения приводов, повышая пропускную способность и число операций ввода/вывода в секунду. В то же время, 2,5" винчестеры потребляют ощутимо меньше энергии, чем 3,5" модели. Энергопотребление становится серьёзной проблемой для профессиональных сфер и центров обработки данных, где используются десятки, сотни или даже тысячи жёстких дисков, и их требуется не только питать, но и охлаждать, что тоже требует немало энергии. Отсюда вполне понятно, что движущей силой 2,5" форм-фактора является цена.


Линейка Savvio от Seagate стала первой коммерчески успешной в секторе 2,5" винчестеров корпоративного уровня. Накопители Savvio 10K.2 сменили первые модели 10K.1, а винчестеры Savvio 15K.1 являются одними из самых производительных SAS-моделей на рынке. Мы не смогли получить восемь жёстких дисков Savvio 15K.1 вовремя, поэтому решили остановиться на восьми моделях Savvio 10K.2. Сегодня доступны варианты с ёмкостью 73 и 146 Гбайт. Мы выбрали меньший размер, чтобы наши тесты проводились за разумный промежуток времени. Винчестеры оснащены 16 Мбайт кэша, используют одну 2,5" пластину и интерфейс SAS на 3 Гбит/с. Как и другие накопители корпоративного уровня, они поставляются с пятилетней гарантией.

Как насчёт 3,5" моделей?

Они не умрут, но 3,5" винчестеры SAS будут постепенно вытесняться из корпоративного высокопроизводительного сектора, уступая место моделям с 2,5" форм-фактором. Если рассматривать высокую ёмкость, то SATA-модели на 7 200 об/мин остаются лучшим компромиссом между производительностью и ёмкостью, они уже достигли ёмкости в 1 Тбайт на жёсткий диск, а модели SAS и SCSI на 10 000 об/мин пока держатся на уровне 300 Гбайт. Чтобы удовлетворить потребности корпоративных хранилищ, все крупные производители жёстких дисков предлагают винчестеры SATA, валидированные для работы в режиме 24/7 с пятилетней гарантией. Хорошими примерами можно считать Seagate Barracuda ES , Hitachi UltraStar A7K1000 или E7K500, а также Western Digital RAID Edition (RE).


Прошивка: 5.2.0 Build 12415.

Первый RAID-контроллер в нашем тестировании - Adaptec RAID 3805. Эта компания дифференцирует продукты начального уровня и производительные решения, но нумерация данной модели требует некоторых пояснений. Каждый продукт, который начинается с цифры "3", как в данном случае, является унифицированной моделью SAS/SATA с пропускной способностью 3 Гбит/с на порт. Вторая цифра обозначает доступное число портов, то есть четыре для RAID 3405, восемь для RAID 3805 или 16 для RAID 31605. Если перед числом приводов стоит "0", то контроллер поддерживает внешние оснастки. Последняя цифра может быть "0" или "5", где "0" означает host-поддержку RAID, а "5" - аппаратное ускорение RAID 5 и RAID 6. Все унифицированные контроллеры используют интерфейс PCI Express, так что модели PCI-X остались в прошлом. Кстати, не следует путать RAID 3805 и RAID 3085, где последний является внешней картой с более скоростным процессором IOP.

RAID 3805 - современная модель с восемью портами SAS и аппаратным ускорением RAID для интерфейса PCI Express. Продукт позиционируется на начальный/средний уровень и может использоваться под большим числом ОС, включая все версии Windows, начиная с Windows 2000, а также Red Hat и SuSe Linux, Novell Netware, SCO Open Server, Sun Solaris, FreeBSD, UnixWare и VMware ESX Server. Контроллер для расчёта XOR-операций использует процессор Intel 80333 на частоте 500 МГц и оснащён 128 Мбайт памяти DDR2 с ECC. Благодаря низкопрофильному форм-фактору и двум разъёмам SFF 8487, каждый из которых обеспечивает четыре порта по одному физическому соединению, RAID 3805 можно устанавливать в компактные серверы 1U, которые имеют слот x4 PCI Express.

Adaptec поддерживает режимы RAID 0, 1, 1E (аналогичен RAID 10), 5, 5EE (с запасным жёстким диском/hot spare), 6, 10, 50, 60 и JBOD, что даёт администраторам определённую гибкость. Что касается функций, то список длинный, включая все привычные функции RAID - онлайновое расширение ёмкости, миграция уровней RAID, быстрая/фоновая инициализация, поддержка "родной" очереди команд (NCQ), разные режимы указания запасных/spare дисков (global/dedicated/pooled), работа с оснастками через SCSI-accessed Fault-Tolerant Enclosure (SAFTE), отложенное время раскрутки шпинделя и т.д. Среди любопытных функций отметим так называемую "copyback hot spare", которая после замены вышедшего из строя винчестера превращает новый жёсткий диск как бы в прежний. Так что метки дисков в оснастке менять не придётся. В таблице ниже мы сравнили функции трёх контроллеров.

В комплект поставки входят контроллер, низкопрофильная заглушка для слота, краткая инструкция по установке на нескольких языках, CD с программным обеспечением, а также два четырёхпортовых кабеля Mini SAS на SATA/SAS стандартов SFF 8487 и SFF 8484. Есть опциональный модуль аккумулятора, который позволяет сохранять в оперативной памяти кэшированные данные после потери питания. Компания решила отказаться от продажи пакета Advanced Data Protection (поддержка RAID 6 и дополнительных функций) в виде опционального обновления. Но резервирование через снимки (snapshot backup) будет доступно только после покупки регистрационного ключа. На RAID-контроллер даётся трёхлетняя гарантия.

На момент публикации Adaptec RAID 3805 стоил $600.




Нажмите на картинку для увеличения.


Atto выпускает два контроллера RAID 5 SAS/SATA с интерфейсом PCI Express: R380, с двумя внешними портами, по четыре накопителя каждый, и R348, с одним портом для четырёх внешних накопителей (SFF 8088) и двумя портами для поддержки до восьми внутренних винчестеров (SFF 8087). Впрочем, вы можете использовать, максимум, восемь портов, считая внутренние и внешние. По информации на сайте Atto, данная функция является уникальной. Мы решили протестировать R348, поскольку данная модель более гибкая, чем R380.

Сначала о недостатках: этот контроллер не поддерживает RAID 6, и он не имеет столь широкой поддержки ОС, как модели Adaptec. Кроме того, на него даётся двухлетняя гарантия, хотя Adaptec, ICP и Ciprico/Raidcore дают три года. Нам сообщили также и о том, что настройки контроллера по умолчанию могут не давать оптимальную производительность, но, к сожалению, уже после того, как мы завершили тесты. Функция под названием "RGSSpeedRead" позволяет выполнять упреждающее чтение с массивов RAID, но её требуется включать через командный интерфейс. Мы обнаружили краткое описание этой функции на последних страницах инструкции. У нас не было времени на повторение всех тестов, но после включения "RGSSpeedRead" скорость чтения действительно возрастает. Обидно, что Atto не включила эту функцию на заводе. Или не посвятила отдельную главу в инструкции оптимизации производительности. R348 имеет интерфейс на Java, который прост в использовании, но не даёт большого числа опций. Мы также не понимаем, почему пользователи должны обязательно зарегистрироваться в Atto перед тем, как что-либо скачивать.

Как и другие контроллеры, Express SAS R348 - низкопрофильная карта PCI Express, использующая восемь линий PCIe. Но в отличие от карт Adaptec и ICP, она оснащена 256 Мбайт памяти DDR2 с поддержкой ECC. Кроме того, используется более мощный процессор XScale IOP 348 на частоте 800 МГц. Он обеспечил хорошие, хотя и не великолепные результаты в тестах ввода/вывода.

Что касается функций, то RAID-контроллер Atto поддерживает все основные режимы RAID: 0, 1, 10, 5, 50. Он может работать в режиме JBOD и даже в RAID 4, который хранит всю информацию избыточности на одном жёстком диске. Но, в отличие от RAID 3, массив RAID 4 создаёт stripe-блоки большего размера, а не однобайтовые блоки, как у RAID 3, что даёт RAID 4 прирост производительности по сравнению с RAID 3. Уровни RAID 6 и 60 пока не поддерживаются, но Atto обещает, что вскоре они будут добавлены. То же самое касается и опционального аккумулятора, который пока не доступен. Поддерживаются ОС Windows Server 2003, Windows 2000, Windows XP и Windows Vista, Max OS X 10.4, а также три разных дистрибутива Linux, но из списка исключены Solaris, FreeBSD и Netware.



Нажмите на картинку для увеличения.
Нажмите на картинку для увеличения.


Версия прошивки: 5.2.0 Build 12415.

Данный продукт технически идентичен Adaptec RAID 3805, в основном по той причине, что ICP Vortex входит в группу компаний Adaptec. Полученный нами образец не поддерживал RAID 6 и функцию "copyback", что было связано с устаревшей прошивкой. Обновление добавило поддержку RAID 6 и "copyback spare". Впрочем, между Adaptec RAID 3805 и ICP 5085BL есть серьёзное отличие: ICP используется более скоростной процессор IOP333 на 800 МГц, а у Adaptec RAID 3805 он работает на частоте 500 МГц. ICP использует 256 Мбайт кэш-памяти DDR2 с поддержкой ECC, а у Adaptec её объём ограничен 128 Мбайт. В результате мы получаем в тестах более высокую производительность в RAID 5. Набор функций, ПО и содержимое комплекта поставки идентичны контроллеру Adaptec.



Нажмите на картинку для увеличения.



Нажмите на картинку для увеличения.


Версия прошивки: 3.0.0.

Наше первое знакомство с контроллерами Raidcore состоялось ещё в 2003 году и оказалось весьма впечатляющим: host-контроллер использует архитектуру под названием Fulcrum, которая позволяет создавать мощные RAID-контроллеры, независимые от аппаратного уровня. В результате Raidcore оказалась одной из первых компаний, кто предложил решения с поддержкой распределения RAID-массивов по нескольким контроллерам . Это стало возможно благодаря специальной логике, которая работает на host-машине. Но есть и недостаток - все расчёты информации избыточности должны выполняться центральным процессорам host-системы, хотя сегодня, с появлением дву- и четырёхядерных процессоров, это уже не такая острая проблема.

Современные решения Raidcore продвигает компания под названием Ciprico. В линейке RC5000 есть четыре разные модели: две низкопрофильные карты с четырьмя и восемью портами, а также две карты с полной высотой на 12 и 16 портов. Цифра "8" как раз и обозначает наличие восьми портов, модели 5100 используют интерфейс PCI-X, а 5200 - PCI Express x1 или x4. Ciprico является единственным производителем, обеспечивающим распределение массива по нескольким контроллерам (controller spanning), в результате чего можно создавать большие RAID-массивы на нескольких (и даже разных) контроллерах Raidcore. Список функций более полный, чем у Adaptec/ICP или Atto, включая роуминг дисков (перевод винчестеров на любой порт любого контроллера), гибкое расположение дисков для замены/spare (dedicated/global/distributed), разделение зеркал (mirror splitting), скрытие массива (array hiding) и т.д.

Raidcore пока не поддерживает массивы с двойной избыточностью RAID 6 или RAID 60, но есть поддержка RAID 0, 1, 10, JBOD, 5, 50, 1n и 10n. Драйверы доступны под все распространённые версии Windows, Red Hat, Suse и Fedora Linux. Novell Netware, Sun Solaris и другие ОС не поддерживаются. Ciprico даёт трёхлетнюю гарантию, да и программное обеспечение управления весьма логичное и мощное. Производительность RC5252-8 оказалось хорошей, хотя она во многом зависит от host-системы. В нашем случае один двуядерный процессор Xeon (ядро Nocona) на частоте 3,6 ГГц оказался хорошим выбором. Впрочем, любой двуядерный Xeon 5200 (Woodcrest или Clovertown) даст ещё более высокую производительность.




Нажмите на картинку для увеличения.


Производитель Adaptec Atto ICP Raidcore
Модель RAID 3805 ExpressSAS R348 RC5252-8
Внутренние разъёмы 2x SFF 8087 2x SFF 8087 2x SFF 8087 2x SFF 8087
Внешние разъёмы Н/Д 1x SFF 8088 Н/Д Н/Д
Общее число портов SAS 8 8 8 8
Кэш-память 128 Мбайт DDR2 ECC 256 Мбайт DDR2 ECC 256 Мбайт DDR2 ECC Нет
Интерфейс PCI Express x4 PCI Express x8 PCI Express x4 PCI Express x4
XOR-движок Intel 80333 500 МГц IOP 348 800 МГц Intel 80333 800 МГц Программный
Миграция уровней RAID Да Да Да
Онлайновое расширение ёмкости Да Да Да Да
Несколько массивов RAID Да Да Да Да
Отложенная раскрутка шпинделя Да Да Да
Гибкая поддержка запасного/ spare винчестера Да Да Да Да
Автоматическое преодоление сбоя (Automatic Failover) Да Да
Аккумулятор для резервного питания Опционально Опционально Опционально Не нужен, кэша нет
Вентилятор Нет Нет Нет Нет
Поддержка ОС

Novell NetWare 6.5
SCO OpenServer
UnixWare
Sun Solaris 10 x86
FreeBSD
Windows Vista, Server 2003, XP, 2000
Mac OS X (10.4.x)
Linux (Fedora, Red Hat and SuSE)
Windows 2000, XP, Server 2003, Vista
Red Hat Enterprise Linux (RHEL)
SUSE Linux Enterprise Server (SLES)
Novell NetWare 6.5
SCO OpenServerUnixWare
Sun Solaris 10 x86
FreeBSD
Windows 2000, XP, Server 2003, Vista
Red Hat Enterprise Linux (RHEL) 4,5
SuSE 9.3, 10.1, 10.2
SUSE Linux Enterprise Server (SLES)
Fedora Core 5,6
Прочее Copyback DVRAID Copyback Controller Spanning
Гарантия 3 года 2 года 3 года 3 года
Рекомендованная розничная цена $575 $1 095 $650

Системное аппаратное обеспечение
Процессоры 2x Intel Xeon (ядро Nocona), 3,6 ГГц, FSB800, 1 Мбайт кэша L2
Платформа Asus NCL-DS (Socket 604), чипсет Intel E7520, BIOS 1005
Память Corsair CM72DD512AR-400 (DDR2-400 ECC, reg.), 2x 512 Мбайт, задержки CL3-3-3-10
Системный жёсткий диск Western Digital Caviar WD1200JB, 120 Гбайт, 7 200 об/мин, кэш 8 Мбайт, UltraATA/100
Контроллеры накопителей Intel 82801EB UltraATA/100 (ICH5)
Promise SATA 300TX4
Promise FastTrak TX4310
Драйвер 2.06.1.310
Сеть Broadcom BCM5721 встроенная 1 Гбит/с
Видеокарта Встроенная ATI RageXL, 8 Мбайт
Тесты
Тесты производительности Atto Diskmark
Производительность ввода/вывода IOMeter 2003.05.10
Fileserver Benchmark
Webserver Benchmark
Database Benchmark
Workstation Benchmark
Системное ПО и драйверы
ОС Microsoft Windows Server 2003 Enterprise Edition,Service Pack 1
Драйвер платформы Intel Chipset Installation Utility 7.0.0.1025
Графический драйвер Графический драйвер Windows по умолчанию


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

Время инициализации RAID

Мы использовали восемь винчестеров Seagate Savvio 10K.2 и определяли время, которое требовалось контроллерам на создание массивов RAID 5 или RAID 6.

Контроллер RAID 5 RAID 6
1 час 12 минут 1 час 2 минуты
Atto 23 минуты Н/Д
57 минут 57 минут
2 часа 42 минуты

Вполне понятно, что контроллеры с самыми быстрыми XOR-процессорами оказались самыми быстрыми. Впрочем, все контроллеры поддерживают фоновую инициализацию, которая снижает производительность, но позволяет сразу же пользоваться массивом.



Пропускная способность пониженного RAID 6






Все четыре контроллера весьма мощные и обеспечивают высокую производительность хранилища и большой набор функций, позволяющих создавать гибкие и высокопроизводительные массивы для серверов среднего и начального уровней. Все контроллеры имеют восемь портов SAS, но к ним можно подключать и винчестеры SATA, включая смешанные варианты SAS/SATA. С помощью расширителей SAS (expander) вы можете подключать большее количество винчестеров. Как мы считаем, четыре рассмотренных контроллера подходят для подключения вплоть до 12 жёстких дисков, поскольку большинство моделей нацелены на внутренние жёсткие диски. Если вы хотите подключать внешние оснастки, то обратите внимание на модели с внешними портами Mini-SAS.

Контроллер ICP 5085BL очень близок к Adaptec RAID 3805, но обеспечивает более высокую производительность благодаря более быстрому XOR-процессору и в два раза большему объёму кэш-памяти. Впрочем, и цена несколько выше: рекомендованная $650 вместо $575 у Adaptec RAID 3805. Обе карты дают впечатляющий набор функций и поставляются с полным набором ПО, который за последние годы немало улучшился. Не будем забывать, что Adaptec - один из самых именитых игроков на рынке профессиональных систем хранения. Atto запрашивает за свой контроллер $1 095, причём за такую цену вы получите меньшее число функций RAID (за исключением поддержки RAID 4), да и вам потребуется выполнить дополнительную настройку контроллера, чтобы он работал быстрее. Ничего страшного, но при настройках по умолчанию выключена функция, ускоряющая производительность чтения. Контроллер даёт хорошие результаты с пониженным массивом RAID 5, поскольку производительность записи не падает, в отличие от других продуктов.

Raidcore поставляет наиболее функциональное программное обеспечение, что является результатом другой архитектуры: она привязана к host-машине и зависит от её производительности. К сожалению, Raidcore пока не поддерживает RAID 6 (собственно, как и Atto), но вы можете распределять массивы RAID по нескольким контроллерам Raidcore, при этом уровень производительности в тестах ввода/вывода на нашем двухпроцессорном сервере Xeon оказался великолепным. Скорости передачи данных были тоже высоки, но другие контроллеры обычно обходят Raidcore в данной дисциплине.

Если вы не против того, чтобы контроллер нагружал host-сервер расчётами XOR и список поддерживаемых ОС вас устраивает, то модель Ciprico/Raidcore обеспечит великолепное соотношение цена/качество. Впрочем, Adaptec даёт более высокую производительность во многих областях, да и цена $575 тоже вполне разумная.

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

Рис. 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).


Само слово RAID читается (рэйд) означает Reduntant array of independent disks –избыточный массив независимых дисков. На данном этапе развития технологий RAID это совокупность программно-аппаратных средств. Если говорить простым языком, то некоторое количество винчестеров (жесткий диск) представляется как один жесткий диск, средствами программных или аппаратных взаимосвязей. Напрашивается вопрос, а для чего он собственно нужен? Основная задача RAID-массива увеличить скорость обмена данных и увеличить надежность хранения, а особенно ценно,когда два этих качества сливаются воедино.
Немного истории: первое упоминание о RAID-массиве мы нашли в 1987 году. Одна из крупных корпораций разработала технологию RAID и внедрила её в свои информационные системы. Хорошие технологии приживаются быстро и RAID не стал исключением. Конечно в далекие 80-е обычные пользователи не могли и мечтать об этом, но компании обладающие большими денежными ресурсами, обязательно внедряли технологию надежности и скорости в свои IT проекты.
Но прогресс не стоит на месте, всё меняется жесткие диски дешевеют, технологии развиваются, и RAID стал гораздо доступнее. Через 20 лет после разработки, RAID-контроллерами стали оснащать материнские платы домашних компьютеров.

Как работает RAID контроллер?

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

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


Рисунок 1 RAID 0
Особенности RAID 0:
1.Высокая скорость чтения записи данных
2.Общая емкость массива равна сумме емкостей всех жестких дисков
3.Очень низкая надежность хранения данных.
Область приминения: быстрая обработка больших объемов информации.

RAID 1 – другая простая архитектура построения массивов. Производиться полностью идентичная запись данных на все жесткие диски. Скорость работы массива немного выше чем у отдельно взятых винчестеров
Рисунок 2 RAID 1
Особенности RAID 1
1. Высокая степень надежности
2. Высокая стоимость 1 мб информации.
Область приминения: Хранение и невозможность утери ценной информации.

RAID 2 – этот уровень на практике не используется, так как его описание гласит о массивах, состоящих из 14 или 39 винчестерах. На нем заострять ваше внимание мы не будем.

RAID 3 – массив состоящий минимум из трех дисков. Первые два диска это не что иное как массив RAID 0, в которых запись информации происходит поочередно, а на третий диск записывается код четности. Он нужен для того чтобы контролировать и в случае необходимости восстановить данные с поврежденного жесткого диска.
Представим абстракцию, что:
х- первый жесткий диск
y – второй жесткий диск
z – контрольная сумма х и у
Получаем уравнение:
z=x+y;
При поломке жесткого диска х, у нас получается уравнение, которое легко решить:
x=z-y, где z контрольная сумма записывающаяся на третий жесткий диск.



Рисунок 3. RAID3
При поломке третьего жесткого диска на котором храниться контрольные суммы, система пересчитывает контрольные суммы по данным из первых двух дисков.
Особенности RAID 3:
1. Высокая скорость чтения записи данных
2. Высокая степень надежности
3. стоимость сборки дороже, чем у RAID 0 и RAID 1
RAID 4 – практически точная копия массива RAID 3, разница заключается в размерах блоков которые записываются на винчестеры. Такое устройство массива немного увеличивает скорость чтения данных при обращении к массиву, но RAID 4 использует большой объем оперативной памяти, что не хорошо сказывается на общей производительности системы. Соотнося все «за» и «против» компании производители не стали делать ставку на этот уровень RAID массива.
RAID 5 – архитектура построения RAID – массива схожая с RAID 3. В данном случае контрольная сумма данных попарно записываются в каждый из жестких дисков.



Рисунок 4. RAID5

Как будут чередоваться блоки данных и четности зависит от RAID контроллера. Именно этот массив из-за его универсальности получил широкое применение в высокопроизводительных и надежных системах.
Несколько слов о RAID 6 в данном массиве контрольная сумма вычисляется дважды и копируется сразу на два жестких диска, что дает возможность восстановить информацию при одновременном уничтожении двух жестких дисков из трёх.
Особенности RAID 6:
1. Самая высокая надежность
2. Дороговизна данной архитектуры построения RAID массива.
Наконец мы добрались до чень распространенных в домашних компьютерах составных массивов. MULTI-RAID.
Главная их особенность в совмещении двух уровней.
RAID 0+1 – чередование нескольких двухдисковых массивов RAID 1.
RAID 1+0 – копирование массива RAID 0 на другой такой же.
В данных видах мульти массивов идет распределение потоков данных
RAID 5+0 (RAID50) – чередование массивов 5 уровня
RAID 6+0 (RAID60) – чередование массивов 6 уровня.

Поговорим о Raid контроллерах.


Современные RAID контроллеры поддерживают сразу несколько уровней RAID массивов (0,1,10,5,6,50,60) и несут на своем борту до 8 портов SATA или SCSI. Встроенные в материнские платы контроллеры обычно являются частью чипсета, но могут быть и самостоятельными чипами. В контроллер вшита микропрограмма, которая и осуществляет создание массива.
Рассмотрим типичную процедуру создания RAID массива:
1. При первоначальной загрузке компьютера нажимаем сочетание клавиш вызывающее программу настройки RAID. Обычно это ctrl+1.
2. В появившемся меню выбираем пункт «Создать массив» (create array) .
3. Выбираем физические жесткие диски, которые будут являться составными частями RAID массива.
4. Выбираем тип массива из предложенных вариантов.
5. Указываем размер блока чередования (Block size)
Иногда контроллер предлагает из пунктов:
- Оптимальный массив для лучшей производительности (создается RAID 0)
Optimize array for performance
- Оптимальный массив для лучшей безопасности (создается RAID 1)
Optimize array for security
- Оптимальный массив для составного массива (создается JBOD)
Optimize array for capacity.
При выборе любого из вышеуказанных пунктов в массиве используется все найденные винчестеры и устанавливаются все настройки по умолчанию.

RAID массив с программной реализацией

Как мы говорили ранее RAID это программно-аппаратная технология. Давайте остановимся на программной реализации и узнаем подробности. В программной реализации RAID формируется из дисков, которые подключаются к контроллеру SATA или IDE (Под SATA и IDE здесь понимается интерфейс взаимосвязи). Данный вид массивов с программным RAID сейчас поддерживается во всех операционных системах от windows XP до Windows 7.

Для того чтобы создать программный массив нам необходимы вспомогательные утилиты (программы):
-консоль "управления дисками"
-"управление компьютером"
- discpart
Для преобразования нескольких дисков в RAID массив делаем следующее:
1. Правой кнопкой мыши щелкаем по папке «Мой компьютер» по нужному физическому диску и в контекстном меню выбираем пункт «Преобразовать в динамический диск». После выполнения всех операций операционная система начнет рассматривать диски как обычные динамические тома.
2. Не менее чем из двух динамических томов, на разных жестких дисках можно создать составной том, который в свою очередь включает в себя до 32 динамических дисков. То что у нас получиться будет называться программным RAID 1
3. Чтобы получить программный аналог RAID 0 после преобразования дисков в динамические, выбираем команду «создание чередующихся томов» всё в том же контекстном меню. Все сведения о созданном массиве будут храниться в реестре Windows.
Особенности программного RAID:
+ Возможное создание массива без RAID-контроллера.
- Уменьшение быстродействия работы компьютера за счет увидичения потребления ресурсов.
Почему теряются данные? Или чем отличается повреждение от разрушения массива.
Повреждение данных – как правило возникает при выявленных логических ошибок на составных дисках массива. В этом случае сам RAID контроллер работает стабильно, хотя и может выдавать какие-либо ошибки. О повреждении массива также можно судить, когда RAID говорит Вам о его неформатированности. Физические или логические ошибки это совсем не страшное событие от которых стоит рвать волосы на голове, ведь сам RAID – массив для того и создавался, чтобы сохранить данные в таких ситуациях. Порядок действия здесь прост?
- контроллер выдает информацию, о том какой винчестер следует заменить.
-мы меняем испорченный винчестер на новый
-контроллер после замены диска предлагает включить в массив и воссоздать данные с оставшихся работающих дисков.(команда REBUILD ARRAY)
Разрушение массива – почти всегда потеря конфигурационных данных о массиве контроллером. Это более опасная ситуация. Жесткие диски, находившиеся в массиве, обнаруживаются просто как отдельные диски. В утилите «управление дисками» винчестеры показываются с неизвестной файловой системой или неформатированными.
Неработающий контроллер ведет к разрушению массива, для RAID 0 это критическая ситуация, здесь есть два пути решения проблемы:
1.Найти полностью аналогичный контроллер.
2. Прибегнуть к помощи программных методов извлечения данных.
Первый способ довольно проблематичен, так как найти контроллер выпущенный несколько лет назад в практически невозможно.
Итак, если при запуске компьютера, винчестеры из RAID массива отказываются работать, делаем следующее:
1. Читаем что пишет нам контроллер при запуске операционной системы.
2. Читаем что выдает консоль «Управление дисками»
3. Выключаем машину, снимаем жесткие диски из RAID –массива, при этом не забываем пронумеровать или пометить диски, для дальнейшего восстановления массива.
4. Проводим диагностику винчестеров и восстанавливаем доступ к диску.
5. С помощью программ восстанавливаем данные с жестких дисков.(таких как R-studio и File scavenger)

В интернете есть масса статей с описанием RAID. Например, эта описывает все очень подробно. Но как обычно, читать все не хватает времени, поэтому надо что-нибудь коротенькое для понимания - а надо оно или нет, и что лучше использовать применительно к работе с СУБД (InterBase, Firebird или что то иное - на самом деле все равно). Перед вашими глазами - именно такой материал.

В первом приближении RAID это объединение дисков в один массив. SATA, SAS, SCSI, SSD - неважно. Более того, практически каждая нормальная материнская плата сейчас поддерживает возможность организации SATA RAID. Пройдемся по списку, какие бывают RAID и зачем они. (Хотел бы сразу заметить, что в RAID нужно объединять одинаковые диски. Объединение дисков от разных производителей, от одного но разных типов, или разных размеров - это баловство для человека, сидящего на домашнем компьютере).

RAID 0 (Stripe)

Грубо говоря, это последовательное объединение двух (или более) физических дисков в один "физический" диск. Годится разве что для организации огромных дисковых пространств, например, для тех, кто работает с редактированием видео. Базы данных на таких дисках держать нет смысла - в самом деле, если даже у вас база данных имеет размер 50 гигабайт, то почему вы купили два диска размером по 40 гигабайт, а не 1 на 80 гигабайт? Хуже всего то, что в RAID 0 любой отказ одного из дисков ведет к полной неработоспособности такого RAID, потому что данные записываются поочередно на оба диска, и соответственно, RAID 0 не имеет средств для восстановления в случае сбоев.

Конечно, RAID 0 дает ускорение в работе из-за чередования чтения/записи.

RAID 0 часто используют для размещения временных файлов.

RAID 1 (Mirror)

Зеркалирование дисков. Если Shadow в IB/FB это программное зеркалирование (см. Operations Guide.pdf), то RAID 1 - аппаратное зеркалирование, и ничего более. Упаси вас от использования программного зеркалирования средствами ОС или сторонним ПО. Надо или "железный" RAID 1, или shadow.

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

Насчет производительности - по записи выигрыш 0, по чтению - возможно до 1.5 раз, т. к. чтение может производиться "параллельно" (поочередно с разных дисков) . Для баз данных ускорение мало, в то время как при параллельном обращении к разным (!) частям (файлам) диска ускорение будет абсолютно точно.

RAID 1+0

Под RAID 1+0 имеют в виду вариант RAID 10, когда два RAID 1 объединяются в RAID 0. Вариант, когда два RAID 0 объединяются в RAID 1 называется RAID 0+1, и "снаружи" представляет собой тот же RAID 10.

RAID 2-3-4

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

RAID 5

Для него нужно минимально 3 диска. Данные четности распределяются по всем дискам массива

Обычно говорится, что "RAID5 использует независимый доступ к дискам, так что запросы к разным дискам могут выполняться параллельно". Следует иметь в виду, что речь идет, конечно, о параллельных запросах на ввод-вывод. Если такие запросы идут последовательно (в SuperServer), то конечно, эффекта распараллеливания доступа на RAID 5 вы не получите. Разумеется, RAID5 даст прирост производительности, если с массивом будут работать операционная система и другие приложения (например, на нем будет находиться виртуальная память, TEMP и т. п.).

Вообще RAID 5 раньше был наиболее часто используемым массивом дисков для работы с СУБД. Сейчас такой массив можно организовать и на SATA дисках, причем он получится существенно дешевле, чем на SCSI. Цены и контроллеры вы можете посмотреть в статьях
Причем, следует обратить внимание на объем покупаемых дисков - например, в одной из упомянутых статей RAID5 собирается из 4-х дисков объемом 34 гиг, при этом объем "диска" получается 103 гигабайта.

Тестирование пяти контроллеров SATA RAID -