Тестирование серверных SCSI RAID-контроллеров

Сергей Пахомов, Сергей Самохин

Введение

Методика тестирования

Критерии качества

Выбор редакции

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

   Общие замечания

   Одноканальные RAID-контроллеры

      Adaptec ASR2110S

      Intel Server RAID Controller U2-1 (SRCU21)

      Intel Server RAID Controller U3-1 (SRCU31)

      Intel Server RAID Controller U3-1L (SRCU31L)

      Mylex AcceleRAID 170

   Двухканальные RAID-контроллеры

      Mylex AcceleRAID 352

      AMI MegaRAID Elite 1600

      Mylex eXtremeRAID 2000

 

IBM ServeRAID-4LX

 

В тестовой лаборатории журнала «КомпьютерПресс» проведено тестирование восьми RAID-контроллеров различных производителей: одноканальных Adaptec ASR2110S, Intel Server RAID Controller U2-1 (SRCU21), Intel Server RAID Controller U3-1 (SRCU31), Intel Server RAID Controller U3-1L (SRCU31L), Mylex AcceleRAID 170 и двухканальных Mylex AcceleRAID 352, AMI MegaRAID Elite 1600, Mylex eXtremeRAID 2000.

Введение

В современных серверах все большее распространение находит технология RAID (Redundant Array of Inexpensive Disks, избыточный массив из недорогих дисков). В массивах RAID обычно используется интерфейс SCSI, дополненный несколькими другими линиями управления. Каноническими, то есть стандартизованными, уровнями RAID являются 0, 1, 2, 3, 4, 5. Остальные являются комбинациями (например, 1+0) или улучшениями, произвольно нумеруемыми разработчиками. О RAID-массивах и алгоритмах их работы написано много, поэтому в табл. 1 приведена краткая информация, позволяющая судить о применимости уровня в каждом конкретном случае. Например, для графических приложений, работающих с файлами большого размера, наиболее пригоден уровень 3, для банка и офиса — уровень 5, для случаев, когда на первый план выдвигается сохранность данных любой ценой, — уровень 1.

Как же на практике реализуются RAID-системы? Основных функциональных частей две:  контроллер и набор дисков. Они соединены интерфейсом. Контроллер выполняет функции связи с сервером, генерации избыточной информации при записи и проверке при чтении, распределения информации по дискам в соответствии с алгоритмом функционирования. Контроллеры бывают как внешние, подключаемые по интерфейсу SCSI, так и внутренние, выполненные в виде платы расширения, устанавливаемой в сервер. Основой контроллера является мощный RISC-процессор, например Intel i960, который управляет распределением данных по накопителям и расчетами контрольных сумм и кодов. В составе контроллера обычно также имеется БИС управления каналом SCSI. Интерфейс, которым соединяются накопители и контроллер, — это Ultra/Wide SCSI-3 (Ultra 160), дополненный некоторыми линиями управления. Физически он представляет собой 96-контактные евроразъемы, закрепленные на печатной плате, то есть нечто подобное слотам расширения в компьютере; на таком разъеме имеются дополнительные линии управления раскруткой двигателя и некоторые другие. Для стыковки накопителей с таким RAID-интерфейсом используются пластиковые корпуса, снаружи которых установлена ответная часть 96-контактного разъема. Внутри предусмотрено пространство для установки накопителя и имеются шлейфы с разъемами, соединяющие накопитель с RAID-интерфейсом. Один шлейф заканчивается стандартным разъемом для подсоединения к SCSI-интерфейсу диска. Другие идут к блоку джамперов, при помощи которого устанавливается SCSI ID, к джамперу «раскрутка» и выводам светодиода «активность». Таким образом, контроллер может «по своему разумению» присваивать SCSI ID всем установленным накопителям; управлять запуском двигателя (при включении двигатели включаются и разгоняют пакет до нужной скорости вращения по очереди, чтобы избежать перегрузки блока питания). Установленные в корпуса накопители — обычные, серийные и вполне пригодны для применения в качестве простого SCSI-диска. В другом случае используется становящийся стандартным для НЖМД, устанавливаемых в RAID-массивы, 80-штырьковый разъем SCA-2 (Single Connector Attachment, подключение одним разъемом), в котором также имеются дополнительные линии для управления накопителями и подачи питания +5 В и +12 В. Такое решение более удачно благодаря экономии объема внутри RAID-конструктива и потому в настоящее время находит широкое распространение.

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

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

