Что такое раид контроллер. Типы RAID-контроллеров

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

Что такое RAID, и для чего он нужен

RAID - дисковый массив из нескольких жестких дисков. Практически RAID-массив представляет собой систему, насчитывающую от двух жестких дисков, подключенных к материнской плате, поддерживающей возможность создания массивов (или же к raid-контроллеру). Что такое RAID-контроллер? Устройство, управляющее вашим массивом и сопутствующими работе процессами. Обычно их используют на серверных машинах. Рядовым пользователям такая игрушка малополезна - недёшево и малоэффективно, учитывая объемы информации, обрабатываемые рядовым компьютером. При создании RAID-массива аппаратно начинка вашего компьютера не изменится. Программно вся работа с рейдом проводится в bios-е, то есть ничего трудоемкого.

SCSI RAID: отличие от классического массива

SCSI - это интерфейс, физический тип подключения устройства. Он отличается от привычных нам интерфейсов IDE или SATA, в первую очередь, другим алгоритмом работы, что обеспечивает более высокую скорость, и завышенной, относительно последних, ценой. Распространение получил на масштабных серверных машинах, среди рядовых компьютеров устанавливается редко.

Установка RAID-массива

  1. Находим материнскую плату с поддержкой рейд-массивов или SCSI RAID.
  2. Берем два абсолютно одинаковых диска, подключаем.
  3. Заходим в bios (зависит от модели мат. платы).
  4. Параметр SATA Configuration, выставляем RAID.
  5. В процессе загрузки компьютера нажимаем Ctrl + I.
  6. Настраиваем рейд.

Готово! Важно: при создании RAID-массивов вся информация с дисков удаляется!

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

  • RAID 0 - дисковый массив для повышения производительности.
  • RAID 1 - "зеркальный" дисковый массив.
  • RAID 2 - массивы, которые используют код Хемминга.
  • RAID 3 и 4 - массивы дисков с чередованием и выделенным диском чётности.
  • RAID 5 - диски с чередованием и невыделенным диском чётности.
  • RAID 6 - диски с чередованием и 2-мя независимыми чётностями.
  • Существуют еще рейды 10, 50, 60. Но это слишком сложные конструкции.

Подробнее остановимся на двух самых популярных версия рейд-массивов. Это, соответственно, RAID 0 и RAID 1. Для чего нужен RAID 0? Все не так сложно. Принцип работы массива заключается в параллельной работе разных физических устройств, выдаваемых системе за одно. То есть, это напрямую повышает скорость работы системы, просто представьте: в вашем raid 0 массиве участвуют два диска. Вы записываете данные объемом 10 гигабайт. Если бы у вас не был создан массив, то пришлось бы записывать их на конкретный диск, второй же при этом обязательно простаивал. В случае с рейд 0 массивом ваши данные побайтово делятся на несколько потоков, и также записываются на носитель рандомно. То есть, один фильм может храниться на двух физических устройствах одновременно, причем на одном будет лишь 30% от его "веса". Минус RAID 0 в отсутствии отказоустойчивости. Более того, если из строя выходит один диск, то данные со второго вам тоже не удастся восстановить.

Теперь поговорим про RAID 1. В случае с этим массивом вам придется использовать несколько дополнительных дисков для "зеркального копирования". Если у вас участвует лишь два диска в массиве, то выглядит это так: вы работаете с диском номер 1, а компьютер дублирует все ваши действия для диска 2. В случае отказа устройства все ваши данные будут в целости и сохранности находиться на дублирующем диске. Безопасно, несомненно. Минусом рейд 1 можно назвать потерю производительности.

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

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

Не вдаваясь в детали терминологии, Raid массив — это некий комплекс, построенный из нескольких жестких дисков, который позволяет более грамотно распределять между ними функции. Как обычно мы размещаем жесткие диски в компе? Подключаем к Sata один жесткий диск, потом другой, третий. И появляются в нашей операционке диски D, E, F и так далее. Мы можем поместить на них какие-то файлы или установить Windows, но по сути это будут отдельные диски — вынув один из них мы ровным счетом ничего не заметим (если на нем не была установлена ОС) кроме того, что нам не будут доступны записанные на них файлы. Но есть другой путь — объединить эти диски в систему, задать им определенный алгоритм совместной работы, в результате которого значительно повысится надежность хранения информации или скорость их работы.

Но прежде, чем мы сможем создать эту систему, нужно знать, поддерживает ли материнская плата работу с дисковыми массивами Raid. Во многих современных материнках уже имеется встроенный Raid-контроллер, который-то и позволяет объединить жесткие диски. Поддерживаемые схемы массивов имеются в описаниях к материнской плате. Например, возьмем первую попавшуюся мне на глаза в Яндекс Маркете плату ASRock P45R2000-WiFi.

Здесь описание поддерживаемых Raid массивов отображается в разделе «Дисковые контроллеры Sata».


В данном примере мы видим, что Sata контроллер поддерживает создание массивов Raid: 0, 1, 5, 10. Что означают эти цифры? Это обозначение различных типов массивов, в которых диски взаимодействуют между собой по разным схемам, которые призваны, как я уже говорил, либо ускорять их работу, либо увеличивают надежность от потери данных.

Если же системная плата компьютера не поддерживает Raid, то можно приобрести отдельный Raid-контроллер в виде PCI платы, которая вставляется в PCI слот на материнке и дает ей возможность создавать массивы из дисков. Для работы контроллера после его установки нужно будет также установить raid драйвер, который либо идет на диске с данной моделью, либо можно просто скачать из интернета. Лучше всего на данном устройстве не экономить и купить от какого-то известного производителя, например Asus, и с чипсетами Intel.


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

Массив RAID 1

Массив Raid 1 — один из самых распространенных и бюджетных вариантов, который использует 2 жестких диска. Этот массив призван обеспечить максимальную защиту данных пользователя, потому что все файлы будут одновременно копироваться сразу на 2 жестких диска. Для того, чтобы его создать, берем два одинаковых по объему харда, например по 500 Гб и делаем соответствующие настройки в BIOS для создания массива. После этого в вашей системе будет виден один жесткий диск размеров не 1 Тб, а 500 Гб, хотя физически работают два жестких диска — формула расчета приведена чуть ниже. И все файлы одновременно будут писаться на два диска, то есть второй будет полной резервной копией первого. Как вы понимаете, при выходе из строя одного из дисков вы не потеряете ни частички своей информации, так как у вас будет вторая копия этого диска.

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

Объем диска, который будет видеть система, рассчитывается здесь по формуле:


V = 1 x Vmin, где V — это общий объем, а Vmin — объем памяти самого маленького жесткого диска.

Массив RAID 0

Еще одна популярная схема, которая призвана повысить не надежность хранения, а наоборот, скорость работы. Также состоит из двух HDD, однако в этом случае ОС видим уже полный суммарный объем двух дисков, т.е. если объединить в Raid 0 диски по 500 Гб, то система увидит один диск размером 1 Тб. Скорость чтения и записи повышается за счет того, что блоки файлов пишутся поочередно на два диска — но при этом отказоустойчивость данной системы минимальная — при выходе из строя одного из дисков почти все файлы будут повреждены и вы потеряете часть данных — ту, которая была записана на сломавшийся диск. Восстанавливать информацию после этого придется уже в сервисном центре.

Формула расчета общего объема диска, видимого Windows, выглядит так:

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

Массив Raid 10 (0+1)

Как следует уже из самого названия, этот тип массива объединяет в себе свойства двух предыдущих — это как бы два массива Raid 0, объединенных в Raid 1. Используются четыре жестких диска, на два из них информация записывается блоками поочередно, как это было в Raid 0, а на два других — создаются полные копии двух первых. Система очень надежная и при этом достаточно скоростная, однако весьма дорогая в организации. Для создания нужно 4 HDD, при этом система будет видеть общий объем по формуле:

То есть, если возьмем 4 диска по 500 Гб, то система увидит 1 диск размером 1 Тб.

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

Массив RAID 5

Массив Raid 5 — оптимальное сочетание цены, скорости и надежности. В данном массиве минимально могут быть задействованы 3 HDD, объем рассчитывается из более сложной формулы:

V = N x Vmin — 1 x Vmin, где N — количество жестких дисков.

Итак, допустим у нас 3 диска по 500 Гб. Объем, видимый ОС, будет равен 1 Тб.

Схема работы массива выглядит следующим образом: на первые два диска (или три, в зависимости от их количества) записываются блоки разделенных файлов, а на третий (или четвертый) — контрольная сумма первых двух (или трех). Таким образом, при отказе одного из дисков, его содержимое легко восстановить за счет имеющейся на последнем диске контрольной суммы. Производительность такого массива ниже, чем у Raid 0, но такая же надежная, как Raid 1 или Raid 10 и при этом дешевле последнего, т.к. можно сэкономить на четвертом харде.

На схеме ниже представлена схема Raid 5 из четырех HDD.

Есть также другие режимы — Raid 2,3, 4, 6, 30 и т.д., но они являются по большому счету производными от перечисленных выше.

Как установить Raid массив дисков на Windows?

С теорией, надеюсь, разобрались. Теперь посмотрим на практику — вставить в слот PCI Raid контроллер и установить драйвера, думаю, опытным пользователям ПК труда не составит.

Как же теперь создать в операционной системе Windows Raid массив из подключенных жестких дисков?

Лучше всего, конечно, это делать, когда вы только-только приобрели и подключили чистенькие винчестеры без установленной ОС. Сначала перезагружаем компьютер и заходим в настройки BIOS — здесь нужно найти SATA контроллеры, к которым подключены наши жесткие диски, и выставить их в режим RAID.

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

В зависимости от модели Raid-контроллера она может быть другой. Например, «CNTRL+F»

Заходим в утилиту настройки и нажимаем в меню что-то типа «Create array» или «Create Raid» — надписи могут отличаться. Также если контроллер поддерживает несколько типов Raid, то будет предложено выбрать, какой именно нужно создать. В моем примере доступен только Raid 0.

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

Вот собственно и все — RAID настроен и теперь компьютер будет воспринимать ваши диски как один. Вот так, например, будет виден Raid при установке Windows.

Думаю, что вы уже поняли преимущества использования Raid. Напоследок приведу сравнительную таблицу замеров скорости записи и чтения диска отдельно или в составе режимов 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)

Red Hat Enterprise Linux (RHEL)
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. Например, эта описывает все очень подробно. Но как обычно, читать все не хватает времени, поэтому надо что-нибудь коротенькое для понимания - а надо оно или нет, и что лучше использовать применительно к работе с СУБД (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 -

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

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

Что такое «RAID»?

В 1987 году Паттерсон (Patterson), Гибсон (Gibson) и Катц (Katz) из калифорнийского университета Беркли опубликовали статью «Корпус для избыточных массивов из дешевых дисководов (RAID)» (A Case for Redundant Arrays of Inexpensive Disks (RAID)). В этой статье описывались разные типы дисковых массивов, обозначаемых сокращением RAID - Redundant Array of Independent (или Inexpensive) Disks (избыточный массив независимых (или недорогих) дисководов). В основу RAID положена следующая идея: объединяя в массив несколько небольших и/или дешевых дисководов, можно получить систему, превосходящую по объему, скорости работы и надежности самые дорогие дисководы. Вдобавок ко всему такая система с точки зрения компьютера выглядит как один единственный дисковод.
Известно, что среднее время наработки на отказ массива дисководов равно среднему времени наработки на отказ одиночного дисковода, деленному на число дисководов в массиве. Вследствие этого среднее время наработки на отказ массива оказывается слишком малым для многих приложений. Однако дисковый массив можно несколькими способами сделать устойчивым к отказу одного дисковода.

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

Какие существуют уровни RAID и какой из них выбрать?

RAID-0 . Обычно определяется как НЕ избыточная группа дисководов без контроля четности. RAID-0 по способу размещения информации по дисководам, входящим в массив, иногда называется "Striping" ("полосатый" или "тельняшка"):

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

Область применения: аудио- и видео приложения требующие высокой скорости непрерывной передачи данных, которую не может обеспечить одиночный дисковод. Например, исследования, проведенные фирмой Mylex, с целью определить оптимальную конфигурацию дисковой системы для станции нелинейного видео монтажа показывают, что, по сравнению с одним дисководом, массив RAID-0 из двух дисководов дает прирост скорости записи/чтения на 96%, из трех дисководов - на 143% (по данным теста Miro VIDEO EXPERT Benchmark).
Минимальное количество дисководов в массиве "RAID-0" - 2шт.

RAID-1 . Более известен как "Mirroring" ("Зеркалирование") - это пара дисководов, содержащих одинаковую информацию и составляющих один логический диск:

Запись производится на оба дисковода в каждой паре. Тем не менее, дисководы, входящие в пару, могут совершать одновременные операции чтения. Таким образом «зеркалирование» может удваивать скорость чтения, но скорость записи остается неизменной. RAID-1 обладает 100% избыточностью и авария одного дисковода не приводит к аварии всего массива - контроллер просто переключает операции чтения/записи на оставшийся дисковод.
RAID-1 обеспечивает наивысшую скорость работы среди всех типов избыточных массивов (RAID-1 - RAID-5), особенно в многопользовательском окружении, но наихудшее использование дискового пространства. Поскольку для RAID-1 не требуются сложные математические или логические вычисления, затраты на его реализацию минимальны.
Минимальное количество дисководов в массиве "RAID-1" - 2шт.
Для увеличения скорости записи и обеспечения надежности хранения данных несколько массивов RAID-1 можно, в свою очередь, объединить в RAID-0. Такая конфигурация называется «двухуровневый» RAID или RAID-10 (RAID 0+1):


Минимальное количество дисководов в массиве "RAID 0+1" - 4шт.
Область применения: дешевые массивы, в которых главное - надежность хранения данных.

RAID-2 . Распределяет данные по страйпам размером в сектор по группе дисководов. Некоторые дисководы выделяются для хранения ECC (код коррекции ошибок). Так как большинство дисководов по умолчанию хранят коды с ECC для каждого сектора, RAID-2 не дает особых преимуществ по сравнению с RAID-3 и, поэтому, практически не применяется.

RAID-3 . Как и в случае с RAID-2 данные распределяются по страйпам размером в один сектор, а один из дисководов массива отводится для хранения информации о четности:

RAID-3 полагается на коды с ECC, хранящиеся в каждом секторе для обнаружения ошибок. В случае отказа одного из дисководов восстановление хранившейся на нем информации возможно с помощью вычисления исключающего ИЛИ (XOR) по информации на оставшихся дисководах. Каждая запись обычно распределена по всем дисководам и поэтому этот тип массива хорош для работы в приложениях с интенсивным обменом с дисковой подсистемой. Так как каждая операция ввода-вывода обращается ко всем дисководам массива, RAID-3 не может одновременно выполнять несколько операций. Поэтому RAID-3 хорош для однопользовательского однозадачного окружения с длинными записями. Для работы с короткими записями требуется синхронизация вращения дисководов, так как иначе неизбежно уменьшение скорости обмена. Применяется редко, т.к. проигрывает RAID-5 по использованию дискового пространства. Реализация требует значительных затрат.
Минимальное количество дисководов в массиве "RAID-3" - 3шт.

RAID-4 . RAID-4 идентичен RAID-3 за исключением того, что размер страйпов много больше одного сектора. В этом случае чтение осуществляется с одного дисковода (не считая дисковода, хранящего информацию о четности), поэтому возможно одновременное выполнение нескольких операций чтения. Тем не менее, так как каждая операция записи должна обновить содержимое дисковода четности, одновременное выполнение нескольких операций записи невозможно. Этот тип массива не имеет заметных преимуществ перед массивом типа RAID-5.
RAID-5. Этот тип массива иногда называется «массив с вращающейся четностью». Данный тип массива успешно преодолевает присущий RAID-4 недостаток - невозможность одновременного выполнения нескольких операций записи. В этом массиве, как и в RAID-4, используются страйпы большого размера, но, в отличие от RAID-4, информация о четности хранится не на одном дисководе, а на всех дисководах по очереди:

Операции записи обращаются к одному дисководу с данными и к другому дисководу с информацией о четности. Так как информация о четности для разных страйпов хранится на разных дисководах выполнение нескольких одновременных операций записи невозможно только в тех редких случаях, когда либо страйпы с данными, либо страйпы с информацией о четности находятся на одном и том же дисководе. Чем больше дисководов в массиве, тем реже совпадает местоположение страйпов информации и четности.
Область применения: надежные массивы большого объема. Реализация требует значительных затрат.
Минимальное количество дисководов в массиве "RAID-5" - 3шт.

RAID-1 или RAID-5?
RAID-5 по сравнению с RAID-1 более экономно использует дисковое пространство , так как в нем для избыточности хранится не «копия» информации, а контрольное число. В результате в RAID-5 можно объединить любое количество дисководов, из которых только один будет содержать избыточную информацию.
Но более высокая эффективность использования дискового пространства достигается за счет более низкой скорости обмена информацией. Во время записи информации в RAID-5 надо каждый раз обновлять информацию о четности. Для этого надо определить, какие именно биты четности изменились. Сначала считывается подлежащая обновлению старая информация. Затем эта информация перемножается по XOR с новой информацией. Результат этой операции - битовая маска, в которой каждый бит =1 означает, что в информации о четности в соответствующей позиции надо заменить значение. Затем обновленная информация о четности записывается на соответствующее место. Следовательно, на каждое требование программы записать информацию, RAID-5 совершает два чтения, две записи и две операции XOR.
За то, что более эффективно используется дисковое пространство (вместо копии данных хранится блок четности) приходится платить: на генерацию и запись информации о четности уходит добавочное время. Это означает, что скорость записи на RAID-5 ниже, чем на RAID-1 в соотношении 3:5 или даже 1:3 (т.е. скорость записи на RAID-5 составляет от 3/5 до 1/3 от скорости записи RAID-1). Из-за этого RAID-5 бессмысленно создавать в программном варианте. Их также нельзя рекомендовать в тех случаях, когда именно скорость записи имеет решающее значение.

Какой выбрать способ реализации RAID - программный или аппаратный?

Прочитав описание различных уровней RAID можно заметить, что нигде не упоминаются какие-либо специфические требования к аппаратуре, которая необходима для реализации RAID. Из чего можно сделать вывод, что все, что нужно для реализации RAID - подключить необходимое количество дисководов к имеющемуся в компьютере контроллеру и установить на компьютер специальное программное обеспечение. Это верно, но не совсем!
Действительно, существует возможность программной реализации RAID. Примером может служить ОС Microsoft Windows NT 4.0 Server, в которой возможна программная реализация RAID-0, -1 и даже RAID-5 (Microsoft Windows NT 4.0 Workstation обеспечивает только RAID-0 и RAID-1). Однако данное решение следует рассматривать, как крайне упрощенное, не позволяющее полностью реализовать возможности RAID-массива. Достаточно отметить, что при программной реализации RAID вся нагрузка по размещению информации на дисководах, вычислению контрольных кодов и т.д. ложится на центральный процессор, что естественно, не увеличивает производительности и надежности системы. По тем же причинам, здесь практически отсутствуют какие-либо сервисные функции и все операции по замене неисправного дисковода, добавления нового дисковода, изменения уровня RAID и т. п. производятся с полной потерей данных и при полном запрете выполнения каких-либо других операций. Единственное достоинство программной реализации RAID - минимальная стоимость.
- специализированный контроллер освобождает центральный процессор от основных операций с RAID, причем эффективность контроллера тем более заметна, чем выше уровень сложности RAID;
- контроллеры, как правило, снабжены драйверами, позволяющими создать RAID практически для любой популярной ОС;
- встроенный BIOS контроллера и прилагаемые к нему программы управления позволяют администратору системы легко подключать, отключать или заменять дисководы, входящие в RAID, создавать несколько RAID-массивов, причем даже разных уровней, контролировать состояние дискового массива и т.д. У «продвинутых» контроллеров эти операции можно производить «на лету», т.е. не выключая системный блок . Многие операции могут быть выполнены в «фоновом режиме», т.е. не прерывая текущую работу и даже дистанционно, т.е. с любого (конечно при наличии доступа) рабочего места;
- контроллеры могут оснащаться буферной памятью («кэш»), в которой запоминаются несколько последних блоков данных, что, при частом обращении к одним и тем же файлам, позволяет значительно увеличить быстродействие дисковой системы.
Недостатком аппаратной реализации RAID является относительно высокая стоимость RAID-контроллеров. Однако, с одной стороны, за все (надежность, быстродействие, сервис) надо платить. С другой стороны, в последнее время, с развитием микропроцессорной техники, стоимость RAID-контоллеров (особенно младших моделей) стала резко падать и стала сравнимой со стоимостью обыкновенных дисковых контроллеров, что позволяет устанавливать RAID-системы не только в дорогие мэйнфреймы, но и в сервера начального уровня и даже в рабочие станции.

Как выбрать модель RAID-контроллера?

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

Ultra (Ultra Wide) SCSI контроллер фирмы Mylex KT930RF (KT950RF).
Внешне данный контроллер ни чем не отличается от обыкновенного SCSI-контроллера. Вся "специализация" находится в BIOS, который как бы разделен на две части - «Конфигурация SCSI» / «Конфигурация RAID». Несмотря на невысокую стоимость (менее $200) данный контроллер обладает неплохим набором функций:

- объединение до 8-и дисководов в RAID 0, 1или 0+1;
- поддержка Hot Spare для замены "на лету" вышедшего из строя дисковода;
- возможность автоматической (без вмешательства оператора) замены неисправного дисковода;
- автоматический контроль целостности и идентичности (для RAID-1) данных;
- наличие пароля для доступа в BIOS;
- программа RAIDPlus представляющая информацию о состоянии дисководов в RAID;
- драйвера для DOS, Windows 95, NT 3.5x, 4.0

Взаимосвязанных скоростными каналами и воспринимаемых внешней системой как единое целое. В зависимости от типа используемого массива может обеспечивать различные степени отказоустойчивости и быстродействия. Служит для повышения надёжности хранения данных и/или для повышения скорости чтения/записи информации (RAID 0).

Аббревиатура RAID изначально расшифровывалась как «redundant array of inexpensive disks» («избыточный (резервный) массив недорогих дисков», так как они были гораздо дешевле RAM). Именно так был представлен RAID его создателями Петтерсоном (David A. Patterson), Гибсоном (Garth A. Gibson) и Катцом (Randy H. Katz) в 1987 году. Со временем RAID стали расшифровывать как «redundant array of independent disks» («избыточный (резервный) массив независимых дисков»), потому что для массивов приходилось использовать и дорогое оборудование (под недорогими дисками подразумевались диски для ПЭВМ).

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

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

RAID 1+0 и RAID 0+1

Зеркало на многих дисках - RAID 1+0 или RAID 0+1 . Под RAID 10 (RAID 1+0) имеют в виду вариант, когда два или более RAID 1 объединяются в RAID 0. Под RAID 0+1 может подразумеваться два варианта:

RAID 2

Массивы такого типа основаны на использовании кода Хемминга. Диски делятся на две группы: для данных и для кодов коррекции ошибок, причём если данные хранятся на дисках, то для хранения кодов коррекции необходимо дисков. Данные распределяются по дискам, предназначенным для хранения информации, так же, как и в RAID 0, т.е. они разбиваются на небольшие блоки по числу дисков. Оставшиеся диски хранят коды коррекции ошибок, по которым в случае выхода какого-либо жёсткого диска из строя возможно восстановление информации. Метод Хемминга давно применяется в памяти типа ECC и позволяет на лету исправлять однократные и обнаруживать двукратные ошибки.

Достоинством массива RAID 2 является повышение скорости дисковых операций по сравнению с производительностью одного диска.

Недостатком массива RAID 2 является то, что минимальное количество дисков, при котором имеет смысл его использовать,- 7. При этом нужна структура из почти двойного количества дисков (для n=3 данные будут храниться на 4 дисках), поэтому такой вид массива не получил распространения. Если же дисков около 30-60, то перерасход получается 11-19%.


RAID 3

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

Отличия RAID 3 от RAID 2: невозможность коррекции ошибок на лету и меньшая избыточность.

Достоинства:

  • высокая скорость чтения и записи данных;
  • минимальное количество дисков для создания массива равно трём.

Недостатки:

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


RAID 4

RAID 4 похож на RAID 3, но отличается от него тем, что данные разбиваются на блоки, а не на байты. Таким образом, удалось отчасти «победить» проблему низкой скорости передачи данных небольшого объёма. Запись же производится медленно из-за того, что чётность для блока генерируется при записи и записывается на единственный диск. Из систем хранения широкого распространения RAID-4 применяется на устройствах хранения компании NetApp (NetApp FAS), где его недостатки успешно устранены за счет работы дисков в специальном режиме групповой записи, определяемом используемой на устройствах внутренней файловой системой WAFL .

RAID 5

Основным недостатком уровней RAID от 2-го до 4-го является невозможность производить параллельные операции записи, так как для хранения информации о чётности используется отдельный контрольный диск. RAID 5 не имеет этого недостатка. Блоки данных и контрольные суммы циклически записываются на все диски массива, нет асимметричности конфигурации дисков. Под контрольными суммами подразумевается результат операции XOR (исключающее или). Xor обладает особенностью, которая применяется в RAID 5, которая даёт возможность заменить любой операнд результатом, и, применив алгоритм xor , получить в результате недостающий операнд. Например: a xor b = c (где a , b , c - три диска рейд-массива), в случае если a откажет, мы можем получить его, поставив на его место c и проведя xor между c и b : c xor b = a. Это применимо вне зависимости от количества операндов: a xor b xor c xor d = e . Если отказывает c тогда e встаёт на его место и проведя xor в результате получаем c : a xor b xor e xor d = c . Этот метод по сути обеспечивает отказоустойчивость 5 версии. Для хранения результата xor требуется всего 1 диск, размер которого равен размеру любого другого диска в raid.

(+) : RAID5 получил широкое распространение, в первую очередь, благодаря своей экономичности. Объём дискового массива RAID5 рассчитывается по формуле (n-1)*hddsize, где n - число дисков в массиве, а hddsize - размер наименьшего диска. Например, для массива из 4-х дисков по 80 гигабайт общий объём будет (4 - 1) * 80 = 240 гигабайт. На запись информации на том RAID 5 тратятся дополнительные ресурсы и падает производительность, так как требуются дополнительные вычисления и операции записи, зато при чтении (по сравнению с отдельным винчестером) имеется выигрыш, потому что потоки данных с нескольких дисков массива могут обрабатываться параллельно.

(-) : Производительность RAID 5 заметно ниже, в особенности на операциях типа Random Write (записи в произвольном порядке), при которых производительность падает на 10-25% от производительности RAID 0 (или RAID 10), так как требует большего количества операций с дисками (каждая операция записи сервера заменяется на контроллере RAID на три - одну операцию чтения и две операции записи). Недостатки RAID 5 проявляются при выходе из строя одного из дисков - весь том переходит в критический режим (degrade), все операции записи и чтения сопровождаются дополнительными манипуляциями, резко падает производительность. При этом уровень надежности снижается до надежности RAID-0 с соответствующим количеством дисков (то есть в n раз ниже надежности одиночного диска). Если до полного восстановления массива произойдет выход из строя, или возникнет невосстановимая ошибка чтения хотя бы на еще одном диске, то массив разрушается, и данные на нем восстановлению обычными методами не подлежат. Следует также принять во внимание, что процесс RAID Reconstruction (восстановления данных RAID за счет избыточности) после выхода из строя диска вызывает интенсивную нагрузку чтения с дисков на протяжении многих часов непрерывно, что может спровоцировать выход какого-либо из оставшихся дисков из строя в этот наименее защищенный период работы RAID, а также выявить ранее необнаруженные сбои чтения в массивах cold data (данных, к которым не обращаются при обычной работе массива, архивные и малоактивные данные), что повышает риск сбоя при восстановлении данных. Минимальное количество используемых дисков равно трём.

RAID 5EE

Примечание: поддерживается не во всех контроллерах RAID level-5EE подобен массиву RAID-5E, но с более эффективным использованием резервного диска и более коротким временем восстановления. Подобно RAID level-5E, этот уровень RAID-массива создает ряды данных и контрольных сумм во всех дисках массива. Массив RAID-5EE обладает улучшенной защитой и производительностью. При применении RAID level-5E, ёмкость логического тома ограничивается ёмкостью двух физических винчестеров массива (один для контроля, один резервный). Резервный диск является частью массива RAID level-5EE. Тем не менее, в отличие от RAID level-5E, использующего неразделенное для резерва, в RAID level-5EE в резервный диск вставлены блоки контрольных сумм, как показывается далее на примере. Это позволяет быстрее перестраивать данные при поломке физического диска . При такой конфигурации, вы не сможете использовать его с другими массивами. Если вам необходим запасной диск для другого массива, вам следует иметь еще один резервный винчестер. RAID level-5E требует как минимум четырех дисков и, в зависимости от уровня прошивки и их ёмкости, поддерживает от 8 до 16 дисков. RAID level-5E обладает определенной прошивкой. Примечание: для RAID level-5EЕ, вы можете использовать только один логический том в массиве.

Достоинства:

  • 100% защита данных
  • Большая ёмкость физических дисков по сравнению с RAID-1 или RAID -1E
  • Большая производительность по сравнению с RAID-5
  • Более быстрое восстановление RAID по сравнению с RAID-5Е

Недостатки:

  • Более низкая производительность, чем в RAID-1 или RAID-1E
  • Поддержка только одного логического тома на массив
  • Невозможность совместного использования резервного диска с другими массивами
  • Поддержка не всех контроллеров

RAID 6

RAID 6 - похож на RAID 5, но имеет более высокую степень надёжности - под контрольные суммы выделяется ёмкость 2-х дисков, рассчитываются 2 суммы по разным алгоритмам. Требует более мощный RAID-контроллер. Обеспечивает работоспособность после одновременного выхода из строя двух дисков - защита от кратного отказа. Для организации массива требуется минимум 4 диска. Обычно использование RAID-6 вызывает примерно 10-15% падение производительности дисковой группы, по сравнению с аналогичными показателями RAID-5, что вызвано большим объёмом обработки для контроллера (необходимость рассчитывать вторую контрольную сумму, а также прочитывать и перезаписывать больше дисковых блоков при записи каждого блока).

RAID 7

RAID 7 - зарегистрированная торговая марка компании Storage Computer Corporation, отдельным уровнем RAID не является. Структура массива такова: на дисках хранятся данные, один диск используется для складирования блоков чётности. Запись на диски кешируется с использованием оперативной памяти, сам массив требует обязательного ИБП; в случае перебоев с питанием происходит повреждение данных.

RAID 10


Схема архитектуры RAID 10

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

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

RAID массивы всё чаще становятся такой же неотъемлемой частью персонального компьютера , как и сервера. Причин тому предостаточно: за последние несколько лет жёсткие диски сильно продвинулись в технологическом плане: они сменили несколько интерфейсов от ATA/33 до SATA 300, вырос объём кэш-памяти, а технология перпендикулярной записи кардинально снизила стоимость одного гигабайта объёма HDD. Неизменным осталось одно - надёжность жёстких дисков. И хотя сегодня производители дают гарантию на жёсткие диски для настольных ПК до 5 лет, а заявленное время наработки на отказ составляет до 136 лет (1.2 млн. часов), никто не гарантирует, что винчестер не выйдет из строя в любой момент. Исследования показывают, что жесткие диски очень часто выходят из строя в течение первых трёх месяцев службы - наиболее подло, когда пользователь так уверен в новеньком быстром жёстком диске.

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

Вероятность выхода из строя жесткого диска в зависимости от его возраста



Вероятность выхода из строя жесткого диска в зависимости от его загрузки

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

    Современные винчестеры стоят достаточно дёшево, чтобы можно было ставить 2 жёстких диска вместо одного в обычный домашний компьютер

    Большинству пользователей достаточно объёма и одного винчестера стоимостью 80$

    Современные винчестеры достаточно быстры, чтобы можно было отдать поступиться скоростью в угоду надёжности

    Современные жёсткие диски всё ещё не надёжны

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

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

RAID 1 - оптимальный выбор для дома

Условно, RAID-контроллеры можно разделить на два типа: полностью аппаратные и хост-контроллеры, полупрограммные. Первые отличаются наличием собственного процессора, частотой до 800 МГц (а в будущем и выше), на который ложится вся нагрузка по обслуживанию массива. Мощь этого процессора востребована в массивах RAID 5, RAID 50, RAID 6 и RAID 60. Это не наш случай. RAID-контроллеры для домашнего использования, как правило, имеют 2 или 4 порта. Это позволяет строить на них массивы уровня 0, 1, 10 и 5, последние два - на 4-портовых контроллерах. Рассмотрим, почему мы откажемся от всех типов, кроме одного.

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

    RAID 10 - подключает четыре винчестера: два последовательно и два параллельно. Считается надёжным, как и RAID 1, но требует установки 4 дисков. В итоге вы получаете объём, равный сумме двух HDD. Но так ли он надёжен? Если параллельно работают две последовательных цепочки из двух винчестеров, насколько он надёжен? RAID 10 позволяет выйти из строя двум дискам. При его структуре A1B1+A2B2, он выдерживает следующие комбинации поломок: A1, B1, A2, B2, A1B1, A1B2, A2B1, A2B2. Но остаются две смертельные комбинации: A1A2 и B1B2, а так же любая поломка 3-х дисков. Вероятность выхода из строя одновременно двух дисков A1A2 или B1B2 в два раза выше, чем если бы массив состоял из двух дисков. Поэтому паранойя торжествует, и мы отказываемся от RAID 10.

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

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

Но создавая RAID 1, мы должны быть готовы к тому, что скорость массива снизится по сравнению с одним диском, загрузка CPU повысится, а объём массива будет равен объёму одного из двух винчестеров.

Если просмотреть прайс-листы компьютерных магазинов в поисках RAID-контроллеров, то вы обнаружите, что с трудом можно найти старые-добрые решения HighPoint, Adaptec и даже Promise. Новый мир принёс перемены, и теперь перед нами такие брэнды, как Orient, Tekram и STLab.


Мы тестируем следующие модели RAID контроллеров:

    Orient S-822R (SiI3112), PCI, 2x SATA

    Tekram TR-824 (SiI 3114), PCI, 4xSATA

    Orient V-802R (VIA VT6421A), PCI, 2xSATA, 1xPATA

    Orient S3132 RAID (SiI3132), PCI Express 1x, 2+2 SATA

    STLab A-341 (SiI3132), PCI Express 1x, 2x SATA + 2x E-SATA

Четыре контроллера на чипах Silicon Image, один - на чипе VIA, три - с интерфейсом PCI, два - с более новым PCI Express 1x. И как раз у нас будет шанс проверить, насколько новая шина PCI Express 1x даёт преимущества по сравнению с PCI 2.3.

    Все контроллеры имеют собственный BIOS и позволяют загружаться с RAID массива

    Все контроллеры поставляются в комплекте с кабелями Serial ATA

    Все контроллеры поставляются в комплекте с переходниками питания PCPlug-SATA

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

    Ни один контроллер не имеет низкопрофильной планки для установки в низкопрофильные корпуса.

Тестовая конфигурация:

    Intel Pentium D 820 (2.8 GHz)

    2x512 Mb DDR2 PC5300

    2xSamsung HD161HJ 160 Gb


Для тестирования мы взяли два винчестера Samsung HD161HJ. Эти диски имеют объём 160 Гб, кэш 8 Мб, интерфейс SATA 300 и частоту вращения шпинделя 7200 rpm. Он поддерживает NCQ, что покажет преимущества при работе с контроллерами, поддерживающими Native Command Queing. В общем-то, обычный современный недорогой диск. При тестировании винчестер форматировался под NTFS с размером сектора 64Кб.

Для каждого устройства мы будем приводить результаты тестов, а потом подведём итоговое сравнение. Вот, что показал один винчестер Samsung HD161HJ в тестах CrystalMark 2.1, HDTach 2.61, SiSoft Sandra XII и PCMark05. Кликните на диаграмму для увеличения.

Интересующиеся могут ознакомиться с результатами одного диска, а мы перейдём к рассмотрению первого RAID контроллера, Orient S-822R.

Orient S-822R

Перед нами двухканальный Serial ATA RAID контроллер, построенный на базе чипа Silicon Image SiI3112. Низкопрофильная плата красного цвета со стандартной металлической планкой. При средней стоимости 19$ , это очень распространённое решение для тех, кому нужен RAID контроллер с интерфейсом PCI.


Это достаточно старый чип, он поддерживает стандарт Serial ATA 1.5 Gbps (SATA 150), так что современные винчестеры с интерфейсом SATA 300 при возникновении проблем с совместимостью надо переключать в режим SATA 150. На некоторых дисках это делается перемычками, на некоторых - программно, автоматически. В нашем случае, переключение интерфейса винчестера не потребовалось - всё заработало автоматически.

Чип Silicon Image SiI3112 поддерживает интерфейс PCI 32-bit/66 MHz, что позволяет ему передавать данные южному мосту со скоростью до 266 Мб/с, естественно, если материнская плата поддерживает такой режим работы PCI шины.

На плате установлен чип ST39SF010A, перезаписываемый Flash EEPROM объёмом 1 Мбит. При современных тенденциях устанавливать на контроллеры неперезаписываемые чипы, плата Orient S-822R выглядит предпочтительно.

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

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

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

Tekram TR-824

Контроллер от известного брэнда построен на базе чипа Silicon Image SiI3114, и поддерживает до 4 винчестеров с интерфейсом SATA. За счёт поддержки четырёх дисков, он позволяет создавать массивы RAID 0, RAID 1, RAID 10, а так же RAID 5. Этот контроллер так же ограничен в поддержке дисков с интерфейсом SATA 150 и так же поддерживает шину PCI 32-bit/66 MHz.


Поддержка до четырёх дисков позволяет создавать конфигурации с дисками "горячей подмены", Hot Spare, которые простаивают в компьютере до тех пор, пока один из винчестеров RAID массива не сломается. Как только это происходит, диск Hot Spare подключается в массив вместо сломанного, после чего производится перестроение массива. Hot Spare активно используется в многодисковых конфигурациях, в массивах RAID 5 и RAID 6, где после выхода из строя одного винчестера, резко возрастает нагрузка на оставшиеся, что может привезти и к их поломке.


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

Но вот возможность построения RAID 10 или подключения четырёх дисков может потребоваться тем пользователям, кому нужна повышенная производительность дисковой системы при более высокой надёжности, чем RAID 0, и кто готов установить ради этого 4 винчестера в компьютер.


Контроллер Tekram TR-824 имеет разъёмы для подключения четырёх светодиодных индикаторов, плюс - индикаторы установлены под каждым S-ATA портом. Это очень удобно, поскольку далеко не каждый RAID контроллер начального уровня заставит мигать индикатор HDD на корпусе вашего компьютера.

На контроллере установлен перепрошиваемый чип флэш-памяти Winbond, точную модификацию которого прочесть не удалось - наклейка стёрла все надписи.

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

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

Orient V-802R

Чипы VIA редко используются в RAID-контроллерах, но именно они позволяют создавать универсальные решения для подключения старых IDE и новых SATA дисков. Яркий пример тому - контроллер Orient V-802R на чипе VIA Vectro VT6421A. Этот RAID контроллер имеет два порта SATA 150 и один ATA133/100/66 порт.


И хотя вы не можете объединять в один RAID-массив SATA и IDE винчестеры, этот контроллер очень пригодится тем, кому некуда подключить старые жёсткие диски. Ведь на современных материнских платах часто устанавливается только один IDE разъём для подключения DVD-приводов.

Контроллер Orient V-802R так же поддерживает шину PCI 2x, обеспечивая передачу данных со скоростью до 266 Мб/с на соответствующих материнских платах.


На плате установлен чип перепрошиваемой флэш-памяти WinBond W49V002AP, так что вы сможете заливать в EEPROM обновления, если потребуется.

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

Конечно, совместимость со старыми дисками - это хорошо, а когда контроллер на 2 SATA устройства и 2 IDE устройства стоит всего 14$ - это просто отлично, но прогресс не стоит на месте, и для тех, кто подбирает RAID контроллер для современного компьютера , следующие две модели.

Orient S3132 RAID и STLab A-341

Эти два RAID контроллера - пример современного подхода к разработке устройств. Во-первых, они используют самый современный чип Silicon Image SiI3132, во-вторых они имеют интерфейс PCI Express 1x, так что будет для чего использовать пока ещё мало востребованные порты на материнской плате. В-третьих, они настолько компактны, что меньше остальных влияют на воздушные потоки в корпусе. И в конце концов они похожи, как братья близнецы, но мы найдём в них различия.

Чип Silicin Image SiI3132 поддерживает два SerialATA 300 устройства с одной стороны и шину PCI Express 1x с другой стороны, обеспечивая скорость передачи по интерфейсной шине до 2.5 Гбит/с (312 Мб/с). Это уже серьёзная заявка на современные RAID массивы, не ограниченные по скорости тормозным интерфейсом. Данный чип поддерживает NCQ, что ставит его в более выгодное положение при использовании дисков с поддержкой этой технологии.

Перед нами два контроллера, построенные на референсном дизайне: слева - STLab A-341, справа - Orient S3132 RAID. Внешне они очень похожи, и как видно на фотографиях, каждая плата имеет по четыре порта: два внешних и два внутренних.


Так как сам чип SiI3132 поддерживает только два SATA 300 устройства, то и использовать вы можете только половину портов на плате, какие именно, внешние или внутренние - вы выставляете перемычками.


Причём, у контроллера STLab A-341 внешние порты соответствуют стандарту ESATA для подключения внешних винчестеров с этим интерфейсом, а у Orient SiI3132 RAID снаружи доступны обычные SATA порты, подключить к которым ESATA устройства можно будет только через переходник, покупаемый отдельно.


На контроллере STLab A-341 установлен FLASH-чип EON EN29LV040A, который может быть заблокирован на запись или стирание, чтобы пользователь не мог купить более дешёвый аналогичный SATA контроллер без поддержки RAID и добавить её перепрошивкой BIOS-а . В нашем случае был именно такой, заблокированный BIOS - программа перепрошивать его отказывалась. На плате Orient S3132 RAID установлен флэш чип Winbond W27E010P, который такой защиты не имеет, что определённо хорошо, т.к. в случае выхода новой прошивки для контроллера, её можно будет обновить.


BIOS контроллеров одинаков, и он идентичен тому, что используется на Orient S-822R. Он позволяет создавать RAID 1, RAID 0 и JBOD. Собственно, как уже было сказано ранее.


Контроллеры устанавливаются в системе одинаково, интерфейс PCI Express 1x никак не отражается на процессе установки - вы можете загружать систему с массива, построенного на этом контроллере. Лишь бы в операционной системе были установлены драйверы.

Контроллер STLab A-341 стоит в розницу примерно 23$ , а модель Orient S3132 RAID - примерно 21$ . Соответственно, если нет надобности использовать внешние ESATA устройства, а плата берётся именно под домашний RAID 1, надо ли платить больше?

Результаты тестирования Orient S3132 RAID:

Результаты тестирования STLab A-341:

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

Результаты тестирования

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

Тестовая конфигурация:

    Intel Pentium D 820 (2.8 GHz)

    2x512 Mb DDR2 PC5300

    Windows XP SP2 на Maxtor DiamondMax 9 80Gb

    2xSamsung HD161HJ 160 Gb

В режиме тестирования одного жёсткого диска, винчестер подключался к SATA порту южного моста материнской платы.

CrystalDisk Mark

В тесте CrystalDisk Mark 2.1 использовались настройки по умолчанию: объём тестовой таблицы - 50 Мб, 5 запусков каждого теста.


Первый же тест даёт очень интересные результаты - на контроллерах STLab A-341 и Orient S3132 последовательная запись даёт более высокие результаты, чем последовательное чтение. Так как ни в том, ни в ином случае запись не превышает скорость работы одного диска, можно с уверенностью говорить о том, что алгоритм записи отлажен очень хорошо. Но вот при считывании, выигрывают контроллеры Orient V-802R на базе чипа VIA и Orient S-822R на чипе Silicon Image S3112.


При случайной записи ситуация с PCI express контроллерами повторяется, но решение на чипе VIA уже не даёт никаких преимуществ.


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

HDTach 2.61

Тест HDTach 2.61 интересен, прежде всего, своими диаграммами, которые вы уже могли видеть в нашем описании каждого контроллера. Здесь же мы приводим минимальные, максимальные и средние значения.


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


При записи лучшие результаты снова показывают контроллеры с интерфейсом PCI Express. Они выигрывают примерно 10% у остальных, и столько же проигрывают одному диску. Но минимальное значение скорости записи у них в два раза выше, чем у одного диска. А Orient V-802R определённо выглядит аутсайдером в этом тесте, недалеко от него ушёл и 4-портовый Tekram.


При том, что время случайного доступа у контроллеров различается на уровне погрешности, интересно посмотреть на загрузку процессора. Как показывает HDTach 2.61, большинство контроллеров не сильно-то нагружают систему. И только драйверы от VIA отличаются большей прожорливостью. Напоминаю, что наш процессор - Pentium D 820 частотой 2.8 ГГц.

SiSoft Sandra XII

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


Да, буферизованное чтение показывает преимущество шины PCI Express 1x перед устаревшей PCI. Но последовательное и случайное чтение показывают примерно одинаковые результаты для всех тестовых конфигураций.


В тестах записи можно отметить, разве что, преимущества контроллеров Orient S3132 RAID и STLab A-341 перед остальными. Контроллер Orient V-802R снова показывает самые низкие результаты.


А вот то, что время доступа на RAID контроллерах оказывается ниже, чем на одном диске, говорит о грамотной реализации работы с двумя дисками. И снова чип Silicon Image SiI3132 выигрывает, а VIA VT6421A проигрывает. А контроллер Orient S-822R уже второй раз показывает низкое время доступа. Видимо, дело в прошивке.

PCMark05

Тест PCMark05 более интересен для домашних пользователей, так как при работе с дисковой подсистемой он показывает результаты работы в реальных задачах - загрузке Windows XP, запуске программы и т.д. Посмотрим, что даёт здесь RAID 1.


В тестах, эмулирующих реальные задачи, RAID 1 показывает свои преимущества перед одним диском. Возможно, потому что контроллер поддерживает NCQ или читает информацию сразу с двух дисков. Интересно так же, что Tekram TR-824 здесь выглядит очень слабо.


И последняя диаграмма полностью подтверждает все предыдущие выводы.

Выводы

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

Среди протестированных нами контроллеров лучше всего показали себя решения на чипе Silicon Image SiI3132. Это современное решение, поддерживающее интерфейс SATA 300, NCQ и шину PCI Express 1x. Модель Orient S3132 RAID, построенная на этом чипе, выиграла в большинстве текстов. Так как мы подбираем контроллер для RAID массива, обеспечивающего повышенную надёжность, нам не важно, что у неё можно переключать порты со внутренних на внешние. Более важно, что на этой плате установлен нормальный, перепрошиваемый BIOS, который позволит в будущем обновлять микропрограмму контроллера.

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

Если же у вас есть необходимость задействовать старые IDE диски и использовать S-ATA диски, то отличной покупкой станет контроллер Orient V-802R. Он хоть и не показал рекордов по скорости, но обеспечивает необходимую универсальность и поддержку четырёх устройств.

Tekram TR-824 по тестам показал себя не так достойно, как от него ожидали. Эту модель приобретать стоит только если вы решили ставить массив RAID 10 или RAID 1 + Hot Spare. То есть, для более чем двух винчестеров. В нашем конкретном вопросе создания RAID 1 это явный аутсайдер: цена высока, а скорость везде, кроме теста работы с буфером в Sandra XII, не соответствует стоимости.

Orient S-822R - вариант странный. Для старых компьютеров без PCI Express и SATA, куда надо установить новые винчестеры лучше подойдёт более доступный V-802R, который имеет ещё и поддержку IDE. Для компьютеров, выпущенных в последние пару лет, лучше подойдёт модель S3132 RAID. Разве что, когда IDE порт явно не нужен, а PCI Express на материнской плате нет.

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

Мы благодарим Елену Николаеву, руководителя отдела маркетинга компании Orient за предоставленное оборудование.

LIKE OFF
03/03.2008


После перехода SCSI на последовательные "рельсы" профессиональные и полупрофессиональные RAID-контроллеры заметно изменились. Параллельный интерфейс SCSI обеспечивает пропускную способность до 320...

После перехода SCSI на последовательные "рельсы" профессиональные и полупрофессиональные RAID-контроллеры заметно изменились. Параллельный интерфейс SCSI обеспечивает пропускную способность до 320...

Аппаратные подсистемы RAID 5 являются на сегодняшний день наиболее популярными для файл-серверов общего назначения, Web-серверов и других прикладных задач, связанных с хранением и обработкой данных. Они не только повышают производительность и улучшают защиту данных, но позволяют снизить стоимость такого решения при сохранении или улучшении основных характеристик и свойств.

Эффективное хранение данных – важная задача для вычислительной среды предприятия, и многие организации используют RAID-массивы в серверных, сетевых и Интернет приложениях хранения и обработки данных, чтобы повысить их доступность. Технологии RAID могут позволить IT-менеджерам использовать в своих интересах ключевую производительность и операционные характеристики, которые контроллеры и подсистемы RAID 5 обеспечивают благодаря процессорам ввода/вывода, которые освобождают центральный процессор от прерываний во время дисковых операций «чтение-модификация-запись».

По реализации RAID-контроллеры бывают программными (т.н. софтовыми), программно-аппаратными и полностью аппаратными.

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

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

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

Определение уровней RAID

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

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

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

Как работает RAID 5

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

RAID 5 обеспечивает целостность данных дискового массива, используя пространство, по объему равное меньшему накопителю в массиве. Например, в массиве из пяти накопителей емкостью по 72 ГБ, доступная емкость массива будет составлять 288 ГБ. Доступная для пользователя емкость массива RAID 5 считается по формуле S * (N – 1), где S – емкость наименьшего накопителя в массиве, N – общее количество накопителей в массиве.

Количество накопителей, их емкость и суммарная емкость массива RAID 5 на сохранности данных не сказываются. Также, как единственный накопитель емкостью 72 ГБ может защитить все данные в массиве из пяти накопителей общей емкостью 288 ГБ, в массиве с 15-ю накопителями емкостью 300 ГБ, единственный накопитель на 300 ГБ может защитить весь массив на 4,2 ТБ в случае отказа одного накопителя.

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

Вычисление функции XOR

Один накопитель может защитить данные любого числа других накопителей при условии, что из строя выходит только один из накопителей массива. XOR является и ассоциативной, и коммутативной операцией, что означает, что ни порядок, ни группировка операндов не влияет на результаты. XOR – также бинарная операция, и имеет только четыре возможных комбинации двух операндов. Два операнда имеют «истинный» результат XOR, когда один и только один операнд имеет значение 1.

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

На рисунке 1 каждый прямоугольник Dn представляет блок данных, называемый стрип (strip, англ. полоска). Все полоски ряда называются страйп (stripe, англ. полоса). В RAID 5, данные четности расположены в разных стрипах на каждом накопителе – это так называемое parity rotation (англ. «вращение четности»). Это сделано для увеличения производительности: поскольку четность вычисляется и записывается в каждой операции «чтение-модификация-запись», размещение ее на одном накопителе привело бы к образованию узкого места, так называемого «бутылочного горлышка». Обращения к такому накопителю производились бы во столько раз чаще по отношению к другим накопителям в системе, сколько этих накопителей в системе. Данные четности – Pn, где n – номер страйпа, всего-навсего результат операции XOR на всех других элементах данных в пределах того же страйпа. Поскольку XOR – ассоциативная и коммутативная операция, ее результат над несколькими операндами можно найти путем выполнения XOR сначала на любых двух операндах, затем выполнением XOR над результатом этой операции и следующим операндом, и так далее со всеми операндами, пока не будет достигнут результат.

Рисунок 1. Карта данных типичного RAID 5 с четырьмя накопителями

Том RAID 5 допускает отказ любого одного накопителя массива без потери данных. Как правило, когда физический накопитель выходит из строя, как, например, накопитель 3 на рисунке 2, говорят, что массив в критическом состоянии (англ. degraded). В такой ситуации недостающие данные для любого страйпа могут быть определены выполнением операции XOR на всех оставшихся элементах данных этого страйпа. Грубо говоря, каждый потерянный элемент данных представляется как общая сумма оставшихся стрип в страйпе. Обычный размер стрипа – от 32 кБ до 128 кБ. На рисунке 2 показан массив с условным объемом стрипа, где каждый элемент представляет единственный бит.

Четность для первой полосы:
P1 = D1 XOR D2 XOR D3;
P1 промежут. = D1 XOR D2 = 1;
P1 = P1 промежут. XOR D3 = 0.
Таким образом, P1 = 0.

Рисунок 2. Карта данных RAID 5 с четырьмя накопителями; массив с условным объемом стрипа.

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

Большинство аппаратных RAID-контроллеров восстанавливают массив автоматически, если доступен запасной (hot-spare) накопитель, возвращая массив в нормальное состояние. Кроме того, как правило, с аппаратными RAID-контроллерами поставляется программное обеспечение, которое включает средства, позволяющие уведомить администраторов системы, когда такой отказ происходит. Это позволяет администраторам устранить проблему прежде, чем следующий накопитель выйдет из строя, и массив перейдет в критическое состояние без возможности автоматического восстановления.

Выполнение операции «чтение-модификация-запись»

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

Рисунок 3 показывает типичную операцию «чтение-модификация-запись», в которой данные, которые хост пишет на накопитель, содержатся в пределах только одной полосы, в блоке D5. Операция «чтение-модификация-запись» состоит из следующих шагов:

Рисунок 3. Шаг за шагом: операция «чтение-модификация-запись» в массиве RAID 5 с четырьмя накопителями

1. Получение новых данных от хоста: операционная система запрашивает запись данных в блок D5 на накопителе 2.
2. Чтение старых данных накопителя 2, на место которых предполагается записать новые данные. Чтение только того блока данных, который в процессе записи будет изменен, устраняет необходимость для вычисления четности читать данные со всех других накопителей в пределах страйпа. Число шагов, необходимых для операции «чтение-модификация-запись», не зависит от числа накопителей в массиве.
3. Чтение старой четности. Эта операция не зависит от числа накопителей в массиве.
4. Вычисление новой четности страйпа. Для этого нужно вычислить XOR шагов 2 и 3 минус (в данном случае, в булевой арифметике, это тот же XOR) вклад старых данных, которые будут переписаны. Это объясняется ассоциативностью и коммутативностью XOR. Таким образом, чтобы определить четность для страйпа с новым блоком D5, нужно всего лишь вычислить XOR новых данных, старых данных и старой четности.
5. Проверка целостности данных: этот процесс не описан на рисунке 3, поскольку его реализация сильно различается у разных производителей. Смысл этого процесса в отслеживании выполнения последующих шагов 6 и 7. Для целостного дискового массива подсистема должна гарантировать, что блок четности всегда соответствует данным в пределах полосы. Поскольку невозможно гарантировать, что новые данные и новый блок четности будут записаны на разные диски одновременно, подсистема RAID определяет обрабатываемый страйп как незавершенный (нецелостный), «dirty» (англ. «грязный»), и это означает, что целостность данных нарушена.
6. Запись данных, которые были получены от хоста в шаге 1. Теперь, в соответствии с таблицей размещения данных, подсистема RAID определяет, на каком физическом накопителе, и где именно на накопителе, будут записаны эти данные.
7. Запись нового блока четности: новый блок четности был вычислен в шаге 4; теперь подсистема RAID пишет его на накопитель.
8. Проверка целостности данных: как только подсистема RAID проверяет, что шаги 6 и 7 были закончены успешно, т.е. и данные и четность записаны на накопители, страйп считают целостным.

В примере на рисунке 3, предположим, что Dnew = 0, Dold = 1, и Pold = 0. Обработка шага 4 на этих данных даст нам: 0 XOR 1 XOR 0 = 1. Это четность P. После процедуры «чтение-модификация-запись», второй ряд в иллюстрации 3 будет D4 = 1, D5 = 0, P2 = 1, и D6 = 0.

Этот оптимизированный метод полностью масштабируем. Количество операций чтения, записи, и операции XOR независимы от числа накопителей в массиве. Поскольку накопитель с данными четности участвует в каждой операции записи (шаги 6 и 7), данные четности хранятся на всех накопителях в массиве, перемещаясь в страйпе относительно блоков данных. Если бы все данные четности хранились на одном физическом накопителе, то этот накопитель мог бы стать узким местом, «бутылочным горлышком», о чем уже говорилось выше.

Разгрузка прерываний центрального процессора

Прерывание – это запрос от компонента системы на процессорное время. Подсистемы ввода/вывода производят прерывание центрального процессора, когда они заканчивают транзакцию. Ниже приведено небольшое сравнение, какие прерывания генерируют различные по типу исполнения RAID-контроллеры для простой записи на массив RAID 5:

Программный RAID: поскольку в данном случае центральный процессор системы отвечает за размещение данных на диске, он должен сгенерировать запрос на каждое чтение и запись, необходимые для операции «чтение-модификация-запись». Таким образом, центральный процессор получает четыре прерывания от подсистемы, состоящие из двух запросов на чтение, и двух на запись (шаги 2, 3, 6, и 7 в примере на рисунке 3).

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

Аппаратный RAID: процессор ввода/вывода в аппаратной подсистеме RAID обычно скрывает все промежуточные операции чтения и записи, и генерирует всего одно прерывание – об успешном выполнении транзакции. Процессор ввода/вывода перехватывает все другие прерывания, освобождая центральный процессор, чтобы тот мог выполнять не-RAID задачи.

по материалам компаний Dell и Intel

Что такое информация и какими свойствами она обладает? Что такое современная система хранения и что она хранит? Что такое современный RAID-контроллер и зачем он нужен?

Наша статья расставит все точки над "i"

  • Что такое современный RAID-контроллер и как он используется;
  • Из чего состоит система хранения;
  • Устройство RAID-контроллера;
  • Что такое RAID-стек? RAID-стек последнего поколения;
  • Модельный ряд современных SAS RAID-контроллеров;
  • Основные функции современных RAID-контроллеров;
  • Несколько примеров реальных проектов;
  • Управление системами хранения.

Вы живете в двадцать первом веке и хотите понять

Что же такое современный RAID-контроллер и зачем он нужен?

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

Итак, RAID-контроллер не самый главный, но в то же время важный элемент системы хранения. Отсюда переходим к следующему вопросу, который в деталях рассмотрим в следующей главе.

А что же такое современная система хранения?

Толковый обыватель, глядя на вопрос, легко скажет: это система, которая что-то хранит. И будет прав.

Что же хранит современная система хранения?

Уверен, что любой читатель воскликнет: «Ну это уж совсем легкий вопрос. Понятно, если мы говорим о , то система хранения хранит информацию».

Вот, ответ и готов:

RAID-контроллер – это важный элемент в системах хранения информации.

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

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

И это, поверьте, не такая уж простая задача. Этому вопросу в школе уделяют недостаточно внимания. Вы когда-нибудь изучали предметы c такими названиями: Общая теория информации, Специальная теория информации, Теория взаимодействия информационных систем, Основы хранения информации, Теория информационных контейнеров.... и т.д.? Боюсь, что все эти новые знания и новые теории, к сожалению, «прошли» мимо Вас.

МНОГИЕ ДУМАЮТ, ЧТО ИНФОРМАЦИЮ ХРАНЯТ ЖЕСТКИЕ ДИСКИ.

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


Как сохраняется информация при использовании контейнеров?


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

Второе: Носителем такой структуры контейнеров является жесткий диск. Он обеспечивает поддержку этой структуры на физическом уровне. И роль контейнера играет структура под названием сектор диска.

Итак, самая простая система хранения реализуется с помощью одного контроллера (такой контроллер называется HBA (host bus adapter) и, как правило, он интегрирован на материнскую плату) и одного жесткого диска, содержащего, как подсолнух семечки, большое количество информационных контейнеров, в которых и будет храниться информация.

HBA формирует запросы на запись и чтение информации в контейнерах хранения, которые, как мы уже заметили, размещаются на жестком диске (сегодня это может быть не только жесткий диск (HDD), но и SSD-диск; структура его контейнера более сложная, чему у HDD, но базовый принцип такой же). Для передачи информации между HBA и жестким диском используются транспортные контейнеры. Наиболее популярные технологии для них – это SAS и SATA, хотя есть и другие.

Задача транспортных контейнеров – перенести надежно и без потерь информацию от HBA к диску и от диска к HBA. Роль контейнеров хранения очень ответственная: надежно и без потерь хранить информацию в течение сколь угодно длительного времени. Допустим, Вам надо активно пользоваться информацией и хранить её в течении 100 лет. Насколько хорошо справится с такой задачей простейшая система хранения из одного диска и одного HBA? В первую очередь, настораживает гарантия. Для большинства жестких дисков десктопного класса гарантия равна 1 год. Это очень мало. Второй неприятный момент – диски изнашиваются.

А что же с контейнером? Самый простой контейнер позволяет обнаружить, что информация внутри «испортилась», но никак не может поднять качество хранения информации – иными словами, гарантировать ее хранение 100 лет. Еще раз – смотрим на гарантию на жесткий диск. И задаемся вопросом, а почему гарантия не 100 лет? Как же сделать так, чтобы контейнер «жил» 100 лет при средней жизни диска, к примеру, 5 лет?

Для начала желательно убедиться, что информация, «уложенная» в контейнер, не «испортилась» при хранении. Это легко.

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

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

Итак, зададимся вопросом: существует ли способ усилить функцию сохранения информации в контейнере? Теория, к счастью, дает положительный ответ. Делается это созданием нового контейнера методом виртуализации базового контейнера. Поскольку контейнер попадает под определение информационной системы, к нему может быть применен основной закон информационных систем, который и позволяет применять методы виртуализации. Берем один контейнер, берем другой и виртуально «сшиваем» их в один общий.


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

Рассмотрим теперь несколько важных инженерных аспектов.

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

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

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

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

Это работает как «матрешка», и дальнейшие, более высокие уровни виртуализации тоже возможны. Виртуализация систем хранения, виртуализация операционных систем и т.д., предела нет.

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

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


Внутренняя система хранения современного сервера на сегодняшний день базируется на технологиях SAS/SATA. И здесь по сравнению со старой классической технологией SCSI, которая сейчас уже не используется, добавилось не так уж и много нового. По сути, только SAS-экспандер, который позволяет создавать сетевой сегмент второго уровня для обмена информацией между контроллером и дисками на основе коммутатора второго уровня (научно говоря, сегмент типа “switchedmedia” для общения targets и initiators).

И, как правило, сегодня внутренняя система хранения сервера строится на основе одного (или нескольких) SAS RAID-контроллера или HBA (в ряде случаев они могут быть интегрированы на материнскую плату) и SAS/SATA или . Внешние системы могут использовать и другие технологии, такие как FiberChannel, i-SCSI, PCI-E.

Системы хранения для Центров обработки данных и Интернет-компании могут использовать современные решения типа NVRAM (виртуальные диски, созданные на основе быстрой оперативной памяти, которая имеет защиту от потери питания) и PCI-E (когда доступ к жесткому диску обеспечивается через сетевой сегмент технологии PCI-Express).


Современная внутренняя система хранения сервера.

Компонент системы хранения Основные функции Использование Технологии
Управление размещением информации в контейнерах хранения. RAID-контроллеры обладают дополнительной функцией виртуализацией контейнеров хранения. Обязательный компонент.
HBA заменяется RAID-контроллером при необходимости усиления качества хранения информации. NOTE: функция виртуализации может быть реализована и в операционной системе, так называемый Software RAID.
SAS/SATA
SAS-контроллеры и HBA поддерживают SATA-диски.
HDD- /SSD-диск Непосредственное предоставление ячеек хранения (ячеек памяти) для создания контейнеров хранения. Обязательный компонент.
На сегодняшний день сложные контейнеры типа RAID 50 или RAID 60 могут размещаться на более чем 100 дисках.
SAS или SATA
Создает сегмент сети хранения для обмена информацией между контроллером (контроллерами) и дисками. Является коммутатором SAS второго уровня, аналог Ethernet-коммутатора. Использование опционально.
Без экспандера между контроллером и дисками создается некоторое количество сегментов второго уровня класса “точка-точка”, что обладает меньшей гибкостью и масштабируемостью, чем при использовании экспандера.
Экспандеры могут быть интегрированы на контроллер или на бэкплейн.
SAS/SATA
SAS-экспандеры поддерживают подключение SATA-дисков.
Бэкплейн Как правило, все современные бэкплейны имеют встроенный SES-контроллер, что позволяет отрабатывать не только HOTSWAP (включение – выключение дисков в “горячем” режиме) и индикацию дисков, но и передавать в систему управления информацию о температуре, работе вентиляторов и параметрах электропитания бэкплейна. Использование опционально.
Но крайне желательно. В проектах, где диски с целью оптимизации цены проекта подключаются к контроллеру напрямую без бэкплейна, теряется ряд полезных свойств, связанных с управлением и обеспечением легкости обслуживания.
SAS/SATA
SAS-бэкплейны поддерживают подключение SATA-дисков.
SES-контроллеры бэкплейнов. (SES от SCSI Enclosure Service)

Современный RAID-контроллер представляет из себя информационную систему (упрощенно – некий ), которая в силу выполнения своих основных функций: создания виртуального контейнера, размещения и обработки информации в контейнерах (по сути, ЧТЕНИЕМ – ЗАПИСЬЮ информации) обменивается данными с двумя другими типами информационных систем:

  • C операционной системой;
  • С HDD- или SSD-дисками.

С точки зрения внутренней архитектуры современный RAID-контроллер представляет собой следующий набор подсистем. Указаны самые основные части:

  • Микросхема RoC (RAIDonChip);
  • Оперативная память;
  • Управление “защитой” кэш памяти (типично это отдельная дочерняя плата). В последних реализациях для 8-ой серии контроллера этот модуль встроен в микросхему RoC;
  • Суперконденсатор как источник питания для модуля защиты кэша; используется в случае пропадания основного питания;
  • Flash-память и NVSRAM (память, которая не теряет информацию при выключении питания);
  • Разъемы SAS, где каждый отдельный физический разъем собран по принципу четыре порта 1xSAS в одном физическом разъеме;
  • Разъем PCI-E.

Таблица: Основные подсистемы RAID-контроллера

Подсистемы RAID-контроллера Функции Дополнительный комментарий
Микросхема RoC (RAID on Chip) Выполняет основные функции по созданию виртуальных контейнеров и томов на их основе и управляет размещением в них информации, также создает транспортный контейнер (SAS-пакет) для обмена информацией с дисками. Детальную информацию о различных RoC-микросхемах, используемых на контроллерах Adaptec, можно получить на сайте компании PMC, www.pmcs.com, в разделе Storage - RAID controllers.
Оперативная память Используется как память для исполнения операционной системы RAID-контроллера и также как сверхбыстрый виртуальный диск для кэширования данных RAID-томов. При использовании для кэширования операций записи нуждается в защите!!!
Модуль управления защиты кэш-памяти Плата с флэш-памятью и специальным алгоритмом защиты кэша. Этот алгоритм в случае пропадания основного питания обеспечивает копирование кэш-данных из оперативной памяти на флэш. И в случае восстановления питания – обратно в оперативную память. Для большинства контроллеров это отдельная дочерняя плата на плате контроллера. В последнем поколении и в будущих поколения контроллеров, логика платы интегрирована в RoC-микросхему, флэш-память интегрирована на плату контроллера.
Суперконденсатор Представляет из себя источник питания для выполнения ряда операций по защите данных, когда других источников питания нет... из-за неисправности или отключения питания. Для контроллеров с опцией Z вложен в коробку, для остальных (кроме моделей с индексом E, например, 71605E) доступен как опция. Модели с индексом Е не поддерживают защиту кэша.
Flash-память и NVS RAM Выполняет роль хранилища операционной системы контроллера, ряда журналов, конфигурации RAID-томов и вспомогательных утилит. Операционная система контроллера называется FirmWare (FW) или “прошивка контроллера”. Доступна бесплатно на сайте www.adaptec.com/support. Основная конфигурация RAID-томов хранится в специальной служебной области на дисках.
Разъемы SAS Необходимы для подключения SAS/SATA- дисков или SAS-экспандеров. Отметим, что SAS-контроллер, (так же, как и SAS-экспандер) позволяет подключать диски с SAS-интерфейсом и с SATA-интерфейсом.
Разъем PCI-E Используется для подключения контроллера к материнской плате с целью обеспечения обмена информацией с операционной системой. Как и все серверные продукты SAS, как правило, снабжаются разъемами PCI-E 8x различных версий. Исключения составляют контроллеры с индексом E 6-ой серии:

6405 – PCI-E 1x разъем,
6805 – PCI-E 4x разъем.

Собственно, в широком смысле стек – это операционная система RAID-контроллера.

Не забывайте ЗОЛОТОЕ ПРАВИЛО: на момент сборки (создания системы хранения) на RAID-контроллер надо загрузить самую последнюю версию его ОС или прошивки (Firmware). Для RAID-контроллеров Adaptec они предоставляются бесплатно на сайте www.adaptec.com/support

В узком смысле стек – это виртуализатор контейнеров (для обывателя – виртуализатор дисков). Он создает контейнер нужного типа, распределяет его по нужному количеству дисков и из большого числа контейнеров «выпекает» виртуальный диск, который в стеке Adaptec называется “RAID-том”.

ВАЖНО: как ни странно, но на сегодняшний день RAID-стеки – это частные решения, не подчиняющиеся стандартам. Вы можете снять все физические диски с созданными на них RAID-томами, например, с контроллера , и перенести их на контроллер – и тома будут видны. Если Вы попробует перенести таким образом тома на контроллер другого производителя, то чуда не случится: не будет никакой возможности увидеть данные и эти RAID-тома. Почему так происходит? Потому что контроллер другого производителя поддерживает свой собственный стек, не совместимый со стеком Adaptec.

Каждый RAID-том представляется Хост Операционной Системе как “SCSI-диск”, который и будет виден как отдельный объект в дисковых утилитах типа disk manager.

Выглядит это так.


Таким образом, в менеджере дисков вы увидите 4 виртуальных диска: RAID0, RAID1, RAID5 и еще один RAID5.


Уровневая модель стека..

При создании томов работает каждый уровень.

Задача уровня физических дисков – создать специальную область на дисках, где будет храниться информация о создаваемых томах. Такая область называется областью метаданных и представляет из себя сложный контейнер хранения, где хранится служебная информация. В эту область имеет доступ только операционная система контроллера и больше никто. В стеке Adaptec этот процесс создания служебной области называется – Инициализация и выполняется через команду –initialize.

В RAID-контроллерах, которые поддерживают режим HBA, есть и обратная команда – deinitialize (это контроллеры 7 и 8 серии). Эта команда полностью удаляет с физического диска такую структуру данных и переводит данный диск в режим HBA. Т.е. чтобы контроллер 7 или 8 серии начал работать как обычный HBA, на нем достаточно деинициализировать все диски. Тогда они все будут видны в утилите центральной операционной системы типа DISK MANAGER, и никакие другие операции не требуются.

На физическом уровне выполняется и другая известная функция, называемая – coercion.

В стеке Adaptec она производится одновременно с initialize. Эта функция искусственно немного ”подрезает” емкость жесткого диска. Дело в том, что диски одной и той же категории по емкости от разных производителей все же имеют неодинаковую емкость. Чтобы диск одного производителя можно было в будущем при необходимости заменить диском другого производителя, и выполняется функция coertion. Отрезанная емкость просто навсегда “теряется” и никак не используется.

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

Логический уровень необходим по двум причинам. Во-первых, он значительно уменьшает дискретность емкостей, которые Вы выбираете для создания томов. Это делается через возможность создавать несколько логических дисков (просто отрезая часть емкости) на одном физическом или создавать один логический диск с помощью двух или более физических. При этом емкости различных физических будут просто складываться. Сначала данными будет заполняться одна область одного физического диска, потом другая другого физического диска и т.д. Такой метод объединения дисков называется Chain (в некоторых других стеках используется слово Span). Во-вторых, при создании таких объектов информация о них попадает в метаданные и они перестают быть привязанными к физическим координатам. После этого диски можно переносить с одного порта контроллера на другой, переносить тома с одного контроллера на другой и это будет по-прежнему замечательно работать.

В стеке могут существовать сервисные функции для логических дисков. Мы не будем касаться их в этой статье.

Дальше наступает очередь уровня RAID. Как правило, современные стеки имеют два подуровня на этом уровне. На каждом подуровне располагаются элементарные RAID, такие как chain (это не совсем RAID, это просто “суммирование” емкостей с разных дисков), RAID0, RAID1, RAID1E, RAID5, RAID6 и т.д.

Самый нижний подуровень принимает логические диски, например, LD1, LD2, LD3, как на рисунке, и “выпекает” из них том RAID5. То же самое происходит и с LD4, LD5, LD6. Из них получаем второй RAID5. Два RAID5-тома подаются на еще более высокий уровень, где к ним применяют функцию RAID0. На выходе мы получаем комплексный том, называемый RAID50 (где 5 означает тип RAID, используемый на нижнем подуровне, а 0 – тип функции RAID с верхнего уровня). Единственное, чего не хватает в определении – сколько RAID5 (в данном случае 2) было использовано для создания RAID50.

В стеке Adaptec число 2 называется second level device. Этот параметр будет вам нужен, если Вы будете создавать сложные тома типа 50 или 60.

И самый верхний уровень нужен для того, чтобы подать такой виртуальный объект на виденье центральной операционной системы. При передаче на этот уровень предлагается ряд сервисных функций. Самые важные в стеке Adaptec две – build и clear. Clear записывает на весь новый том, который передается ОС, нули. Build “пробилдивает” новый том. Например, если это RAID1, то все содержимое первого контейнера скопируется в содержимое второго. И так для всех контейнеров.


Виртуальный контейнер типа RAID1. Операция build..

Если у Вас новые диски, с фабрики, то в их секторах записаны нули. Поэтому результат действия обеих функций будет одинаковым.

Отличие между SimpleVolume- и HBA-режимами

Эти два режима очень похожи друг на друга. Оба могут использоваться для создания Software RAID-решений.

При работе диска в HBA-режиме на нем не создаются метаданные. И нет “подрезания“ емкости функцией coercion. Это может вызвать проблему при необходимости замены диска на диск другого производителя.

Диск напрямую передаются на виденье OS. При этом кэш контроллера с ним работать не будет!!!

В случае создания Simple Volume через конфигурацию томов, на диске создается область метаданных, “подрезается” емкость функцией coertion. Далее через утилиту конфигурации создается Simple Volume том с использованием всей свободной емкости диска. И после этого данный объект передается в работу центральной .

Поколение контроллеров Поддержка режима HBA Поддержка режима Simple Volume Поддержка других режимов RAID Комментарии
6-ое поколение контроллеров НЕТ ДА 0, 1, 1E, 5, 5EE, 6, 10, 50, 60. Кроме 6E. Контроллеры 6E поддерживают только Simple Volume, 0, 1, 1E, 10.
7-ое поколение контроллеров Да Да 0, 1, 1E, 5, 6, 10, 50, 60. Режим 5EE больше не поддерживается, поскольку RAID6 является тем же самым, но лучше, и его производительность практически сравнялась с 5EE.

Кроме 7E. Контроллеры 7E поддерживают HBA режим, Simple Volume, 0,1,1E,10.

8-ое поколение контроллеров Да Да 0, 1, 1E, 5, 6, 10, 50, 60.

Небольшое заключение

Сегодня стеки RAID-контроллеров получают дальнейшее развитие. Компания Adaptec в своей функции maxcache plus устанавливала еще один уровень в стек, так называемый уровень tier, c подуровнями. Это позволяло взять один RAID5-том, созданный на SSD-дисках, и другой том, например, RAID60, созданный на SATA7200 rpm HDD-дисках, и собрать из них комплексный, виртуальный том, где наиболее востребованные данные хранились на RAID5, а наименее востребованные – на RAID60. При этом тома можно было брать с разных контроллеров. Сегодня эта функция не поддерживается в силу перехода таких возможностей под . Естественно, стек контроллеров как виртуализационный механизм не стоит на месте и постоянно совершенствуется как на уровне виртуализации, так и на уровне основных и сервисных функции.

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

Поколение Опция “E”. Проекты серверов начального класса Базовые опции. Основные серверные проекты Опция “Q”. Проекты серверов высокого класса
6-ое поколение 6450E/6805E 6405, 6805, 6805T, 6445 - - *
7-ое поколение 71605E 78165, 72405, 71685, 71605, 7805 7905Q, 71605Q
8-ое поколение - 8405, 8805, 8885 8885Q, 81605ZQ

*Cуществуют модели 6Q, 6-ой серии контроллеров с SSD-кэшированием, но ввиду сильно устаревших механизмов настройки режимов кэширования такие модели не включаются в современную линейку SAS RAID-контроллеров Adaptec и не рекомендуются к проектам. На сегодняшний день они сняты с производства и в данной статье, в силу этого, не рассматриваются.

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


Таблица применения моделей с точки зрения поддержки SSD-дисков

Поколение Использование дисков (HDD и SSD) Комментарий
6405E До 4х HDD (или гибридный том 1SSD+ от 1 до 3 HDD). Мах 4 т.к. 6Eне поддерживает экспандеры.
6805E До 8x HDD (или гибридный том 1SSD+ от 1 до 7HDD). Мах 8 т.к. 6Eне поддерживает экспандеры.
6 –ое или 7-ое поколение SSD не используются, только HDD, типичное количество HDD-дисков.
6 –ое поколение Используется 1-2 SSD-диска средней производительности 20-30 kiops как отдельные тома SSD или гибридные тома. Для SSD ограничение связано с возможность ядра контролера MAX 50 kiops.
7-ое или 8-ое поколение Большое количество SATA HDD-дисков большой емкости, выше 64 HDD (SSD-диски не используются).
7-ое или 8-ое поколение Большое количество SAS 15000 rpm, выше 32 (SSD-диски не используются).
7-ое поколение Активно используются гибридные тома, SSD-кэширование, или SSD-тома, с 3-10 SSD средней производительности 20-30 kiops. Для SSD ограничение связано с возможностью ядра контролера MAX 450 kiops.
8-ое поколение От 10 до 20 SSD-дисков, включая диски с высокой производительностью, выше 20-30 kiops. Только SSD-диски на контроллере. Для использования SSD ограничение связано с возможностью ядра MAX 750 kiops.

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

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

Количество активных пользователей Тип контроллера Тип дисков
1-20 6405E SATA HDD
50-200 6805E, 71605E SATA/SAS HDD
200-300 6405, 7405 SAS HDD
300-500 6805, 7805, 8405 SAS HDD + опционально SSD caching
500-2000 71605, 72405, 8805 SAS или HDD + SSD caching
> 2000 7Q, 8Q модели SSD или HDD+ SSD caching или tiеring и др. решения, как NVRAM и PCIe SSD

И еще один важный момент. Как настоятельно рекомендуют все учебники, посвященные проектированию – неважно, серверных систем или сетевого оборудования – проект должен учитывать будущие, а не только настоящие требования к системе.

НАПРИМЕР:

  • Базируются на микросхеме RoC (RAID on Chip) PM8013 8x портов SAS2 (6Гб/сек) PMC-Sierra (дополнительную информацию можно посмотреть на сайте www.pmcs.com;
  • Модели с максимальным количеством портов – 8 портов SAS 2.0 (6Гб/сек), и слотом 8x PCI-express Gen 2.0;
  • Кэш память - 512MB DDR2-667 DRAM.
  • Опционально могут использовать Набор защиты кэша Adaptec Flash Module (AFM-600 Kit) в который входят:


Adaptec RAID 6805 с AFM-600 Flash Module.

Контроллеры 6 серии на уровне стека поддерживают:

  • Simple Volume, JBOD, RAID 0,1, 10, 1E, 5, 6, 50, 60 Hybrid RAID 1, 10.
  • Максимальная производительность ядра контроллера 50 000 IOPs (4 KB blocks, random read).

Производительность для последовательных шаблонов в таблице ниже.


Уровень RAID Чтение (МБ/с) Запись (МБ/c)
0 2000 2000
10 2000 1000
5/6 2000 1000

Семейство 6T

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



Adaptec RAID 6805Т с AFM-600 Flash Module.

Семейство 6E

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

Но поддерживают Hybrid RAID 1, 10 (см. раздел “Гибридные Тома” в главе “Основные фукнции RAID-контроллеров» ниже.

Модель 6405E поддерживает максимально 4 диска. Модель 6805E – 8 дисков (поскольку нет поддержки SAS экспандеров).

Модель 6405E имеет слот PCI-E 1x, модель 6805E – слот PCI-E 4x ver. 2.

Разъемы портов контроллеров 6-ой серии: Все семейство поддерживает только порты Mini-SAS. Для внутренних портов используется разъем – SFF 8087 (internal mini-SAS),

для внешних – SFF-8088 (external mini-SAS).

Сводная таблица для контроллеров 6-ой серии


Контроллер (модель) Разъем PCI-E Внутренние порты Внешние порты Оперативная память (MB) Поддержка экспандеров Поддержка модуля защиты кэша AFM-600 Поддержка дисков
8x 8 - 512 Да Да До 256
8x 4 - 512 Да Да До 256
8x 4 4 512 Да Да До 256
8x 8 - 512 Да Да До 256
6405T 8x 4 - 512 Да Да До 256
4x 8 - 128 Нет Нет До 8
1x 4 - 128 Нет Нет До 4


Adaptec RAID 71605.

  • Первый контроллер PCIe 3.0 LP MD2 с 16 портами SAS/SATA 6 Гбит/сек.
  • Первый контроллер PCIe 3.0 половинной длины с 24 портами.
  • Первое решение, использующее все преимущества шины PCIe 3.0.
  • Первое решение, обеспечивающее 450 тысяч IOPS и 6600 МБ/сек.
  • Первое решение, ориентированное на создание томов на базе SSD.
  • Впервые в полной мере допускается подключение внешних стоек RBOD, ленточных устройств и автозагрузчиков.
  • Базируются на микросхеме SRCv RoC (RAID on Chip) PM8015 SRCv 24x порта SAS2 (6Гб/сек) PMC-Sierra (дополнительную информацию можно посмотреть на сайте www.pmcs.com);
  • Модели с максимальным количеством портов – 24 порта SAS 2.0 (6Гб/сек), и слотом 8x PCI-express Gen 3.0;
  • Кэш память - 1024 MB DDR3-1333 DRAM.
  • Дочерняя плата с flash-памятью;
  • Выносной блок суперконденсатора.

Контроллеры 7-ой серии на уровне стека поддерживают: Simple Volume, JBOD, RAID 0,1, 10, 1E RAID 5, 6, 50, 60, Hybrid RAID 1, 10 и режим HBA*.

Начиная с 7-ой серии RAID-контроллеры поддерживают режим HBA, т.е. по сути это не совсем RAID-контроллер, это RAID-контроллер и HBA на одной плате. См. в описании функций продуктов раздел «Режим HBA».

Прекращена поддержка RAID 5EE (причина в том, что производительность RAID6 из-за усиления архитектуры микросхемы RoC сравнялась с RAID5EE, а по всем остальным параметрам – надежность, легкость в обслуживании и т.д., RAID 6 или аналогичен или лучше RAID5EE, что лишает смысла существание RAID 5EE в стеке современного RAID-контроллера).

Максимальная производительность ядра контроллера 600 000 IOPs.

Таблица: Проектная производительность – потоковые операции


Уровень RAID Чтение (МБ/с) Запись (МБ/c)
0 3500 3500
10 3500 2400
5/6 3500 2400

Все семейство поддерживает только порты miniSAS-HD.

Для внутренних портов используется разъем – SFF-8643 (internal mini-SAS HD),

Для внешних – SFF-8644 (external mini-SAS HD).


Обратите внимание на сбалансированность дипазонов пропускания со стороны SAS и PCI-E на примере 71605 контроллера – единственное в отрасли решение 16 портов SAS2 в низкопрофильном варианте.

Опция 7E

RAID-контроллеры для проектов начального класса.

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

Имеют упрощенный стек, поддерживают только Simple Volume, JBOD, RAID 0,1, 10, 1E, т.е., нет поддержки RAID 5,5EE,6, 50, 60.

Но поддерживают Hybrid RAID 1, 10 (см. раздел “Гибридные Тома” в главе “Основные фукнции RAID-контроллеров» ниже).

В отличие от 6E семейство 7E поддерживает экспандеры и имеют такой же разъем 8X PCI-E как и контроллеры без индекса “E”.

Семейство 7Q

RAID-контроллеры семейства 7Q обладают функцией SSD-кэширования.

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

Более детальную информацию смотрите в разделе “SSD-кэширование” в главе “Основные фукнции RAID-контроллеров».

Сводная таблица для контроллеров 7-й серии


Контроллер (модель) Разъем PCI-E Внутренние порты Внешние порты Поддержка SSD-кэширования Оперативная память (MB) Поддержка экспандеров Поддержка дисков
8x 8 - - 1024 Да Да До 256
7805Q 8x 8 - Да 1024 Да Да До 256
8x 16 - - 1024 Да Да До 256
8x 16 - - 256 Да Нет До 256
71605Q 8x 16 - Да 1024 Да Да До 256
8x 16 8 - 1024 Да Нет До 256

Максимальные в отрасли для RAID-контроллеров 700 000 операций ввода-вывода в секунду (IOPS) .

Max Cache 3.0 - уникальное для отрасли программное обеспечение уровневого управления и кэширования, обеспечивает хранилищам лучшую экономическую эффективность и производительность.

ASR-8885 имеет 8 внутренних/внешних портов SAS3 12 Гб/сек в низкопрофильном форм-факторе LP/MD2:

  • Базируются на микросхеме SRCv RoC (RAID on Chip) PMC PM8063 16x портов SAS3 (12 Гб/сек) PMC-Sierra (дополнительную информацию можно посмотреть на сайте www.pmcs.com);
  • Модели с максимальным количеством портов - 12 портов SAS 3.0 (12 Гб/сек) и слотом 8x PCI-express Gen 3.0;
  • Кэш память - 1024 MB DDR3-1600 DRAM;
  • Разъёмы HD miniSAS.

Опционально могут использовать Набор защиты кэша Adaptec Flash Module (AFM-700), в который входят:

  • Дочерняя плата с flash-памятью;
  • Выносной блок суперконденсатора.

Модель AFM-700 модуля защиты кэша подходит к 7 и 8 серии контроллеров Adaptec.

Семейство 8Q

RAID-контроллеры семейства 8Q поддерживают функцию SSD-кэширования.

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

Поддерживается кэш и на чтение и на запись.

Более детальную информацию смотрите в разделе “SSD-кэширование” в главе “Основные фукнции RAID-контроллеров» ниже.

Сводная таблица для контроллеров 8-ой серии



Контроллер (модель) Разъем PCI-E Внутренние порты Внешние порты Поддержка SSD-кэширования Оперативная память (MB) Поддержка экспандеров Поддержка модуля защиты кэша AFM-700

HBA (модель) Разъем PCI-E Внутренние порты Внешние порты Оперативная память (MB) Поддержка экспандеров Поддержка дисков
6805H 4x 8 (2 разъема MiniSAS SFF-8087) - - Да До 128
4x 4 (1 разъем MiniSAS SFF-8087) - -
HBA (модель) Разъем PCI-E Внутренние порты Внешние порты Оперативная память (MB) Поддержка экспандеров Поддержка дисков
71605H 8x 16 (2 разъема MiniSAS-HD SFF-8643) - - Да До 256
7805H 8x 8 (1 разъем MiniSAS-HD SFF-8643) - - Да До 256
70165H 6 серия RAID-контроллеров (6,6E) ДА НЕТ
7 серия RAID-контроллеров (7,7E,7Q) ДА ДА
8 серия RAID-контроллеров (8, 8Q) ДА ДА
6-ая серия HBA (6H) НЕТ ДА
7-ая серия HBA (7H) НЕТ ДА

Поддержка режима HBA

Мы уже рассмотрели выше, какие модели RAID-контроллеров поддерживают режим HBA. Важно отметить, что это делается независимо для каждого диска. Т.е. на контроллере, если вы не будете инициализировать часть дисков на физическом уровне, они автоматически попадут в программу типа “disk manager” и будут там видны и доступны для работы с ними.

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

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

Гибридные тома

На последних версиях прошивки контроллер Adaptec автоматически создает Hybrid RAID-массив, когда вы создаете RAID 1/10 из одинакового количества SSD и HDD (но в старых прошивках было важно, чтобы в RAID1 парах SSD-диск стоял “мастером”, а HDD-диск - “слейвом”). Если Вы не знаете, как это проверить – обратитесь с службу техподдержки Adaptec.

Контроллер Adaptec делает запись одновременно на HDD и SSD.

В режиме гибридного тома чтение идет только с SSD!!! (для тома из двух HDD-дисков при превышении некоторого порога операций Ввода-Вывода чтение происходит с двух дисков. В этом главное отличие гибридного режима RAID1/10). Результат – надежный массив с отличной производительностью чтения. Чтение как у одиночного SSD-диска. Это на несколько порядков выше чему у HDD. Функция стандартно поставляется со всеми контроллерами Adaptec Series 2, 5,6, 7, 8.


Поддержка типов томов, являющихся заменой RAID5

Надеемся, читатель хорошо представляет себе контейнер RAID5, что является достаточно классическим решением.


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

Особенность контейнера RAID5 заключается в том, что он может “пережить” проблемы в ряде контейнеров жестких дисков, из которых он состоит, т.е., секторы жестких дисков, которые входят в состав RAID5 контейнера, теряют свою информацию, но сам RAID5 контейнер ее хранит. Это происходит до определенного предела. При некотором количестве “испорченных” секторов сам RAID5 контейнер уже не сможет гарантировать 100% хранение информации.

Из-за перехода с технологии SCSI на технологию SAS предлагаемое базовое качество хранения информации контейнером RAID5 очень сильно ухудшилось, буквально, на несколько порядков.

Произошло это из-за ряда объективных причин:

  1. Из-за поддержки SATA дисков, особенно десктопного класса, качество хранения информации в контейнере типа “сектор диска” заметно упало (SCSI контроллеры поддерживали только высококачественные SCSI диски);
  2. Количество дисков на контроллере выросло многократно (2х канальный SCSI контрллер – максимум 26 дисков, с учетом производительности 8 -10(по 4-5 на канал));
  3. Емкость дисков выросла значительно. Это значит, что в томRAID 5 может попадать намного больше контейнеров RAID5 (мах. Емкость SCSI дисков 400GB, максимальная емкость современного SATA жесткого диска – 8 ТБ).

Все это увеличвает вероятность возникновения проблем в одном контейнере RAID5, что значительно уменьшает вероятность сохранения информации в томе RAID5.

По этой причине в современные стеки RAID-контроллеров добавлены решения, которые позволяют исключить использование RAID5. Это RAID 1E, RAID5EE и RAID6.

Раньше единственной альтернативой RAID5 был RAID10. Поддержка RAID 10, естественно, сохранилась.

Варианты замены RAID5:


Тип RAID