В последнее время в результате развития интерфейса IDE (ATA) появились RAID-массивы, в которых используются гораздо более дешевые и распространенные накопители с этим интерфейсом. Обычно устанавливается четыре канала IDE, что дает возможность подключения до восьми накопителей. В отличие от интерфейса SCSI ведущий и ведомый диски не могут работать одновременно, но при определенном конфигурировании контроллера (например, при разбиении массива на два тома, в одном из которых находятся все диски Master, а в другом — Slave) можно добиться неплохой производительности.

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

В начало В начало

Методика тестирования

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

Тестовый пакет IOmeter, разработанный фирмой Intel, состоит из контроллера (Manager) и одного или нескольких агентов (Worker). Контроллер позволяет менять конфигурацию тестов, а агенты выполняют работу в соответствии с конфигурацией. В данном случае и контроллер, и агент располагались на одном компьютере.

Одним из главных достоинств синтетического теста IOmeter является возможность создания требуемой «модели доступа», характерной, например, для файл-сервера или сервера баз данных. Переменными, составляющими модель доступа, являются размер запроса на передачу данных, случайное/последовательное чтение или запись и распределение операций чтения/записи в процентном соотношении. Эти три основные характеристики могут быть объединены «в общий процент» (Percentage of Access Specification), который вместе с остальными параметрами составит совокупную модель доступа, подходящую для любого случая.

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

При тестировании RAID-контроллеров мы воспользовались «моделью доступа», типичной для файл-сервера. Особенностью такой модели являются различные по размеру запросы, носящие исключительно случайный характер и преимущественно (на 80%) запросы на чтение. Размер запроса на передачу данных варьировался от 512 байт до 64 Кбайт, при этом каждому запросу присваивался тот или иной процент доступа. Такая модель доступа, характеризующая файл-сервер, была разработана специалистами компании StorageReview (http://www.storagereview.com/). Полное описание «модели доступа» представлено в табл. 2.

Утилита IOmeter позволяет измерять большое количество всевозможных характеристик, многие из которых либо дополняют друг друга, либо представляют собой различные варианты тестирования одних и тех же параметров. На наш взгляд, наибольший интерес представляет количество операций ввода/вывода (транзакций) в секунду. Этот наиболее значимый параметр показывает, сколько обращений было выполнено за 1 секунду. Разумеется, каждое обращение включает  несколько действий, выполненных последовательно: перемещение привода, вращение диска, считывание или запись блока размером от 0,5 до 64 Кбайт. Именно эту характеристику мы и измеряли с помощью утилиты IOmeter.

Для измерения скоростных показателей в режиме линейного чтения использовался также тест Ziff-Device WinBench 99 v. 1.2 / Disk Transfer Rate. Этот тест позволяет строить график зависимости линейной скорости считывания от местоположения данных в логическом адресном пространстве диска.

Для тестирования RAID-контроллеров использовался двухпроцессорный сервер, предоставленный компанией Nord (http://www.nord.ru/).

Разместить фотографию сервераРазместить фотографию сервера.

Сервер, имеющий специализированный корпус Intel SC5000 Pedestal, построен на базе материнской платы Intel STL2 c двумя процессорами Intel Pentium III 1000EB и частотой FSB 133 МГц. Объем установленной оперативной памяти — 512 Мбайт SDRAM ECC. Материнская плата Intel STL2 построена на наборе микросхем ServerWorks ServerSet III LE. Плата имеет шесть PCI-слотов, два их которых подключены к независимой 64-разрядной шине PCI с тактовой частотой 66 МГц, обеспечивающей увеличение пропускной способности подсистемы ввода/вывода, а остальные слоты являются 32-битными с тактовой частотой 33 МГц. Еще одной особенностью платы является наличие интегрированного двухканального SCSI-контроллера Adaptec AIC 7899 (один канал Ultra 160 и один канал Ultra Wide SCSI). Чип AIC 8799 поддерживает PCI-шину 64 бит 66 МГц (канал Ultra 160 с пропускной способностью 160 Мбайт/с) и шину 32 бит 33 МГц (канал Ultra Wide SCSI с пропускной способностью 80 Мбайт/с).

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

Разместить фотографию корзины для установки дисков.

Наличие интегрированного на плате SCSI-контроллера Adaptec AIC 7899 необходимо было для подключения системного SCSI-диска с операционной системой Windows 2000 Advanced Server SP2. Такая конфигурация была выбрана для того, чтобы исключить влияние ОС на проводимые тесты и влияние различных контроллеров на работу системы в целом.

Измерения проводились для каждого из контроллеров при подключении двух, трех, четырех и пяти SCSI-винчестеров IBM DDYS-T09170. Для исследования влияния количества подключенных накопителей на производительность использовался режим RAID0. Исключение делалось только для количества винчестеров, равного пяти. Эта конфигурация также устанавливалась в режим RAID5 для сравнения скорости обмена с последующим физическим отключением одного накопителя в целях проверки скорости работы в режиме восстановления данных по контрольным суммам. Для тестирования двухканальных контроллеров использовалась вторая корзина, при этом винчестеры устанавливались в обе корзины по схемам 1+1, 1+2, 2+2 и 2+3.

Основные характеристики винчестеров

При тестировании диски, объединяемые в RAID-массив, имели файловую систему NTFS, а размер страйпа для RAID-контроллера устанавливался по умолчанию и для всех контроллеров составлял 64 Кбайт.

В начало В начало

Критерии качества

Для сравнения RAID-контроллеров между собой необходимо выбрать основные параметры, относящиеся прежде всего к скоростным показателям массива, образованного различными контроллерами и набором одинаковых дисков. Из таких показателей мы выбрали скорость транзакций (количество операций ввода/вывода в секунду), время доступа (время выполнения транзакции), загрузку процессора и скорость линейного чтения диска. Первые три параметра измерялись с помощью утилиты IOmeter, последний параметр –— с помощью утилиты WinBench 99. Для получения показателей качества каждого параметра использовался метод взвешивания, при котором скорость обмена и другие параметры, полученные для массива из i-дисков, умножались на количество дисков массива и затем суммировались.

Необходимость использования столь запутанного алгоритма вызвана простым соображением. Каждый RAID-контроллер тестировался с двумя, тремя, четырьмя и пятью жесткими дисками. При этом можно предположить, что влияние самого RAID-контроллера на производительность дисковой подсистемы в большей степени проявляется при большом количестве дисков. Только в случае двух дисков производительность дисковой подсистемы зависит в первую очередь от характеристик самих дисков. Именно это мы и подтвердили во время проведения испытаний: при двух установленных дисках все RAID-контроллеры показали приблизительно одинаковую производительность. Таким образом, было бы логично увеличивать «значимость» результата по мере роста количества устанавливаемых дисков. В нашем случае результат увеличивается в геометрической пропорции. То есть количество транзакций (операций ввода/вывода) в секунду для пяти дисков в пять раз больше, чем для одного диска. Именно поэтому для определения средневзвешенного результата параметры, полученные для массива из i-дисков, умножались на количество дисков массива.

Для RAID-массива из пяти дисков уровня 5 процедура взвешивания не проводилась.

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

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

В начало В начало

Выбор редакции

Таким образом, по результатам тестирования наиболее качественным одноканальным SCSI RAID-контроллером оказался Intel Server RAID Controller U3-1 (SRCU31), который к тому же оказался наилучшим в категории «Выгодная покупка». В группе двухканальных контроллеров наиболее качественным оказался Mylex eXtremeRAID 2000, а выгодным для покупки — AMI MegaRAID Elite1600.