Расширение портов RAID контроллера SAS. Сравнительный обзор шести SAS RAID-контроллеров Тесты в IOmeter

Коротко о современных RAID-контроллерах

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

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

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

Учитывая тот факт, что на смену серверным SCSI-дискам уже пришли SAS-диски, все современные серверные RAID-контроллеры ориентированы на поддержку либо SAS-, либо SATA-дисков, которые также применяются в серверах.

В прошлом году на рынке начали появляться диски с новым интерфейсом SATA 3 (SATA 6 Гбит/с), который стал постепенно вытеснять интерфейс SATA 2 (SATA 3Гбит/с). Ну а на смену дискам с интерфейсом SAS (3 Гбит/с) пришли диски с интерфейсом SAS 2.0 (6 Гбит/с). Естественно, новый стандарт SAS 2.0 полностью совместим со старым стандартом.

Соответственно появились RAID-контроллеры с поддержкой стандарта SAS 2.0. Казалось бы, какой смысл переходить к стандарту SAS 2.0, если даже самые скоростные SAS-диски имеют скорость чтения и записи данных не выше 200 Мбайт/с и для них вполне достаточно пропускной способности протокола SAS (3 Гбит/с или 300 Мбайт/с)?

Действительно, когда каждый диск подключается к отдельному порту на RAID-контроллере, пропускной способности 3 Гбит/с (что в теории составляет 300 Мбайт/с) вполне достаточно. Однако к каждому порту RAID-контроллера могут подключаться не только отдельные диски, но и дисковые массивы (дисковые корзины). В этом случае один SAS-канал делят между собой сразу несколько накопителей, и пропускной способности в 3 Гбит/с будет уже недостаточно. Ну и, кроме того, нужно учитывать наличие SSD-дисков, скорость чтения и записи которых уже преодолела планку в 300 Мбайт/с. К примеру, в новом диске Intel SSD 510 скорость последовательного чтения составляет до 500 Мбайт/с, а скорость последовательной записи - до 315 Мбайт/с.

После краткого знакомства с текущей ситуацией на рынке серверных RAID-контроллеров давайте рассмотрим характеристики контроллера LSI 3ware SAS 9750-8i.

Характеристики RAID-контроллера 3ware SAS 9750-8i

Данный RAID-контроллер выполнен на базе специализированного XOR-процессора LSI SAS2108 с тактовой частотой 800 МГц и архитектурой PowerPC. Этот процессор использует 512 Мбайт оперативной памяти DDRII 800 МГц с коррекцией ошибок (ECC).

Контроллер LSI 3ware SAS 9750-8i совместим с SATA- и SAS-дисками (поддерживаются как HDD-, так и SSD-диски) и позволяет подключать до 96 устройств с помощью SAS-экспандеров. Немаловажно, что данный контроллер поддерживает диски с интерфейсом SATA 600 Мбайт/с (SATA III) и SAS 2.

Для подключения дисков на контроллере предусмотрено восемь портов, которые физически объединены в два разъема Mini-SAS SFF-8087 (по четыре порта в каждом разъеме). То есть если диски подключать напрямую к портам, то всего можно подключить к контроллеру восемь дисков, а при подключении к каждому порту дисковых корзин общий объем дисков может быть увеличен до 96. Каждый из восьми портов контроллера имеет пропускную способность 6 Гбит/с, что соответствует стандартам SAS 2 и SATA III.

Естественно, при подключении дисков или дисковых корзин к этому контроллеру потребуются специализированные кабели, которые c одного конца имеют внутренний разъем Mini-SAS SFF-8087, а на другом конце - разъем, который зависит от того, что именно подключается к контроллеру. К примеру, при подключении к контроллеру напрямую SAS-дисков необходимо использовать кабель, у которого с одной стороны разъем Mini-SAS SFF-8087, а с другой - четыре разъема SFF 8484, которые позволяют непосредственно подключать SAS-диски. Отметим, что сами кабели не входят в комплект поставки и приобретаются отдельно.

У контроллера LSI 3ware SAS 9750-8i есть интерфейс PCI Express 2.0 x8, что обеспечивает пропускную способность 64 Гбит/с (по 32 Гбит/с в каждом направлении). Понятно, что такой пропускной способности вполне достаточно для полностью загруженных восьми портов SAS с пропускной способностью 6 Гбит/с каждый. Также отметим, что на контроллере имеется специальный разъем, в который опционально можно подключить батарею резервного питания LSIiBBU07.

Немаловажно, что данный контроллер требует инсталляции драйвера, то есть является программно-аппаратным RAID-контроллером. При этом поддерживаются такие операционные системы, как Windows Vista, Windows Server 2008, Windows Server 2003 x64, Windows 7, Windows 2003 Server, MAC OS X, LinuxFedora Core 11, Red Hat Enterprise Linux 5.4, OpenSuSE 11.1, SuSE Linux Enterprise Server (SLES) 11, OpenSolaris 2009.06, VMware ESX/ESXi 4.0/4.0 update-1 и другие системы семейства Linux. В комплект поставки также входит программное обеспечение 3ware Disk Manager 2, которое позволяет управлять RAID-массивами через операционную систему.

Контроллер LSI 3ware SAS 9750-8i поддерживает стандартные типы RAID-массивов: RAID 0, 1, 5, 6, 10 и 50. Пожалуй, единственный тип массива, который не поддерживается, - RAID 60. Это связано с тем, что данный контроллер способен создать массив RAID 6 только на пяти дисках, подключаемых напрямую к каждому порту контроллера (теоретически RAID 6 может быть создан на четырех дисках). Соответственно для массива RAID 60 данному контроллеру требуется минимум десять дисков, которых просто нет.

Понятно, что поддержка массива RAID 1 неактуальна для такого контроллера, поскольку данный тип массива создается только на двух дисках, а использовать такой контроллер только для двух дисков нелогично и крайне расточительно. А вот поддержка массивов RAID 0, 5, 6, 10 и 50 весьма актуальна. Хотя, возможно, с массивом RAID 0 мы и поторопились. Всё же этот массив не обладает избыточностью, а соответственно не обеспечивает надежности хранения данных, поэтому в серверах он используется крайне редко. Однако теоретически этот массив является самым быстрым по скорости чтения и записи данных. Впрочем, давайте вспомним, чем разные типы RAID-массивов отличаются друг от друга и что они собой представляют.

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

Термин «RAID-массив» появился в 1987 году, когда американские исследователи Паттерсон, Гибсон и Катц из Калифорнийского университета в Беркли в своей статье «Избыточный массив недорогих дисков» (“A case for redundant arrays of inexpensive discs, RAID”) описали, каким образом можно объединить несколько дешевых жестких дисков в одно логическое устройство так, чтобы в результате повышались емкость и быстродействие системы, а отказ отдельных дисков не приводил к отказу всей системы. С момента выхода этой статьи прошло уже почти 25 лет, но технология построения RAID-массивов не утратила актуальности и сегодня. Единственное, что изменилось с тех пор, - это расшифровка аббревиатуры RAID. Дело в том, что первоначально RAID-массивы строились вовсе не на дешевых дисках, поэтому слово Inexpensive («недорогие») поменяли на Independent («независимые»), что больше соответствовало действительности.

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

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

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

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

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

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

В настоящее время существует несколько RAID-уровней, которые широко используются, - это RAID 0, RAID 1, RAID 5, RAID 6, RAID 10, RAID 50 и RAID 60. Ранее также применялись уровни RAID 2, RAID 3 и RAID 4, однако в настоящее время эти уровни RAID не используются и современные RAID-контроллеры их не поддерживают. Отметим, что все современные RAID-контроллеры поддерживают также функцию JBOD (Just a Bench Of Disks). В данном случае речь идет не о RAID-массиве, а просто о подключении отдельных дисков к RAID-контроллеру.

RAID 0

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

Рис. 1. Массив RAID 0

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

Надежность массива RAID 0 заведомо ниже надежности любого из дисков в отдельности и снижается с увеличением количества входящих в массив дисков, так как отказ любого из них приводит к неработоспособности всего массива. Если время наработки на отказ каждого диска составляет MTTF disk , то время наработки на отказ массива RAID 0, состоящего из n дисков, равно:

MTTF RAID0 = MTTD disk /n.

Если обозначить вероятность выхода из строя за определенный промежуток времени одного диска через p , то для массива RAID 0 из n дисков вероятность того, что хотя бы один диск выйдет из строя (вероятность падения массива), составит:

Р (падение массива) = 1 – (1 – р) n .

К примеру, если вероятность выхода из строя одного диска в течение трех лет эксплуатации составляет 5%, то вероятность падения массива RAID 0 из двух дисков равна уже 9,75%, а из восьми дисков - 33,7%.

RAID 1

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

Рис. 2. Массив RAID 1

Если, как в предыдущем случае, обозначить вероятность выхода из строя за определенный промежуток времени одного диска через p , то для массива RAID 1 вероятность того, что оба диска выйдут из строя одновременно (вероятность падения массива), составит:

Р (падение массива) = р 2 .

К примеру, если вероятность выхода из строя одного диска в течение трех лет эксплуатации составляет 5%, то вероятность одновременного выхода из строя двух дисков равна уже 0,25%.

RAID 5

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

Рис. 3. Массив RAID 5

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

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

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

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

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

В случае выхода из строя любого диска данные на нем можно восстановить по контрольным данным и по данным, оставшимся на исправных дисках. Действительно, воспользовавшись тождествами (a b) A b = a и a a = 0 , получим, что:

p n ⊕ (d k p n) = d l d n ⊕ ...⊕ ...⊕ d n–l ⊕ (d k p n).

d k = d 1 d n ⊕ ...⊕ d k–1 d k+1 ⊕ ...⊕ p n .

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

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

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

RAID 6

Массив RAID 5, как было показано, может быть восстановлен при выходе из строя одного диска. Однако иногда требуется обеспечить более высокий уровень надежности, чем в массиве RAID 5. В этом случае можно использовать массив RAID 6 (рис. 4), который позволяет восстановить массив даже при выходе из строя одновременно двух дисков.

Рис. 4. Массив RAID 6

Массив RAID 6 похож на RAID 5, но в нем применяется не одна, а две контрольные суммы, которые циклически распределяются по дискам. Первая контрольная сумма p рассчитывается по тому же алгоритму, что и в массиве RAID 5, то есть это операция XOR между блоками данных, записываемыми на разные диски:

p n = d 1 d2 ⊕ ...⊕ d n–1 .

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

q n = g 1 d 1 g 2 d 2 ⊕ ...⊕ g n–1 d n–1 .

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

Нужно иметь в виду, что производительность массива RAID 6, как правило, на 10-15% ниже производительности массива RAID 5 (при равном количестве дисков), что вызвано большим объемом расчетов, выполняемых контроллером (необходимо рассчитывать вторую контрольную сумму, а также считывать и перезаписывать больше дисковых блоков при записи каждого блока).

RAID 10

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

Рис. 5. Массив RAID 10

RAID 50

Массив RAID 50 представляет собой сочетание уровней 0 и 5 (рис. 6). Минимально для этого уровня требуется шесть дисков. В массиве RAID 50 сначала создаются два массива RAID 5 (минимум по три диска в каждом), которые потом как логические диски объединяются в массив RAID 0.

Рис. 6. Массив RAID 50

Методика тестирования контроллера LSI 3ware SAS 9750-8i

Для тестирования RAID-контроллера LSI 3ware SAS 9750-8i мы использовали специализированный тестовый пакет IOmeter 1.1.0 (версия от 2010.12.02). Тестовый стенд имел следующую конфигурацию:

  • процессор - Intel Core i7-990 (Gulftown);
  • системная плата - GIGABYTE GA-EX58-UD4;
  • память - DDR3-1066 (3 Гбайт, трехканальный режим работы);
  • системный диск - WD Caviar SE16 WD3200AAKS;
  • видеокарта - GIGABYTE GeForce GTX480 SOC;
  • RAID-контроллер - LSI 3ware SAS 9750-8i;
  • SAS-диски, подключаемые к RAID-контроллеру, - Seagate Cheetah 15K.7 ST3300657SS.

Тестирование проводилось под управлением операционной системы Microsoft Windows 7 Ultimate (32-bit).

Мы использовали Windows-драйвер RAID-контроллера версии 5.12.00.007, а также обновили прошивку контроллера до версии 5.12.00.007.

Системный диск подключался к SATA, реализованному через контроллер, интегрированный в южный мост чипсета Intel X58, a SAS-диски подключались напрямую к портам RAID-контроллера с использованием двух кабелей Mini-SAS SFF-8087 ->4 SAS.

RAID-контроллер устанавливался в разъем PCI Express x8 на системной плате.

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

Размер страйпа на всех RAID-массивах не изменялся и составлял 256 Кбайт.

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

Если на диске создан логический раздел, то первоначально утилита IOmeter создает на диске файл, который по умолчанию занимает весь логический раздел (в принципе, размер этого файла можно изменять, указав его в количестве 512 байтных секторов), и далее уже работает с этим файлом, то есть считывает или записывает (перезаписывает) отдельные LBA-блоки в пределах этого файла. Но опять-таки IOmeter работает в обход операционной системы, то есть непосредственно посылает запросы контроллеру на чтение/запись данных.

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

Кроме того, утилита IOmeter позволяет задавать размер блока запроса (Transfer Request Size) на запись/чтение данных, а тест можно проводить как для последовательных (Sequential) чтения и записи, когда LBA-блоки считываются и записываются последовательно друг за другом, так и для случайных (Random), когда LBA-блоки считываются и записываются в произвольном порядке. При формировании сценария нагрузки можно задавать время теста, процентное соотношение между последовательными и случайными операциями (Percent Random/Sequential Distribution), а также процентное соотношение между операциями чтения и записи (Percent Read/Write Distribution). Кроме того, утилита IOmeter позволяет автоматизировать весь процесс тестирования и сохраняет все результаты в CSV-файл, который затем легко экспортируется в таблицу Excel.

Еще одна настройка, которую позволяет делать утилита IOmeter, - это так называемое выравнивание блоков запросов на передачу данных (Align I/Os on) по границам секторов жесткого диска. По умолчанию IOmeter выравнивает блоки запросов по границам 512-байтных секторов диска, однако можно задать и произвольное выравнивание. Собственно, большинство жестких дисков имеют размер сектора 512 байт и только в последнее время стали появляться диски с размером сектора 4 Кбайт. Напомним, что в HDD-дисках сектор - это минимальный адресуемый размер данных, который можно записать или считать с диска.

При проведении тестирования необходимо устанавливать выравнивание блоков запросов на передачу данных по размеру сектора диска. Поскольку в дисках Seagate Cheetah 15K.7 ST3300657SS размер сектора составляет 512 байт, мы использовали выравнивание по границам 512-байтных секторов.

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

В перечисленных сценариях нагрузки время теста с каждым запросом на передачу блока данных составляло 5 мин. Также отметим, что во всех перечисленных тестах мы задавали в настройках IOmeter глубину очереди задачи (# of Outstanding I/Os) равной 4, что типично для пользовательских приложений.

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

Проанализировав результаты тестирования, мы были удивлены работой RAID-контроллера LSI 3ware SAS 9750-8i. Причем настолько, что стали просматривать наши скрипты на предмет выявления в них ошибки, а потом многократно повторили тестирование с другими настройками RAID-контроллера. Мы меняли размер страйпа и режим работы кэша RAID-контроллера. Это, конечно же, отражалось на результатах, однако не меняло общего характера зависимости скорости передачи данных от размера блока данных. А эту зависимость мы как раз и не смогли объяснить. Работа данного контроллера представляется нам совершенно нелогичной. Во­первых, результаты нестабильны, то есть при каждом фиксированном размере блока данных скорость периодически изменяется и усредненный результат имеет большую погрешность. Отметим, что обычно результаты тестирования дисков и контроллеров с использованием утилиты IOmeter стабильны и различаются весьма незначительно.

Во­вторых, при увеличении размера блока скорость передачи данных должна возрастать или оставаться неизменной в режиме насыщения (когда скорость достигает своего максимального значения). Однако в случае контроллера LSI 3ware SAS 9750-8i при некоторых размерах блоков наблюдается резкое падение скорости передачи данных. Кроме того, для нас так и осталось загадкой, почему при одном и том же количестве дисков для массивов RAID 5 и RAID 6 скорость записи выше скорости чтения. Одним словом, объяснить работу контроллера LSI 3ware SAS 9750-8i мы не можем - остается лишь констатировать факты.

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

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

RAID 0

Массив RAID 0 можно создать с количеством дисков от двух до восьми. Результаты тестирования для массива RAID 0 представлены на рис. 7-15.

Рис. 7. Скорость последовательного чтения и записи
при восьми дисках в массиве RAID 0

Рис. 8. Скорость последовательного чтения и записи
при семи дисках в массиве RAID 0

Рис. 9. Скорость последовательного чтения
и записи при шести дисках в массиве RAID 0

Рис. 10. Скорость последовательного чтения и записи
при пяти дисках в массиве RAID 0

Рис. 11. Скорость последовательного чтения и записи
при четырех дисках в массиве RAID 0

Рис. 12. Скорость последовательного чтения и записи
при трех дисках в массиве RAID 0

Рис. 13. Скорость последовательного чтения и записи
при двух дисках в массиве RAID 0

Рис. 14. Скорость случайного чтения
в массиве RAID 0

Рис. 15. Скорость случайной записи в массиве RAID 0

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

Нельзя не отметить и характерные провалы в скорости последовательного чтения и записи при определенных размерах блоков. К примеру, при восьми и шести дисках в массиве такие провалы наблюдаются при размере блоков данных 1 и 64 Кбайт, а при семи дисках - при размере 1, 2 и 128 Кбайт. Аналогичные провалы, но при других размерах блоков данных имеются и при четырех, трех и двух дисках в массиве.

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

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

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

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

RAID 5

Массив RAID 5 можно создать с количеством дисков от трех до восьми. Результаты тестирования для массива RAID 5 представлены на рис. 16-23.

Рис. 16. Скорость последовательного чтения и записи
при восьми дисках в массиве RAID 5

Рис. 17. Скорость последовательного чтения и записи
при семи дисках в массиве RAID 5

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

Рис. 19. Скорость последовательного чтения и записи
при пяти дисках в массиве RAID 5

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

Рис. 21. Скорость последовательного чтения и записи
при трех дисках в массиве RAID 5

Рис. 22. Скорость случайного чтения
в массиве RAID 5

Рис. 23. Скорость случайной записи
в массиве RAID 5

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

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

По скорости последовательного чтения и записи в конфигурации с восемью дисками массив RAID 5 уступает массивам RAID 0 и RAID 50, но превосходит массивы RAID 10 и RAID 6. В конфигурациях с семью дисками массив RAID 5 по скорости последовательного чтения и записи уступает массиву RAID 0 и превосходит массив RAID 6 (остальные типы массивов невозможны при данном количестве дисков).

В конфигурациях с шестью дисками массив RAID 5 по скорости последовательного чтения уступает массивам RAID 0 и RAID 50, а по скорости последовательной записи - только массиву RAID 0.

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

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

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

По скорости случайной записи массив RAID 5 в конфигурации с восемью дисками уступает лишь массивам RAID 0 и RAID 50, а в конфигурации с семью и пятью, четырьмя и тремя дисками - только массиву RAID 0.

В конфигурации с шестью дисками массив RAID 5 уступает по скорости случайной записи массивам RAID 0, RAID 50 и RAID 10.

RAID 6

Контроллер LSI 3ware SAS 9750-8i позволяет создать массив RAID 6 с количеством дисков от пяти до восьми. Результаты тестирования для массива RAID 6 представлены на рис. 24-29.

Рис. 24. Скорость последовательного чтения и записи
при восьми дисках в массиве RAID 6

Рис. 25. Скорость последовательного чтения и записи
при семи дисках в массиве RAID 6

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

По скорости последовательного чтения массив RAID 6 уступает всем остальным массивам в конфигурациях с любым (от восьми до пяти) количеством дисков.

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

Случайный доступ в массиве RAID 6 подобен случайному доступу в массивах RAID 0 и RAID 5. Так, скорость случайного чтения при размере блока 512 Кбайт при любом количестве дисков в массиве имеет характерный провал по скорости случайного чтения. Отметим, что максимальная скорость случайного чтения достигается при шести дисках в массиве. Ну а при семи и восьми дисках скорость случайного чтения практически одинакова.

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

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

В конфигурации с шестью дисками массив RAID 6 уступает массивам RAID 10 и RAID 50 по скорости случайного чтения, а в конфигурации с пятью дисками - массивам RAID 0 и RAID 5.

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

В целом можно констатировать, что массив RAID 6 уступает по производительности и массивам RAID 0, RAID 5, RAID 50 и RAID 10. То есть по производительности этот тип массива оказался на последнем месте.

Рис. 33. Скорость случайного чтения
в массиве RAID 10

Рис. 34. Скорость случайной записи в массиве RAID 10

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

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

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

По скорости последовательного чтения массив RAID 10 идет вслед за массивами RAID 0, RAID 50 и RAID 5 в конфигурации с восемью, шестью и четырьмя дисками, а по скорости последовательной записи он уступает даже массиву RAID 6, то есть идет вслед за массивами RAID 0, RAID 50, RAID 5 и RAID 6.

Зато по скорости случайного чтения массив RAID 10 опережает все остальные массивы в конфигурации с восемью, шестью и четырьмя дисками. А вот по скорости случайной записи этот массив проигрывает массивам RAID 0, RAID 50 и RAID 5 в конфигурации с восемью дисками, массивам RAID 0 и RAID 50 в конфигурации с шестью дисками и массивам RAID 0 и RAID 5 в конфигурации с четырьмя дисками.

RAID 50

Массив RAID 50 можно построить на шести или восьми дисках. Результаты тестирования для массива RAID 50 представлены на рис. 35-38.

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

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

По скорости последовательного чтения массив RAID 50 уступает лишь массиву RAID 0 (в конфигурации с восемью и шестью дисками). По скорости последовательной записи массив RAID 50 также уступает лишь массиву RAID 0 в конфигурации с восемью дисками, а в конфигурации с шестью дисками он проигрывает массивам RAID 0, RAID 5 и RAID 6.

Зато по скорости случайного чтения и записи массив RAID 50 уступает лишь массиву RAID 0 и опережает все остальные возможные при восьми и шести дисках массивы.

RAID 1

Как мы уже отмечали, массив RAID 1, который может быть построен только на двух дисках, использовать на таком контроллере нецелесо-образно. Однако для полноты картины мы приводим результаты и для массива RAID 1 на двух дисках. Результаты тестирования для массива RAID 1 представлены на рис. 39 и 40.

Рис. 39. Скорость последовательной записи и чтения в массиве RAID 1

Рис. 40. Скорость случайной записи и чтения в массиве RAID 1

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

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

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

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

Выводы

Впечатление от тестирования контроллера LSI 3ware SAS 9750-8i в сочетании с SAS-дисками Seagate Cheetah 15K.7 ST3300657SS у нас сложилось довольно неоднозначное. С одной стороны, у него прекрасные функциональные возможности, с другой - настораживают провалы по скорости при определенных размерах блоков данных, что, безусловно, отражается на скоростных показателях RAID-массивов при их функционировании в реальной среде.

Сколько должно быть разъемов на контроллере?

Наболело! Чуть ли не каждый день вижу вопросы такого плана: “В сервер можно поставить 16 (24) жестких диска, а SAS RAID контроллер у меня только 8-ми (или того хуже 4х) портовый! Что мне делать? Это наверное ошибка в конфигурации?!”. Ну что на это можно сказать? Может быть это конечно и ошибка, но скорее всего нет. Как же так? А все очень просто: SAS это протокол последовательной передачи данных и поддерживающий коммутацию. Если Вам нужно к серверу подключить 7 рабочих станций, Вы же не ставите в сервер 7 сетевых карт, а используете коммутатор на 8 портов, который позволяет всем машинам получить доступ к серверу. Точно также и в данной ситуации: либо в самом корпусе (прямо на бэкплейне), либо в виде отдельной карты присутствует аналог этого самого коммутатора. Только в данном случае он называется SAS-экспандером и позволяет подключить к RAID контроллеру гораздо больше дисков, чем есть SAS линий на самом контроллере. Наиболее распространены экспандеры на базе чипов LSI: LSISASx28 , LSISASx36 или LSISAS2x36 (для 6Gbps SAS). В частности, на бэкплейнах в корпусах Supermicro используются экспандеры именно LSI. Отдельные карты с экспандерами также существуют, например в России проще всего найти их среди продукции компании Chenbro .

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

Вот вроде бы и разобрались - для подключения 24х дисков вовсе не нужно 24 порта на контроллере, достаточно и 4х (так как обычно именно 4 SAS линии используется для соединения контроллера с экспандером). А используя контроллер с 4мя внутренними портами и 4мя внешними можно не только задействовать (при использовании экспандера все диски в сервере, но и обеспечить возможность дальнейшего увеличения дисковой подсистемы за счет добавления внешней дисковой полки (JBOD).

Но сразу возникает несколько новых вопросов: “А нужно ли использовать экспандер? Может быть он так замедляет работу, что от него надо отказаться? У меня целых 24 (а то и еще больше) диска подключено только по 4м линиям SAS - наверное это будет очень медленно?”.

Попробуем найти ответы. Начнем с конца: 4 SAS линии по 3Gbps дают в сумме 12Gbps, а это целых 1.5 Гига-байта в секунду. Можно ли реально достичь такой пропускной способности? В принципе можно, но (а) нужно помнить, что наверное с этим потоком нужно еще что-то делать, а не просто читать или писать и (б) дисков для этого потребуется (даже при благоприятном стечении обстоятельств) заметно больше десятка. А если учесть, что при типичной работе сервера запросы к дисковой подсистеме идут в значительной степени случайные, то полосы пропускания в 12Gbps оказывается вполне достаточно - можете проверить сами на любом своем сервере, запустив perfmon (под Windows) и посмотрев на трансфер с дисков во время работы. А что до возникновения дополнительных задержек при использовании экспандеров, то они конечно есть, но “поймать” (измерить) их Вам не удастся - настолько они малы по сравнению с задержками при обращении к жесткому диску. Есть и еще один аргумент, чтобы не бояться экспандеров - в RAID-контроллерах, где количество портов больше 8, зачастую это объясняется именно наличием интегрированного на плате экспандера - например Adaptec

в комплект не входит.

Высокопроизводительный 6-Гб/с аппаратный RAID-контроллер 9260-8i с 8ю внутренними портами (2 разъема SFF8087) и объемом встроенной памяти 512МБ, позволяющий подключить до 128 накопителей SAS и SATA с технологией RAID-on-Chip.

Линейка высокопроизводительной продукции MegaRAID SATA+SAS 9260 позволяет добиться высочайших скоростей передачи данных до 2880МБ/с на чтение, 1850МБ/с на запись и до 147000 операций ввода-вывода при произвольном доступе к данным, что позволяет обеспечивать работу любых даже самых требовательных приложений, таких как базы данных и видеообработка.

Эти продукты позволяют использовать носители 3 Гб/с и 6 Гб/с с поддержкой внутреннего подключения как SATA-, так и SAS-накопителей.

Внутреннее подключение SATA- или SAS-накопителей сервера. Позволяет работать с 128 устройствами с помощью экспандеров SAS. Технология LSI RAID-on-Chip (ROC) и основной интерфейс PCI Express для приложений, требующих широкой полосы пропускания.

Опциональный резервный аккумулятор для предотвращения потери данных в случае отказа сервера.

Поддержка дополнительного программного обеспечения CacheCade, FastPath и Recovery/Snapshots.

Основные особенности

  • Максимально доступный уровень производительности: в режиме считывания: 2.875Мбайт/с, в режиме записи: 1.850Мбайт/с
  • PCI Express 2.0 обеспечивает более высокую скорость передачи сигнала для приложений, работающих с широкой полосой пропускания
  • Максимальная гибкость решения за счет поддержки дисковых накопителей SATA и SAS 3Гбит/с и 6Гбит/с
  • Технология кодирования SafeStore Encryption обеспечивает более надежную защиту данных
  • Низкопрофильный дизайн MD2 удобный для размещения в компактных архитектурах 1U и 2U

Технические характеристики

Параметр Описание
Процессор LSISAS2108 RAID-on-Chip (ROC) 800МГц PowerPC®
Быстродействие До 6Гбит/с на порт
Интерфейсы

Восемь внутренних портов SATA+SAS
Два внутренних интерфеса SFF-8087

Память Кэш-память - 512Мб DDRII (800МГц)
Кол-во поддерживаемых устройств до 32 дисковых накопителей SATA и/или SAS
Поддерживаемые уровни RAID RAID - уровень 0, 1, 5 и 6
Расширенный RAID 10, 50 и 60
Интерфейс хост-контроллера X8 PCI Express версии 2.0
Форм-фактор Низкопрофильный формат MD2 (167.64 мм х 64.42 мм)
Функциональные возможности

Блок аварийного питания (опция, прямое подключение)

Автоматическое возобновление работы после модернизации

Автоматическое возобновление работы после восстановления

Онлайновое увеличение емкости (OCE)

Онлайновая миграция с одного на другой уровень RAID (RLM)

Система кодирования данных SafeStore

Функция немедленного удаления данных

SSD-поддержка с технологией SSD Guard™

Глобальное и специализированное резервирование, аварийное горячее резервирование с функцией восстановления данных

Автоматическое восстановление

Структурная целостность для горячего резервирования

Аварийное горячее резервирование SATA для массивов SAS

Многоканальная структура поддержки для одного контроллера (переключение при отказе)

Распределение загрузки

Комплексное программное обеспечение для управления RAID массивами

Уважаемые покупатели.
Обращаем Ваше внимание, что размещенная на данном сайте справочная информация о товарах не является офертой, наличие и стоимость оборудования необходимо уточнить у менеджеров ООО "НАГ", которые с удовольствием помогут Вам в выборе оборудования и оформлении на него заказа.

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

Тесты массивов RAID 6, 5, 1 и 0 с дисками SAS-2 компании Hitachi

Видимо, прошли те времена, когда приличный профессиональный 8-портовый RAID-контроллер стоил весьма внушительных денег. Нынче появились решения для интерфейса Serial Attached SCSI (SAS), которые очень даже привлекательны и по цене, и по функциональности, да и в плане производительности. Об одном из них - этот обзор.

Контроллер LSI MegaRAID SAS 9260-8i

Ранее мы уже писали об интерфейсе SAS второго поколения со скоростью передачи 6 Гбит/с и весьма дешевом 8-портовом HBA-контроллере LSI SAS 9211-8i, предназначенном для организации систем хранения данных начального ценового уровня на базе простейших RAID-массивов SAS и SATA-накопителей. Модель же LSI MegaRAID SAS 9260-8i будет классом повыше - она оснащена более мощным процессором с аппаратным обсчетом массивов уровней 5, 6, 50 и 60 (технология ROC - RAID On Chip), а также ощутимым объемом (512 Мбайт) набортной SDRAM-памяти для эффективного кеширования данных. Этим контроллером также поддерживаются интерфейсы SAS и SATA со скоростью передачи данных 6 Гбит/с, а сам адаптер предназначен для шины PCI Express x8 версии 2.0 (5 Гбит/с на линию), чего теоретически почти достаточно для удовлетворения потребностей 8 высокоскоростных портов SAS. И все это - по розничной цене в районе 500 долларов, то есть лишь на пару сотен дороже бюджетного LSI SAS 9211-8i. Сам производитель, кстати, относит данное решение к серии MegaRAID Value Line, то есть экономичным решениям.




8-портовый SAS-контроллер LSIMegaRAID SAS9260-8i и его процессор SAS2108 с памятью DDR2

Плата LSI SAS 9260-8i имеет низкий профиль (форм-фактор MD2), оснащена двумя внутренними разъемами Mini-SAS 4X (каждый из них позволяет подключать до 4 SAS-дисков напрямую или больше - через порт-мультипликаторы), рассчитана на шину PCI Express x8 2.0 и поддерживает RAID-массивы уровней 0, 1, 5, 6, 10, 50 и 60, динамическую функциональность SAS и мн. др. Контроллер LSI SAS 9260-8i можно устанавливать как в рэковые серверы формата 1U и 2U (серверы классов Mid и High-End), так и в корпуса ATX и Slim-ATX (для рабочих станций). Поддержка RAID производится аппаратно - встроенным процессором LSI SAS2108 (ядро PowerPC на частоте 800 МГц), доукомплектованным 512 Мбайт памяти DDR2 800 МГц с поддержкой ECC. LSI обещает скорость работы процессора с данными до 2,8 Гбайт/с при чтении и до 1,8 Гбайт/с при записи. Среди богатой функциональности адаптера стоит отметить функции Online Capacity Expansion (OCE), Online RAID Level Migration (RLM) (расширение объема и изменение типа массивов «на ходу»), SafeStore Encryption Services и Instant secure erase (шифрование данных на дисках и безопасное удаление данных), поддержку твердотельных накопителей (технология SSD Guard) и мн. др. Опционально доступен батарейный модуль для этого контроллера (с ним максимальная рабочая температура не должна превышать +44,5 градусов Цельсия).

Контроллер LSI SAS 9260-8i: основные технические характеристики

Системный интерфейс PCI Express x8 2.0 (5 ГТ/с), Bus Master DMA
Дисковый интерфейс SAS-2 6 Гбит/с (поддержка протоколов SSP, SMP, STP и SATA)
Число портов SAS 8 (2 разъема x4 Mini-SAS SFF8087), поддержка до 128 накопителей через порт-мультипликаторы
Поддержка RAID уровни 0, 1, 5, 6, 10, 50, 60
Процессор LSI SAS2108 ROC (PowerPC @ 800 МГц)
Встроенная кеш-память 512 Мбайт ECC DDR2 800 МГц
Энергопотребление, не более 24 Вт (питание +3,3 В и +12 В от слота PCIe)
Диапазон температур работы/хранения 0…+60 °С / −45…+105 °С
Форм-фактор, габариты MD2 low-profile, 168×64,4 мм
Значение MTBF >2 млн. ч
Гарантия производителя 3 года

Типичные применения LSI MegaRAID SAS 9260-8i производитель обозначил так: разнообразные видеостанции (видео по запросу, видеонаблюдение, создание и редактирование видео, медицинские изображения), высокопроизводительные вычисления и архивы цифровых данных, многообразные серверы (файловый, веб, почтовый, базы данных). В общем, подавляющее большинство задач, решаемых в малом и среднем бизнесе.

В бело-оранжевой коробке с легкомысленно улыбающимся зубастым дамским личиком на «титуле» (видимо, чтобы лучше завлечь бородатых сисадминов и суровых систембилдеров) находится плата контроллера, брекеты для ее установки в корпуса ATX, Slim-ATX и пр., два 4-дисковых кабеля с разъемами Mini-SAS на одном конце и обычным SATA (без питания) - на другом (для подключения до 8 дисков к контроллеру), а также CD с PDF-документацией и драйверами для многочисленных версий Windows, Linux (SuSE и RedHat), Solaris и VMware.


Комплект поставки коробочной версии контроллера LSI MegaRAID SAS 9260-8i (мини-платка ключа MegaRAID Advanced Services Hardware Key поставляется по отдельному запросу)

Со специальным аппаратным ключом (он поставляется отдельно) для контроллера LSI MegaRAID SAS 9260-8i доступны программные технологии LSI MegaRAID Advanced Services: MegaRAID Recovery, MegaRAID CacheCade, MegaRAID FastPath, LSI SafeStore Encryption Services (их рассмотрение выходит за рамки данной статьи). В частности, в плане повышения производительности массива традиционных дисков (HDD) при помощи добавленного в систему твердотельного накопителя (SSD) будет полезна технология MegaRAID CacheCade, при помощи которой SSD выступает кешем второго уровня для массива HDD (аналог гибридного решения для HDD), в отдельных случаях обеспечивая повышение производительности дисковой подсистемы до 50 раз. Интерес представляет также решение MegaRAID FastPath, при помощи которого уменьшаются задержка обработки процессором SAS2108 операций ввода-вывода (за счет отключения оптимизации под НЖМД), что позволяет ускорить работу массива из нескольких твердотельных накопителей (SSD), подключенных напрямую к портам SAS 9260-8i.

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




Примеры скриншотов Windows-менеджера по конфигурированию массивов RAID уровней 5 (вверху) и 1 (внизу).

Тестирование

Для знакомства с базовой производительностью LSI MegaRAID SAS 9260-8i (без ключа MegaRAID Advanced Services Hardware Key и сопутствующих технологий) мы использовали пять высокопроизводительных SAS-накопителей со скоростью вращения шпинделя 15 тыс. об/мин и поддержкой интерфейса SAS-2 (6 Гбит/с) - Hitachi Ultrastar 15K600 HUS156030VLS600 емкостью по 300 Гбайт.


Жесткий диск Hitachi Ultrastar 15K600 без верхней крышки

Это позволит нам протестировать все базовые уровни массивов - RAID 6, 5, 10, 0 и 1, причем не только при минимальном для каждого из них числе дисков, но и «на вырост», то есть при добавлении диска во второй из 4-канальных SAS-портов чипа ROC. Отметим, что у героя этой статьи есть упрощенный аналог - 4-портовый контроллер LSI MegaRAID SAS 9260-4i на той же элементной базе. Поэтому наши тесты 4-дисковых массивов с тем же успехом применимы и к нему.

Максимальная скорость последовательного чтения/записи полезных данных для Hitachi HUS156030VLS600 составляет около 200 Мбайт/с (см. график). Среднее время случайного доступа при чтении (по спецификациям) - 5,4 мс. Встроенный буфер - 64 Мбайт.


График скорости последовательного чтения/записи диска Hitachi Ultrastar 15K600 HUS156030VLS600

Тестовая система была основана на процессоре Intel Xeon 3120, материнской плате с чипсетом Intel P45 и 2 Гбайт памяти DDR2-800. SAS-контроллер устанавливался в слот PCI Express x16 v2.0. Испытания проводились под управлением операционных систем Windows XP SP3 Professional и Windows 7 Ultimate SP1 x86 (чистые американские версии), поскольку их серверные аналоги (Windows 2003 и 2008 соответственно) не позволяют работать некоторым из использованных нами бенчмарков и скриптов. В качестве тестов использовались программы AIDA64, ATTO Disk Benchmark 2.46, Intel IOmeter 2006, Intel NAS Performance Toolkit 1.7.1, C’T H2BenchW 4.13/4.16, HD Tach RW 3.0.4.0 и за компанию Futuremark PCMark Vantage и PCMark05. Тесты проводились как на неразмеченных томах (IOmeter, H2BenchW, AIDA64), так и на отформатированных разделах. В последнем случае (для NASPT и PCMark) результаты снимались как для физического начала массива, так и для его середины (тома массивов максимально доступной емкости разбивались на два равновеликих логических раздела). Это позволяет нам более адекватно оценивать производительность решений, поскольку самые быстрые начальные участки томов, на которых проводятся файловые бенчмарки большинством обозревателей, зачастую не отражают ситуации на остальных участках диска, которые в реальной работе также могут использоваться весьма активно.

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

Остается добавить, что при данном тестировании мы использовали версию прошивки контроллера 12.12.0-0036 и драйверы версии 4.32.0.32. Кеширование записи и чтения для всех массивов и дисков было активировано. Возможно, использование более современной прошивки и драйверов уберегло нас от странностей, замеченных в результатах ранних тестов такого же контроллера . В нашем случае подобных казусов не наблюдалось. Впрочем, и весьма сомнительный по достоверности результатов скрипт FC-Test 1.0 (который в определенных случаях тем же коллегам «хочется назвать разбродом, шатанием и непредсказуемостью») мы тоже в нашем пакете не используем, поскольку ранее многократно замечали его несостоятельность на некоторых файловых паттернах (в частности, наборах множества мелких, менее 100 Кбайт, файлов).

На диаграммах ниже приведены результаты для 8 конфигураций массивов:

  1. RAID 0 из 5 дисков;
  2. RAID 0 из 4 дисков;
  3. RAID 5 из 5 дисков;
  4. RAID 5 из 4 дисков;
  5. RAID 6 из 5 дисков;
  6. RAID 6 из 4 дисков;
  7. RAID 1 из 4 дисков;
  8. RAID 1 из 2 дисков.

Под массивом RAID 1 из четырех дисков (см. скриншот выше) в компании LSI, очевидно, понимают массив «страйп+зеркало», обычно обозначаемый как RAID 10 (это подтверждают и результаты тестов).

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

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

Сначала взглянем на результаты «чисто физических» тестов.

Среднее время случайного доступа к данным при чтении на единичном диске Hitachi Ultrastar 15K600 HUS156030VLS600 составляет 5,5 мс. Однако при организации их в массивы этот показатель немного меняется: уменьшается (благодаря эффективному кешированию в контроллере LSI SAS9260) для «зеркальных» массивов и увеличивается - для всех остальных. Наибольший рост (примерно на 6%) наблюдается для массивов уровня 6, поскольку при этом контроллеру приходится одновременно обращаться к наибольшему числу дисков (к трем для RAID 6, к двум - для RAID 5 и к одному для RAID 0, поскольку обращение в этом тесте происходит блоками размером всего 512 байт, что существенно меньше размера блоков чередования массивов).

Гораздо интереснее ситуация со случайным доступом к массивам при записи (блоками по 512 байт). Для единичного диска этот параметр равен около 2,9 мс (без кеширования в хост-контроллере), однако в массивах на контроллере LSI SAS9260 мы наблюдаем существенное уменьшение этого показателя - благодаря хорошему кешированию записи в SDRAM-буфере контроллера объемом 512 Мбайт. Интересно, что наиболее кардинальный эффект получается для массивов RAID 0 (время случайного доступа при записи падает почти на порядок по сравнению с одиночным накопителем)! Это несомненно должно благотворно отразиться на быстродействии таких массивов в ряде серверных задач. В то же время, и на массивах с XOR-вычислениями (то есть высокой нагрузкой на процессор SAS2108) случайные обращения на записи не приводят к явному проседанию быстродействия - снова благодаря мощному кешу контроллера. Закнонмерно, что RAID 6 здесь чуть медленнее, чем RAID 5, однако разница между ними, по сути, несущественна. Несколько удивило в этом тесте поведение одиночного «зеркала», показавшего самый медленный случайный доступ при записи (возможно, это «фича» микрокода данного контроллера).

Графики скорости линейного (последовательного) чтения и записи (крупными блоками) для всех массивов не имеют каких-либо особенностей (для чтения и записи они практически идентичны при условии задействования кеширования записи контроллера) и все они масштабируются согласно количеству дисков, параллельно участвующих в «полезном» процессе. То есть для пятидискового RAID 0 дисков скорость «упятеряется» относительно одиночного диска (достигая показателя в 1 Гбайт/с!), для пятидискового RAID 5 она «учетверяется», для RAID 6 - «утрояется» (утраивается, конечно же:)), для RAID 1 из четырех дисков - удваивается (никаких «у2яица»! :)), а для простого зеркала - дублирует графики одиночного диска. Эта закономерность наглядно видна, в частности, по показателям максимальной скорости чтения и записи реальных крупных (256 Мбайт) файлов большими блоками (от 256 Кбайт до 2 Мбайт), что мы проиллюстрируем диаграммой теста ATTO Disk Benchmark 2.46 (результаты этого теста для Windows 7 и XP практически идентичны).

Здесь из общей картины неожиданно выпал лишь случай чтения файлов на массиве RAID 6 из 5 дисков (результаты многократно перепроверены). Впрочем, для чтения блоками 64 Кбайт скорость данного массива набирает положенные ему 600 Мбайт/с. Так что спишем данный факт на «фичу» текущей прошивки. Отметим также, что при записи реальных файлов скорость чуть повыше благодаря кешированию в большом буфере контроллера, причем разница с чтением тем ощутимее, чем меньше реальная линейная скорость массива.

Что же касается скорости интерфейса, измеряемой обычно по показателям записи и чтения буфера (многократные обращения по одному и тому же адресу дискового тома), то здесь мы вынуждены констатировать, что почти для всех массивов она оказалась одинакова благодаря включению кеша контроллера для этих массивов (см. таблицу). Так, показатели при записи для всех участников нашего теста составили примерно 2430 Мбайт/с. Заметим, что шина PCI Express x8 2.0 теоретически дает скорость 40 Гбит/с или 5 Гбайт/с, однако по полезным данным теоретический предел пониже - 4 Гбайт/с, и значит, в нашем случае контроллер действительно работал по версии 2.0 шины PCIe. Таким образом, измеренные нами 2,4 Гбайт/с - это, очевидно, реальная пропускная способность набортной памяти контроллера (память DDR2-800 при 32-битной шине данных, что видно из конфигурации ECC-чипов на плате, теоретически дает до 3,2 Гбайт/с). При чтении же массивов кеширование не столь «всеобъемлюще», как при записи, поэтому и измеряемая в утилитах скорость «интерфейса», как правило, ниже скорости чтения кеш-памяти контроллера (типичные 2,1 Гбайт/с для массивов уровней 5 и 6), и в некоторых случаях она «падает» до скорости чтения буфера самих жестких дисков (около 400 Мбайт/с для одиночного винчестера, см. график выше), помноженной на число «последовательных» дисков в массиве (это как раз случаи RAID 0 и 1 из наших результатов).

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

В качестве «салата» к нашей «лирической» части трапезы подадим десктопные по своей природе дисковые тесты из пакетов PCMark Vantage и PCMark05 (под Windows 7 и XP соответственно), а также похожий на них «трековый» тест приложений из пакета H2BenchW 4.13 авторитетного немецкого журнала C’T. Да, эти тесты исходно создавались для оценки жестких дисков настольных ПК и недорогих рабочих станций. Они эмулируют выполнение на дисках типичных задач продвинутого персонального компьютера - работу с видео, аудио, «фотошопом», антивирусом, играми, своп-файлом, установкой приложений, копированием и записью файлов и др. Поэтому и их результаты в контексте данной статьи не стоит воспринимать как истину в последней инстанции - все-таки на многодисковых массивах чаще выполняются иные задачи. Тем не менее, в свете того, что сам производитель позиционирует данный RAID-контроллер, в том числе, для относительно недорогих решений, подобный класс тестовых задач вполне способен характеризовать некоторую долю приложений, которые в реальности будут выполняться на таких массивах (та же работа с видео, профессиональная обработка графики, свопирование ОС и ресурсоемких приложений, копирование файлов, анитивирус и пр.). Поэтому и значение этих трех комплексных бенчмарков в нашем общем пакете не стоит недооценивать.

В популярном PCMark Vantage в среднем (см. диаграмму) мы наблюдаем очень примечательный факт - производительность данного многодискового решения почти не зависит от типа используемого массива! К слову, в определенных пределах это вывод справедлив и для всех отдельных тестовых треков (типов задач), входящих в состав пакетов PCMark Vantage и PCMark05 (детали см. в таблице). Это может означать либо то, что алгоритмы прошивки контроллера (с кешем и дисками) почти не учитывают специфику работы приложений подобного типа, либо то, что основная часть данных задач выполняется в кеш-памяти самого контроллера (а скорее всего мы наблюдаем комбинацию этих двух факторов). Впрочем, для последнего случая (то есть выполнения треков в большой мере в кеше RAID-коннтроллера) средняя производительность решений оказывается не такой уж высокой - сравните эти данные с результатами тестов некоторых «десктопных» («чипсетаных») 4-дисковых массивов RAID 0 и 5 и недорогих одиночных SSD на шине SATA 3 Гбит/с (см. обзор). Если по сравнению с простым «чипсетным» 4-дисковым RAID 0 (причем на вдвое более медленных винчестерах, чем примененные здесь Hitachi Ultrastar 15K600) массивы на LSI SAS9260 быстрее в тестах PCMark менее чем вдвое, то относительно даже не самого быстрого «бюджетного» одиночного SSD все они однозначно проигрывают! Результаты дискового теста PCMark05 дают аналогичную картину (см. табл .; рисовать отдельную диаграмму для них смысла нет).

Похожую картину (с отдельными оговорками) для массивов на LSI SAS9260 можно наблюдать в еще одном «трековом» бенчмарке приложений - C’T H2BenchW 4.13. Здесь лишь два наиболее медленных (по строению) массива (RAID 6 из 4 дисков и простое «зеркало») заметно отстают от всех остальных массивов, производительность которых, очевидно, достигает того «достаточного» уровня, когда она упирается уже не в дисковую подсистему, а в эффективность работы процессора SAS2108 c кеш-памятью контроллера при данных комплексных последовательностях обращений. А радовать нас в этом контексте может то, что производительность массивов на базе LSI SAS9260 в задачах такого класса почти не зависит от типа используемого массива (RAID 0, 5, 6 или 10), что позволяет использовать более надежные решения без ущерба для итоговой производительности.

Впрочем, «не все коту Масленица» - если мы изменим тесты и проверим работу массивов с реальными файлами на файловой системе NTFS, то картина кардинально изменится. Так, в тесте Intel NASPT 1.7, многие из «предустановленных» сценариев которого имеют достаточно прямое отношение к задачам, типичным для компьютеров, оснащенных контроллером LSI MegaRAID SAS9260-8i, диспозиция массивов похожа на ту, что мы наблюдали в тесте ATTO при чтении и записи крупных файлов - быстродействие пропорционально нарастает по мере роста «линейной» скорости массивов.

На этой диаграмме мы приводим усредненный по всем тестам и паттернам NASPT показатель, тогда как в таблице можно видеть детальные результаты. Подчеркну, что NASPT прогонялся нами как под Windows XP (так обычно поступают многочисленные обозреватели), так и под Windows 7 (что в силу определенных особенностей этого теста делается реже). Дело в том, что Seven (и ее «старший братец» Windows 2008 Server) используют более агрессивные алгоритмы собственного кеширования при работе с файлами, нежели XP. Кроме того, копирование крупных файлов в «Семерке» происходит преимущественно блоками по 1 Мбайт (XP, как правило, оперирует блоками по 64 Кбайт). Это приводит к тому, что результаты «файлового» теста Intel NASPT существенно различаются в Windows XP и Windows 7 - в последней они намного выше, порой более чем вдвое! К слову, мы сравнили результаты NASPT (и других тестов нашего пакета) под Windows 7 с 1 Гбайт и 2 Гбайт установленной системной памяти (есть информация, что при больших объемах системной памяти кеширование дисковых операций в Windows 7 усиливается и результаты NASPT становятся еще выше), однако в пределах погрешности измерений мы не нашли никакой разницы.

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

Но вернемся к диаграмме усредненной производительности в NASPT. Как видим, разница между самым быстрым и самым медленным из протестированных нами массивов здесь составляет в среднем чуть менее трех раз. Это, конечно, не пятикратный разрыв, как при чтении и записи крупны файлов, но тоже весьма ощутимо. Массивы расположились фактически пропорционально своей линейной скорости, и это не может не радовать: значит, процессор LSI SAS2108 достаточно шустро обрабатывает данные, почти не создавая узких мест при активной работе массивов уровней 5 и 6.

Справедливости ради нужно отметить, что и в NASPT есть паттерны (2 из 12), в которых наблюдается та же картина, что и в PCMark c H2BenchW, а именно что производительность всех протестированных массивов практически одинакова! Это Office Productivity и Dir Copy to NAS (см. табл.). Особенно явно это под Windows 7, хотя и для Windows XP тенденция «сближения» налицо (по сравнению с другими паттернами). Впрочем, и в PCMark c H2BenchW есть паттерны, где налицо рост производительности массивов пропорционально их линейной скорости. Так что все не так просто и однозначно, как может некоторым хотелось бы.

Поначалу я хотел обсудить диаграмму с общими показателями быстродействия массивов, усредненными по всем тестам приложений (PCMark+H2BenchW+NASPT+ATTO), то есть вот эту:

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

Тесты в IOmeter

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

Для эмуляции серверов типа File Server, Web Server и DataBase (сервер базы данных) мы воспользовались одноименными и хорошо известными паттернами, предложенными в свое время Intel и StorageReview.com. Для всех случаев мы протестировали массивы при глубине очереди команд (QD) от 1 до 256 с шагом 2.

В паттерне «База данных», использующих случайные обращения к диску блоками по 8 Кбайт в пределах всего объема массива, можно наблюдать существенное преимущество массивов без контроля четности (то есть RAID 0 и 1) при глубине очереди команд от 4 и выше, тогда как все массивы с контролем четности (RAID 5 и 6) демонстрируют очень близкое быстродействие (несмотря на двукратное различие между ними в скорости линейных обращений). Ситуация объясняется просто: все массивы с контролем четности показали в тестах на среднее время случайного доступа близкие значения (см. диаграмму выше), а именно этот параметр в основном определяет производительность в данном тесте. Интересно, что быстродействие всех массивов нарастает практически линейно с ростом глубины очереди команд вплоть до 128, и лишь при QD=256 для некоторых случаев можно видеть намек на насыщение. Максимальная производительность массивов с контролем четности при QD=256 составила около 1100 IOps (операций в секунду), то есть на обработку одной порции данных в 8 Кбайт процессор LSI SAS2108 тратит менее 1 мс (около 10 млн однобайтовых XOR-операций в секунду для RAID 6; разумеется, процессор при этом выполняет параллельно и другие задачи по вводу-выводу данных и работе с кеш-памятью).

В паттерне файлового сервера, использующего блоки разного размера при случайных обращениях чтения и записи к массиву в пределах всего его объема, мы наблюдаем похожую на DataBase картину с той разницей, что здесь пятидисковые массивы с контролем четности (RAID 5 и 6) заметно обходят по скорости свои 4-дисковые аналоги и демонстрируют при этом почти идентичную производительность (около 1200 IOps при QD=256)! Видимо, добавление пятого диска на второй из двух 4-канальных SAS-портов контроллера каким-то образом оптимизирует вычислительные нагрузки на процессор (за счет операций ввода-вывода?). Возможно, стоит сравнить по скорости 4-дисковые массивы, когда накопители попарно подключены к разным Mini-SAS-разъемам контроллера, чтобы выявить оптимальную конфигурацию для организации массивов на LSI SAS9260, но это уже задача для другой статьи.

В паттерне веб-сервера, где, по замыслу его создателей, отсутствуют как класс операции записи на диск (а значит, и вычисление XOR-функций на запись), картина становится еще интереснее. Дело в том, что все три пятидисковых массива из нашего набора (RAID 0, 5 и 6) показывают здесь идентичное быстродействие, несмотря на заметную разницу между ними по скорости линейного чтения и вычислений по контролю четности! К слову, эти же три массива, но из 4 дисков, также идентичны по скорости друг другу! И лишь RAID 1 (и 10) выпадает из общей картины. Почему так происходит, судить сложно. Возможно, контроллер имеет очень эффективные алгоритмы выборки «удачных дисков» (то есть тех из пяти или четырех дисков, с которых первыми приходят нужные данные), что в случае RAID 5 и 6 повышает вероятность более раннего поступления данных с пластин, заранее подготавливая процессор для нужных вычислений (вспомним про глубокую очередь команд и большой буфер DDR2-800). А это в итоге может скомпенсировать задержку, связанную с XOR-вычислениями и уравнивает их в «шансах» с «простым» RAID 0. В любом случае, контроллер LSI SAS9260 можно только похвалить за экстремально высокие результаты (около 1700 IOps для 5-дисковых массивов при QD=256) в паттерне Web Server для массивов с контролем четности. К сожалению, ложкой дегтя стала весьма низкая производительность двухдискового «зеркала» во всех этих серверных паттернах.

Паттерну Web Server вторит наш собственный паттерн, эмулирующий случайное чтение небольших (64 Кбайт) файлов в пределах всего пространства массива.

Снова результаты объединились в группы - все 5-дисковые массивы идентичны друг другу по скорости и лидируют в нашем «забеге», 4-дисковые RAID 0, 5 и 6 тоже не отличить друг от друга по производительности, и лишь «зеркалки» выпадают из общей массы (к слову, 4 дисковая «зеркалка», то есть RAID 10 оказывается быстрее всех остальных 4-дисковых массивов - видимо, за счет того же самого алгоритма «выбора удачного диска»). Подчеркнем, что данные закономерности справедливы лишь для большой глубины очереди команд, тогда как при малой очереди (QD=1-2) ситуация и лидеры могут быть совсем иными.

Все меняется при работе серверов с крупными файлами. В условиях современного «потяжелевшего» контента и новых «оптимизированных» ОС типа Windows 7, 2008 Server т.п. работа с мегабайтными файлами и блоками данных по 1 Мбайт приобретает все более важное значение. В этой ситуации наш новый паттерн, эмулирующий случайное чтение 1-мегабайтных файлов в пределах всего диска (детали новых паттернов будут описаны в отдельной статье по методике), оказывается как нельзя кстати, чтобы более полно оценить серверный потенциал контроллера LSI SAS9260.

Как видим, 4-дисковое «зеркало» здесь уже никому не оставляет надежд на лидерство, явно доминируя при любой очереди команд. Его производительность также сначала растет линейно с ростом глубины очереди команд, однако при QD=16 для RAID 1 она выходит на насыщение (скорость около 200 Мбайт/с). Чуть «позже» (при QD=32) «насыщение» производительности наступает у более медленных в этом тесте массивов, среди которых «серебро» и «бронзу» приходится отдать RAID 0, а массивы с контролем четности оказываются в аутсайдерах, уступив даже прежде не блиставшему RAID 1 из двух дисков, который оказывается неожиданно хорош. Это приводит нас к выводу, что даже при чтении вычислительная XOR-нагрузка на процессор LSI SAS2108 при работе с крупными файлами и блоками (расположенными случайным образом) оказывается для него весьма обременительна, а для RAID 6, где она фактически удваивается, порой даже непомерна - производительность решений едва превышает 100 Мбайт/с, то есть в 6-8 раз ниже, чем при линейном чтении! «Избыточный» RAID 10 здесь применять явно выгоднее.

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

Дело в том, что здесь уже производительность массивов практически не зависит от глубины очереди команд (очевидно, сказывается огромный кеш контроллера LSI SAS9260 и немаленькие кеши самих винчестеров), зато кардинально меняется с типом массива! В безоговорочных лидерах тут «простенькие» для процессора RAID 0, а «бронза» с более чем двукратным проигрышем лидеру - у RAID 10. Все массивы с контролем четности образовали очень тесную единую группу с двухдисковой зеркалкой (детали по ним приведены на отдельной диаграмме под основной), троекратно проигрывая лидерам. Да, это, безусловно, тяжелая нагрузка на процессор контроллера. Однако такого «провала» я, откровенно говоря, от SAS2108 не ожидал. Порой даже софтовый RAID 5 на «чипсетом» SATA-контроллере (с кешированием средствами Windows и обсчетом при помощи центрального процессора ПК) способен работать шустрее… Впрочем, «свои» 440-500 IOps контроллер при этом все-таки выдает стабильно - сравните это с диаграммой по среднему времени доступа при записи в начале раздела результатов.

Переход на случайную запись крупных файлов по 1 Мбайт приводит к росту абсолютных показателей скорости (для RAID 0 - почти до значений при случайном чтении таких файлов, то есть 180-190 Мбайт/с), однако общая картина почти не меняется - массивы с контролем четности в разы медленнее RAID 0.

Любопытна картина для RAID 10 - его производительность падает с ростом глубины очереди команд, хотя и не сильно. Для остальных массивов такого эффекта нет. Двухдискове «зеркало» здесь снова выглядит скромно.

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

Сначала - файлы по 64 Кбайт случайным образом по всему массиву.

Здесь очевидно некоторое сходство с результатами паттерна DataBase, хотя абслютные скорости у массивов раза в три повыше, да и при QD=256 уже заметно некоторое насыщение производительности. Больший (по сравнению с паттерном DataBase) процент операций записи в этом случае приводит к тому, что массивы с контролем четности и двухдисковое «зеркало» становятся явными аутсайдерами, существенно уступая по скорости массивам RAID 0 и 10.

При переходе на файлы по 1 Мбайт данная закономерность в целом сохраняется, хотя абсолютные скорости примерно утраиваются, а RAID 10 становится таким же быстрым, как 4-дисковый «страйп», что не может не радовать.

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

И тут уже многим массивам удается разогнаться до весьма приличных скоростей в районе 300 Мбайт/с. И хотя более чем двукратный разрыв между лидером (RAID 0) и аутсайдером (двухдисковый RAID 1) сохраняется (заметим, что при линейном чтении ИЛИ записи этот разрыв пятикратен!), вошедший в тройку лидеров RAID 5, да и подтянувшиеся остальные XOR-массивы не могут не обнадеживать. Ведь если судить по тому перечню применений данного контроллера, который приводит сама LSI (см. начало статьи), многие целевые задачи будут использовать именно данный характер обращений к массивам. И это определенно стоит учитывать.

В заключение приведу итоговую диаграмму, в которой усреднены показатели всех озвученных выше паттернов теста IOmeter (геометрически по всем паттернам и очередям команд, без весовых коэффициентов). Любопытно, что если усреднение данных результатов внутри каждого паттерна проводить арифметически с весовыми коэффициентами 0,8, 0,6, 0,4 и 0,2 для очередей команд 32, 64, 128 и 256 соответственно (что условно учитывает падение доли операций с высокой глубиной очереди команд в общей работе накопителей), то итоговый (по всем паттернам) нормированный индекс быстродействия массивов в пределах 1% совпадет со средним геометрическим.

Итак, средняя «температура по больнице» в наших паттернах для теста IOmeter показывает, что от «физики с матемачихой» никуда не уйти - однозначно лидируют RAID 0 и 10. Для массивов с контролем четности чуда не произошло - процессор LSI SAS2108 хоть и демонстрирует в некоторых случаях приличную производительность, в целом не может «дотянуть» такие массивы до уровня простого «страйпа». При этом интересно, что 5-дисковые конфигурации явно прибавляют по сравнению с 4 дисковыми. В частности, 5-дисквый RAID 6 однозначно быстрее 4-дискового RAID 5, хотя по «физике» (времени случайного доступа и скорости линейного доступа) они фактически идентичны. Также огорчило двухдисковое «зеркало» (в среднем оно равноценно 4-дисковому RAID 6, хотя для зеркала двух XOR-вычислений на каждый бит данных не требуется). Впрочем, простое «зеркало» - это очевидно не целевой массив для достаточно мощного 8-портового SAS-контроллера с большим кешем и мощным процессором «на борту». :)

Ценовая информация

8-портовый SAS-контроллер LSI MegaRAID SAS 9260-8i с полным комплектом предлагается по цене в районе 500 долларов, что можно считать достаточно привлекательным. Его упрощенный 4-портовый аналог еще дешевле. Более точная текущая средняя розничная цена устройства в Москве, актуальная на момент чтения вами данной статьи:

LSI SAS 9260-8i LSI SAS 9260-4i
$571() $386()

Заключение

Суммируя сказано выше, можно заключить, что единых рекомендаций «для всех» по 8-портовому контроллеру LSI MegaRAID SAS9260-8i мы давать не рискнем. О необходимости его использования и конфигурирования тех или иных массивов с его помощью каждый должен делать выводы самостоятельно - строго исходя из того класса задач, которые предполагается при этом запускать. Дело в том, что в одних случаях (на одних задачах) этот недорогой «мегамонстр» способен показать выдающуюся производительность даже на массивах с двойным контролем четности (RAID 6 и 60), однако в других ситуациях скорость его RAID 5 и 6 явно оставляет желать лучшего. И спасением (почти универсальным) станет лишь массив RAID 10, который почти с тем же успехом можно организовать и на более дешевых контроллерах. Впрочем, нередко именно благодаря процессору и кеш-памяти SAS9260-8i массив RAID 10 ведет себя здесь ничуть не медленнее «страйпа» из того же числа дисков, обеспечивая при этом высокую надежность решения. А вот чего однозначно стоит избегать с SAS9260-8i, так это двухдисковой «зеркалки» и 4-дисковых RAID 6 и 5 - для данного контроллера это очевидно неоптимальные конфигурации.

Благодарим компанию Hitachi Global Storage Technologies
за предоставленные для тестов жесткие диски.

ВведениеТяжёлое и неблагодарное это занятие - тестирование RAID-контроллеров. Конечно, несколько спасает ситуацию то, что процесс тестирования достаточно неплохо автоматизируется, но все же временные затраты получаются крайне высоки. Причины просты: тестов много и идут они долго, плюс количество получаемых «циферок», мягко говоря, велико. Как бы то ни было, за прошедшие полгода через наши руки прошли шесть SAS RAID-контроллеров последнего поколения, по одному от каждого крупного производителя и мы не можем удержаться от того, чтобы не «столкнуть их лбами» в одной сводной статье. Тем более, что сейчас на рынке контроллеров образовалось некоторое затишье: существующие модели достаточно успешно справляются с нагрузками, шина PCI-Express вытеснила с рынка PCI-X, а смена интерфейсов накопителей закончилась полной и безоговорочной победой последовательного SAS (и совместимого с ним SATA) над параллельными SCSI и PATA. Конечно, на горизонте уже маячит SAS 2.0, с увеличенной с 3 ГБит/с до 6 Гбит/с пропускной способностью, но пока еще он только в перспективе, а у производителей контроллеров выдалось время для некоторой передышки. Конечно, они не тратят его даром - с завидной регулярностью все они выпускают обновления прошивок, убирая из них досадные недоработки и увеличивая производительность. Сразу оговоримся: мы будем сравнивать контроллеры именно с теми прошивками, которые были самыми свежими на момент попадания контроллеров в наши руки. Это, возможно, не очень корректно, поскольку ставит последних «гостей» в несколько более выгодное положение, но честное слово, у нас нет возможности одновременно протестировать сразу шесть контроллеров.

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

Проще всего говорить о массивах RAID0 - это самый простой для контроллеров вариант, в нем необходимо лишь корректно справляться с нагрузкой, и показывать максимальные скорости в линейном чтении и совершать как можно больше операций в секунду при случайном характере обращений. Отдельной строкой идут многопоточные нагрузки и операции с файлами. Как показывает практика, все контроллеры теряют скорость на нескольких потоках, но имеет большое значение то, насколько велико это снижение. Особенно сложной для контроллеров является ситуация, когда запросы идут с минимальной глубиной очереди - большинство контроллеров в таких, казалось бы, щадящих условиях демонстрирует неожиданно низкие скорости. Рядом стоит проблема скоростей, достигнутых на реальных файлах - как правило, они заметно ниже тех, что мы видим в синтетических тестах. Порой, доходит до абсурда - один и тот же файл или набор файлов контроллер может записать быстрее, чем считать. Конечно, в этом есть определенная заслуга буферной памяти контроллеров, выросшей до внушительных объемов в 256, а то и 512 МБ, но все же - все наши тестовые нагрузки рассчитаны по объему таким образом, что поместиться в кэш целиком они не могут. Так что ответственными за такие экзерсисы с производительностью все же стоит считать алгоритмы прошивок.

Несколько более сложными для контроллеров являются массивы с использованием зеркальных пар: RAID1, RAID10 и RAID1E. Кстати, если вы не знакомы с последним из них, то рекомендуем восполнить этот пробел . Для них остаются в силе все те моменты, о которых мы только что говорили и добавляется несколько своих, крайне характерных именно для массивов с зеркалированием.

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

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

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

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

Наконец, массивы с вращающейся контрольной суммой RAID5 и RAID6. С одной стороны, последнему поколению контроллеров стало значительно проще с ними справляться - используемые в них современные высокомощные процессоры достаточно легко справляются с расчетом контрольных сумм, даже если их не одна, как в RAID5, а две как в RAID6. С другой - гораздо острее стали чувствоваться недостатки алгоритмов - если раньше они скрывались на фоне недостаточной скорости расчета XOR, то теперь вышли на первый план. А ведь именно эти типы массивов становятся все более востребованными - мало кто согласен терять половину дисковой емкости на организацию массивов с зеркалированием, при этом объемы информации, требующей защищенного от сбоев хранения, растут просто-таки лавинообразно. Популярность же RAID6 вызвана достаточно простыми причинами. Современные массивы достигают просто потрясающих объемов - даже если не брать совсем уж новые диски, никто не мешает построить 30-ТБ массив из, допустим, дисков Seagate ST31000640SS с SAS-интерфейсом . И если один из дисков такого массива приходит в неисправность, то восстановление такого массива занимает вовсе не несколько часов, а несколько (а то и десятки) дней. И чтобы не рисковать в это время информацией (а степень риска в таком случае достаточно велика), применяют не RAID5, а именно RAID6, способный перенести выход из строя не одного, а сразу двух дисков. Да, скорость падает катастрофически, но все же, зачастую это оказывается более подходящим вариантом, чем использование массивов с зеркалированием, поскольку их полезная емкость при том же количестве дисков почти вдвое меньше.

И прежде чем закончить это затянувшееся вступление, хотелось бы ответить на достаточно популярный вопрос: «А стоят ли эти контроллеры такого внимания, если можно пойти и взять твердотельные накопители SSD на флеш-памяти, демонстрирующие потрясающую производительность?» Да, стоят. Стоимость хранения информации на дисках пока еще в разы (точнее, на порядок) ниже, чем на SSD. Опять же, объемы SSD пока еще весьма невелики, так что брать их для серьезной системы придется несколько, а в таком случае их лучше подключать через те же самые RAID-контроллеры. Да и в вопросе производительности не все так просто - если на чтении многоканальные (да-да, самое время вопрошающим задуматься о том, как образуется эта самая многоканальность) SSD заведомо лучше любого массива дисков, то вот на записи дисковые массивы пока не собираются отступать на второй план. А в сочетании с тем, что SSD имеют ограниченное количество операций перезаписи, это приводит к тому, что дисковую подсистему, способную справиться с большим количеством запросов на запись, строить лучше все же на RAID-массиве из SAS-дисков. И дешевле, и надежней.

Участники тестирования

Итак, встречайте героев сегодняшнего обзора:

3ware 9690SA-8I с единым пакетом 9.5.1
Adaptec RAID ASR-5805 с прошивкой 5.2.0 build 16116 и драйверами 5.2.0.15728
Areca ARC-1680ix-16 с прошивкой 1.46 и драйверами 20.0.14
HighPoint RocketRAID HPT4320 с прошивкой 1.2.12.11 и драйверами 1.2.19.4
LSI MegaRAID SAS 8708EM2 с прошивкой 9.1.1-0013 и драйверами 2.20.0.32
Promise SuperTrak EX8650 с прошивкой SR1 1.04 и драйверами SR1

При желании, по ссылкам вы можете увидеть подробный обзор по каждому контроллеру, поэтому здесь мы ограничимся лишь краткими общими словами. Все больше заметно стремление производителей к унифицированности - они стараются выпускать контроллеры крупными сериями с единым дизайном, отличающимися, по большому счету, лишь количеством портов, объемом памяти да частотой процессора. Впрочем, последняя различается не сильно - четыре из представленных здесь шести моделей используют двуядерный процессор Intel IOP81348: в контроллерах Areca, Adaptec и HighPoint стоит версия с частотой 1,2 ГГц, а в Promise - 800-МГц вариант. Компании 3Ware и LSI пока придерживаются собственных разработок: в контроллере 3ware стоит AMCC Power PC405CR с частотой 266 МГц, а в LSI - LSISAS1078 (также с архитектурой PowerPC), работающий на 500 МГц.

Внушительное снижение стоимости оперативной памяти вызвало закономерный рост буферной памяти на контроллерах. Так, 128 МБ у нас присутствует лишь у LSI, у HighPoint и Promise ее уже 256 МБ, а у остальных и вовсе 512 МБ.

Более того, в контроллере Areca память не впаяна, а установлена отдельной планкой. Упустить такой шанс мы не могли - этот контроллер дважды прошел все тесты: с базовым объемом памяти 512 МБ и с установленным 2-ГБ модулем. Право слово, результаты получились крайне неожиданные.

Все контроллеры поддерживают подавляющее большинство наиболее популярных типов массивов, в том числе и двухуровневых, например RAID50. Конечно, можно тщательно поискать разницу, и найти, что кто-то умеет RAID3, а кто-то не знает о существовании RAID1E, но это сложно засчитать за серьезные различия, поскольку интересно лишь крайне узкому кругу пользователей. Так же у всех шести испытуемых в наличии по серьезному набору драйверов под различные операционные системы. Каждый из них может похвастаться и достаточно развитой системой управления, наблюдения и настройки из-под операционной системы. Все эти системы используют сетевые протоколы, обеспечивая взаимодействие не только с локальными, но и с удаленными, то есть находящимися на других машинах, контроллерами. Кстати, именно наличие уже существующей инфраструктуры зачастую определяет выбор марки контроллера при создании очередной подсистемы: гораздо удобнее иметь удобное и логичное централизованное управление, чем поддерживать одновременно оборудование нескольких марок.

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

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

Во время тестирования использовались следующие программы:

IOMeter версии 2003.02.15;
WinBench версии 99 2.0;
FC-Test версии 1.0;

Тестовая система была следующей:

корпус Intel SC5200;
системная плата Intel SE7520BD2;
два процессора Intel Xeon 2,8 ГГц на 800-МГц системной шине;
2 х 512 МБ регистровой памяти DDR PC3200 ЕСС
жесткий диск IBM DTLA-307015 объемом 15 ГБ в качестве системного диска;
видеокарта - встроенное видео ATI Rage XL
операционная система Microsoft Windows 2000 Professional SP4

Kонтроллеры во время тестов устанавливались в слот PCI-Express x8 на материнской плате. Для тестирования использовались жесткие диски Fujitsu MBA3073RC, установленные в штатные салазки корпуса SC5200 и закрепленные в них четырьмя винтами за нижнюю грань. Все контроллеры тестировались с использованием восьми жестких дисков в следующих режимах:

RAID0;
RAID10;
RAID5;
RAID6;

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

Размер страйпа на массивах всех типов задавался равным 64 кБ.

IOMeter: Database

Как всегда, начнем с, пожалуй, наиболее интересного с точки зрения нагрузки на контроллер, теста - "Database", с помощью которого мы выясняем способность контроллеров работать с потоками запросов на чтение и запись 8-кБ блоков данных со случайной адресацией. В ходе тестирования происходит последовательное изменение процентного соотношения запросов на запись от нуля до ста процентов (с шагом 10 %) от общего количества запросов и увеличение глубины очереди команд от 1 до 256.

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

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

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



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

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



А вот и пошли массивы с вращающейся четностью. Одно дело записать одиночный блок в случае массивов RAID0 и RAID10, и совсем другое - при использовании RAID5, ведь каждая операция записи на деле превращается в чтение двух блоков, две операции XOR и две же операции записи. Явно лучше других это испытание проходит Adaptec. Неплох и контроллер 3ware в случае чистой записи, но на смешанных нагрузках он заметно уступает конкурентам. А вот аутсайдерами стали HighPoint, у которого явные проблемы с кэшированием запросов и Promise, начисто лишенный отложенной записи. Катастрофическое падение производительности у последнего сложно не заметить.



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

Но мы упустили из поля зрения поведение контроллера Areca с 2 ГБ установленной памяти. Впрочем, это и немудрено - его результаты практически точно во всех случаях повторяют данные, полученные с 512 МБ памяти. Так что же, рекордов скорости не будет?

Но давайте увеличим нагрузку до 16 запросов в очереди.



В RAID0 контроллеры демонстрируют поразительное единодушие - четыре графика практически сливаются. Но Adaptec явно выделяется своей более эффективной отложенной записью. И списать это на больший объем памяти невозможно - у 3ware и Areca ее как минимум не меньше (да, дополнительные 1,5 ГБ снова себя никак не проявляют), а у последней еще и процессор точно такой же.

В проигравшие снова ушли LSI и Promise, но стоит отметить, что проигрыш не так уж и велик.



Ух ты, какое разнообразие характеров дают разнообразные сочетания алгоритмов отложенной записи, переупорядочивания запросов и выборки лучшего диска. На записи снова «впереди планеты всей» Adaptec - этот контроллер явно вознамерился доказать, что у него лучшая отложенная запись. А вот LSI на записи откровенно плох - у него явные проблемы с кешированием. И вряд ли это можно оправдать минимальным, среди присутствующих, объемом памяти.

Зато тот же самый LSI успешно борется с HighPoint и 3ware за медаль «отличное чтение с зеркальных массивов». Обратите внимание, насколько велик отрыв этих трех массивов от конкурентов.

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



Наличие очереди позволяет контроллерам в той или иной мере успешно кэшировать запросы или выполнять несколько действий одновременно. Насколько успешно? По-разному: Adaptec держится молодцом, а вот HighPoint справляется с записью почти в два раза хуже (заметьте, при точно таком же процессоре), но хотя бы уже не провально, как это было в случае минимальной глубины очереди. Ну и можно только посочувствовать Promise - без отложенной записи ему приходится крайне тяжко.



И снова схожую ситуацию мы видим в случае RAID6. Правда, появился один интересный момент: при всей своей великолепной записи Adaptec в случае подавляющего превосходства запросов на чтение проигрывает всем остальным. Закономерность или случайность - посмотрим на тяжелых нагрузках.

К сожалению, практически нечего говорить о 2-ГБ варианте Areca - увеличенный объем памяти себя не проявляет вообще никак. Странное, крайне странное поведение.



С тяжелыми нагрузками все контроллеры успешно справились, но каждый по-своему. Adaptec по-прежнему успешно демонстрирует лучшие способности по записи, 3ware захватил лидерство на чтении, а Areca аккуратно влез между ними на смешанных нагрузках, продемонстрировав, пожалуй, наиболее уравновешенное поведение.



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



Огромная глубина очереди явилась спасительной для Promise - на таких глубинах очереди часть сортировки запросов происходит еще в драйвере до поступления в контроллер, что позволило контроллеру подтянуть свои результаты до уровня HighPoint.

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



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

IOMeter: Disk Response Time

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


Время отклика на чтении - довольно забавная величина. С одной стороны, она очень кратко характеризует производительность дисковой подсистемы, вынести только на основании нее какое-либо суждение практически невозможно. А с другой - именно эта величина характеризует скорость реакции накопителя, то, насколько быстро он отзовется на запрос и позволит системе использовать полученные данные. В случае RAID-массивов эта величина в первую очередь зависит от времени отклика используемых накопителей. Но, как не сложно видеть, от контроллера она тоже зависит: борящиеся за звание лучших 3ware и Areca немного, но все же выигрывают у остальных - их отрыв от худшего (которым стал Promise) составляет около половины миллисекунды. Казалось бы, какие мелочи, но как их сложно получить, эти самые 0,5 мс выигрыша, в случае, когда время отклика меньше 7 мс. Как не крути, а 8 % выигрыша эти два контроллера записали на свой счет.

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


В случае времени отклика при записи лидера было достаточно легко предсказать - им закономерно стал Adaptec, на протяжении всего теста «IOMeter:Database» демонстрировавший великолепную производительность на записи. Понемногу, но на всех массивах именно этот контроллер выигрывает у равных по классу конкурентов.
Откровенно печалят результаты HighPoint и Promise на массивах RAID5 и RAID6 - проблемы с отложенной записью у первого видны невооруженным взглядом, а ее отсутствие у второго вылилось в чудовищное (более, чем на порядок!) увеличение времени отклика.

Любопытно выглядят результаты Areca с 2 ГБ памяти: в трех случаях они опять повторяют значения, полученные с 512 МБ, но вот в RAID6 2 ГБ смотрятся уже заметно выигрышнее. Возможно, контроллеру просто не хватает нагрузки, чтобы полноценно использовать эти самые 2 ГБ - с определенной точки зрения, контроллеры у нас работают в щадящем режиме, на каждый диск приходится по отдельному каналу данных, экспандеры не используются. Возможно, что мы бы увидели всю мощь 2 ГБ памяти в тех случаях, когда на каждом канале висит по несколько дисков и пропускной способности 3 Гбит/с на всех не хватает (поверьте, ситуация вовсе не умозрительная - именно такое и происходит в тех случаях, когда на один внешний разъем вешается полка с двумя десятками дисков). Но увы, у нас нет возможности проверить наше предположение, а пока 2 ГБ себя никак не проявляют.

IOMeter: Random Read & Write

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

Результаты, полученные при работе со случайной адресацией данных, мы рассматриваем в двух вариантах. На блоках малого размера строятся зависимости количества операций в секунду от размера используемого блока. А на больших блоках вместо количества операций в качестве критерия производительности используется скорость, измеренная в Мегабайтах в секунду. Такой подход позволяет оценить работу массивов сразу в двух типичных случаях нагрузки: работа малыми блоками характерна для баз данных и для нее более важно количество операций в секунду, чем привычная скорость; а вот работа большими и очень большими блоками близка к реальной работе с файлами малых размеров и здесь уже на первый план выходит именно скорость в привычных мегабайтах в секунду.

Начнем с чтения.



Хорошо идут, плотненько! Да, в RAID0 особой разницы ожидать и не приходится. И все же, Areca и 3ware справляются с небольшими запросами чуть лучше остальных.



В RAID10 свое неоспоримое преимущество демонстрируют LSI и HighPoint - великолепные алгоритмы чтения с зеркальных пар этих контроллеров не оставляют конкурентам никаких шансов. Среди остальных же чуть лучшими результатами выделяется 3ware, причем его выигрыш растет с увеличением размера используемых блоков.






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



На больших блоках даже в случае RAID0 начинает появляться заметная разница - сказывается влияние линейных скоростей и упреждающего чтения. В результате лидерство захватывает LSI, а чуть позади держится 3ware. С определением проигравших все сложнее - на блоках, размером несколько мегабайт, неудачно выступают HighPoint и Areca, но потом они очень бодро набирают скорость, в результате уверенно обгоняя Promise и Adaptec.

Areca снова преподносит сюрпризы: с 512 МБ памяти она читает быстрее, чем с 2 ГБ. У нас есть лишь одно предположение: возросший объем кэша увеличил задержки на поиск в нем, что и вызвало этот эффект. Мы не претендуем на истину, но других объяснений мы попросту не видим.



На массивах RAID10 при чтении сравнительно больших блоков выбор удачного диска уже не является выигрышной стратегией и в итоге мы видим смену лидеров. На первое место выбрался 3ware, следом за которым пристроился LSI.

Откровенно разочаровывает Areca - в обоих случаях она показывает откровенно малообъяснимое снижение скорости. Видимо, и в ее прошивке есть недоработки, и именно их мы сейчас видим.



Расстановка сил в RAID5 повторяет виденное в RAID0, что, в общем, и неудивительно.



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

Перейдем к операциям записи со случайной адресацией.



А здесь уже в чистом виде работает запись. Причем, судя по всему, выигрывает тот, кто держит одновременно большее количество линий кэширования. В итоге первое место за явным преимуществом достается Adaptec - он упорно настаивает, что его запись лучшая вот уже не первый тест. В явные проигравшие ушли LSI и Promise.

Интересно, что Areca с 2 ГБ снова проигрывает аналогу с меньшей памятью (какой там выигрыш из-за большего объема, что вы). Неужели и это вызвано усложнившимся поиском в памяти?



Мда, похоже, что про лидера на записи можно уже и не говорить. А вот о проигравших - еще как стоит. Если низкий результат Promise можно объяснить отсутствием у него отложенной записи, то вот какими недоработками вызвано столь серьезное падение производительности у LSI в RAID10 - нам неизвестно.






В массивах RAID5 и RAID6 контроллеры ведут себя крайне схоже. Откровенно лидирует на малых блоках Adaptec, следом за которым с внушительным отставанием идет 3ware. У последнего мы видим интересную особенность: на блоках по 512 байт его производительность ниже, чем на 2-кБ блоках - видимо, в данном случае мы видим именно что предел производительности своеобразной архитектуры этого контроллера. Впрочем, эти особенности не идут ни в какое сравнение с проблемами HighPoint и Promise. HighPoint не в силах справиться с записью очень мелких блоков - при снижении размера блока ниже 32 кБ его производительность очень заметно падает. Процессор у него такой же, как и у Adaptec - дело явно не в его мощности. Контроллеру Promise еще хуже - без отложенной записи он просто захлебывается под потоком мелких запросов.



На записи больших блоков мы видим великолепное разнообразие характеров. В первую очередь, хочется отметить проблемы Adaptec - насколько великолепно этот контроллер справлялся с потоком мелких блоков со случайной адресацией, настолько же плохо ему далась запись больших блоков. Такое впечатление, что у него стоит ограничитель скорости на 120 МБ/с. Полностью схожий с ним по характеристикам Areca, напротив, вырывается на первое место. При этом тот же самый Areca с 2 ГБ памяти уже заметно хуже, и, кажется, тоже нашел свой ограничитель...

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



На записи в RAID10 таких серьезных проблем нет уже ни у кого, разве что Promise снова демонстрирует некоторое снижение скорости в той же области. Лидерует снова Areca, причем на этот раз - синхронно, в обоих вариантах.






А на массивах с записью контрольных сумм перед нами опять разброд и шатания, хотя и не настолько сильные. Снова в непонятные барьеры уперлись Adaptec и Areca c 2 ГБ памяти, а в случае RAID6 к ним присоединился еще и LSI. Заметно хуже «успешных» контроллеров (которые, кстати, идут плотной группой) проходит тест Promise. Запись больших блоков дает ему возможность работать полными страйпами, что несколько выправляет ситуацию с отсутствием у него отложенной записи (напомню, что при записывании полного страйпа контрольная сумма рассчитывается лишь один раз на весь страйп, что резко снижает накладные расходы), но все же не в силах дотянуть его производительность до уровня остальных.

IOMeter: Sequential Read & Write

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



Максимальную скорость чтения в RAID0 все контроллеры, кроме 3ware (на результатах которого явно сказались особенности архитектуры), продемонстрировали на одном уровне. Но вот достигли они ее на блоках разного размера: Ставшие лидерами Areca и HighPoint вышли на нее уже на 16-кБ блоках, LSI потребовался размер уже 64 кБ, Adaptec - 128 кБ, а Promise и вовсе 512 кБ (полный страйп из восьми дисков по 64 кБ).



Линейное чтение с RAID10 наглядно демонстрирует умения контроллеров распараллеливать чтение на два диска в зеркальных парах. Идеальное поведение продемонстрировать не смог никто, но явно лучше и быстрее остальных в этом тесте Areca (кстати, заметьте, что с 2 ГБ памяти, что с 512 МБ - мы снова видим одинаковые результаты). Ей же снова принадлежит и лидерство по скорости чтения блоками малых размеров. Неплохо ведут себя еще и Adaptec и HighPoint, но последний слишком уж требователен к размеру блока. А вот Promise, LSI и 3ware в данном тесте откровенно разочаровывают.






Не меняется расстановка сил и при чтении с массивов RAID5 и RAID6 - насколько хорошо Adaptec справлялся со случайной записью, настолько Areca и HighPoint великолепно ведут себя на линейном чтении.

Откровенно разочаровывает 3ware - у него и максимальная скорость ниже, чем у остальных, и на малых блоках скорость невысока. И на очень больших - явные проблемы.



На записи в RAID0 в лидеры выходит HighPoint. Areca держится близко, но все же чуть хуже. Причем, только вариант с 512 МБ памяти - 2-ГБ вариант неожиданно потерял скорость вообще. Что с ним случилось и почему мы не в силах даже предполагать. Впрочем, такие же проблемы постигли Adaptec - он крайне медленно пишет, словно у нас не массив, а одиночный диск.



Те же проблемы у Areca c 2 ГБ памяти и на записи в RAID10. А вот Adaptec ведет себя странно - он лучший из «середнячков» на малых блоках, при этом лучший в абсолютном зачете по максимальной скорости, и при всем при этом страдает от малообъяснимого провала скорости на 128-кБ блоках. По сумме впечатлений лучше остальных выглядит Areca c 512 МБ - у нее отличные результаты на малых блоках и очень стабильная и достаточно высокая скорость на больших. А вот HighPoint от нее снова отстал - у него проблемы на блоках большого размера.



В RAID5 успешная линейная запись далась немногим - радуют глаз лишь Areca (причем лишь с базовым объемом памяти, у 2 ГБ опять внушительные проблемы) да HighPoint. LSI и 3ware просто заметно отстают от лидеров, у Adaptec снова какие-то проблемы, ну а про Promise и говорить нечего - хоть какая-то ощутимая скорость у него появляется лишь на блоках 128 кБ и выше.



В RAID6 ситуация во многом напоминает RAID5, так что назовем лишь основные отличия. Areca успешно работает уже в обоих вариантах, HighPoint неожиданно теряет скорость на больших блоках, там же появляются очень серьезные проблемы у LSI. У Adaptec и Promise все по-прежнему печально. Но если крайне низкие результаты Promise точно объясняются отсутствующей отложенной записью, то что случилось с Adaptec - загадка.

IOMeter: Multi-thread Read & Write

Данный тест позволяет оценить поведение контроллеров при многопоточной нагрузке. В ходе него эмулируется ситуация, когда с накопителем работает от одного до четырех приложений, причем количество запросов от них изменяется от одного до восьми, а адресные пространства каждого приложения, роли которых выполняют worker-ы в "IOMeter", не пересекаются.

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


В RAID0 явно лучше других на чтении одного потока выглядят Areca и HighPoint - их потери минимальной глубины очереди минимальны, чего не скажешь об остальных. Adaptec и LSI демонстрируют лишь около половины максимальной возможной на них скорости, а Promise и 3ware и вовсе лишь четверть.

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


На одиночном потоке в RAID10 расстановка сил такая же, как и в RAID0, только превосходство Areca над остальными заметно гораздо сильнее, поскольку он лучше справляется с попеременным чтением с зеркальных пар. Этому же контроллеру снова гораздо лучше других удается чтение нескольких потоков. Причем обратите внимание, насколько контроллер быстрее читает два потока - вот оно, эффективное разделение потоков на разные диски в зеркалах.

Из остальных приличными результатами выделяются лишь Adaptec (к сожалению, лишь при двух потоках) и HighPoint на трех и четырех потоках чтения.




Чтение с массивов RAID5 и RAID6 проходит весьма схоже: с одним потоком лучше других справляются Areca и HighPoint. С несколькими потоками чуть лучше других справляется HighPoint, но в целом все массивы ведут себя неплохо, за исключением Promise и 3ware, снова демонстрирующих весьма невысокие скорости.


С записью на RAID0 картина не менее забавная: с одной стороны, мультипоточная запись проще, поскольку ее заметно облегчают механизмы отложенной записи. С другой, как не сложно видеть, даже запись одного потока при минимальной глубине очереди не для всех является простой нагрузкой. О действительно высоких скоростях можно гооврить лишь у Areca и HighPoint. Причем только Areca сохраняет столь же высокую скорость (и даже чуть больше) на нескольких потоках. А вот расстраивают низкими результатами нас уже три контроллера: к Promise (причины его низких результатов на записи уже завязли в зубах) присоединились Adaptec и LSI.


Все в порядке у Areca со скоростью и в случае записи на RAID10. на этом же типе массивов исправился и Adaptec - при нескольких потоках он успшно соревнуется с Areca за звание лидера. В числе проигравших этот тест снова LSI и Promise.




И снова мы видим схожее поведение контроллеров на массивах RAID5 и RAID6. При одном потоке на запись сильно лучше остальных выглядят Areca и HighPoint, но при увеличении числа потоков Areca остается в лидерах в гордом одиночестве. Любопытно, что на этот раз версия с 2 ГБ памяти сильно отличается. Жаль только, что не в лучшую сторону - ее скорость на всех нагрузках более чем в два раза ниже. Все же, странное поведение демонстрирует Areca при увеличении набортной памяти, такое впечатление, что она на такие ее объемы попросту не рассчитана.

Что же касается результатов Promise, лишенного отложенной записи, то они на такой нагрузке смехотворно малы.

IOMeter: Webserver, Fileserver и Workstation

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

Напомню, что в "Webserver" и "Fileserver" эмулируется работа накопителя в соответствующих серверах, в то время как в "Workstation" мы имитируем работу накопителя в режиме типичной нагрузки для рабочей станции, с ограничением максимальной глубины очереди в 32 запроса. Естественно, что "Webserver" и "Fileserver" - не более чем собирательные названия; первый будет весьма схоже эмулировать нагрузку любого сервера, работающего, фактически, только с запросами на чтение, а второй - сервера с преобладанием запросов на чтение, но при этом с определенной, заметно отличной от нуля долей запросов на запись.

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


С нагрузкой, состоящей исключительно из запросов (преимущественно случайных) на чтение подавляющее большинство массивов справляется одинаково хорошо - разница составляет лишь 5 %. Причем тип массива особой роли не играет - RAID6 работает так же быстро, как и RAID0. Но есть одно весомое исключение: явно большей производительностью отличаются массивы RAID10 на тех контроллерах, которые умеют очень эффективно искать «удачный» диск в зеркальных парах, то есть на 3ware, HighPoint и LSI.


Появление в нагрузке запросов на запись приводит уже к заметному разнообразию в результатах. Во-первых, RAID5 и RAID6 начинают заметно отставать от RAID0 и RAID10. Во-вторых, начинают сказываться индивидуальные особенности контроллеров. Так, в RAID10 по-прежнему лучшими являются 3ware и HighPoint (причины «выпадения из обоймы» LSI просты, достаточно посмотреть на график - у этого контроллера с определенной глубины очереди перестает расти производительность). Как и следовало ожидать, Promise гораздо хуже остальных справляется с массивами с записью контрольных сумм. На этих же массивах обозначилось и отставание HighPoint от остальных.


Схожая ситуация наблюдается и в «Workstation», но ее еще больше обостряет большее количество запросов на запись и весьма разнящаяся картина запросов в нагрузке. В итоге в RAID0 лидерство захватывает Areca. В RAID10 по-прежнему HighPoint и 3ware заведомо лучше других. Ну а в RAID5 и RAID6 отставание HighPoint и Promise приобретает очень значительные размеры.


Та же самая нагрузка, но запущенная на массивах, ограниченных лишь 32 Гб объема (используются лишь самые быстрые зоны на дисках, время отклика минимально), ощутимо меняет расстановку сил. Так, в RAID0 появились явные отстающие - ими стали LSI и Promise. В RAID10 уменьшилось до минимума преимущество 3ware и HighPoint - выбор удачного диска уже практически не важен, ведь отклик везде минимален. Зато появился отстающий - им снова стал Promise. В случае RAID5 и RAID6 общая производительность возросла, но отставание HighPoint и Promise никуда не делось.

FC-Test

Завершает нашу сегодняшнюю программу тестирования FileCopy Test. На накопителе создается два раздела по 32 ГБ, размечаемые на двух этапах тестирования сначала в NTFS, а затем в FAT32, после чего на разделе создается определенный набор файлов, считывается, копируется в пределах раздела и копируется с раздела на раздел. Время всех этих операций фиксируется. Напомним, что наборы "Windows" и "Programs" включают в себя большое количество мелких файлов, а для остальных трех паттернов ("MP3", "ISO" и "Install") характерно меньшее количество файлов более крупного размера, причем в "ISO" используются самые большие файлы.

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

Мы будем подробно рассматривать лишь значения, достигнутые на наборах файлов"Install", "ISO" и "Programs" в NTFS, являющихся более характерными для обычного использования массивов. Остальные результаты, вы, при желании, как всегда можете узнать в таблицах, имеющихся в статьях по каждому отдельному контроллеру


Запись набора файлов «Install» можно четко разделить на два случая. На массивах RAID0 и RAID10 выигрывают Areca и Adaptec, а в проигравших помимо вполне ожидаемо Promise оказывается LSI.

На массивах RAID5 и RAID6 пару Adaptec по лидерству составляет уже 3ware. LSI уже не так уж и плох, зато Promise откровенно беспомощен.

Обратите внимание, с файлами Areca c 2 ГБ памяти справляется сильно хуже исходного контроллера. Чудеса да и только.


С записью больших файлов Areca справляется явно лучше других в RAID0 и RAID10, а вот на массивах с контрольной суммой с ней успешно спорит HighPoint. Во всех случаях, кроме RAID0 лишь сожаление вызывают результаты Adaptec и LSI - они слишком малы. Ну а про Promise мы и вовсе молчим - в тесте на запись у него шансов нет.


А вот с записью файлов все справляются примерно одинаково. Причем одинаково медленно - обратите внимание, насколько заметно падает скорость записи при уменьшении размеров файлов.


Чтение смешанного набора «Install» в подавляющем большинстве случаев чуть лучше удается контроллерам LSI и HighPoint. Что же касается отстающих, то ими стали 3ware и Promise (и здесь ему уже не оправдаться отсутствующей отложенной записью).


На больших файлах откровенно «зажигает» Areca - даже идущий следом за ней HighPoint сложно назвать ее конкурентом. Особенно примечательны результаты в RAID10, где Areca наглядно демонстрирует, зачем надо уметь попеременно читать с дисков.

А вот отстающие все те же - 3ware и Promise, да и LSI выглядит откровенно слабым при чтении с RAID10 (расплата за отличную выборку удачного диска?).


Те же проигравшие у нас и на мелких файлах. А вот лидеры новые: за первое место борются LSI и HighPoint.




При копировании смешанного набора «Install» на трех из типов массивов явно лидирует группа из Adaptec, HighPoint и LSI. А вот в RAID10 LSI выбывает из лидеров, зато туда входит, выбиваясь сразу на первое место, Areca. Проигравший же во всех случаях один - страдающий от отсутствия отложенной записи Promise.




На больших файлах лидеров всего два: HighPoint и Areca. Последняя гораздо быстрее в RAID10, зато чуть отстает на остальных массивах. Остальные этим контроллерам, честно говоря, слабые конкуренты.




Копирование мелких файлов в «Programs» всем контроллерам дается достаточно тяжело. Хотя чуть лучше других выглядят, пожалуй, LSI и Adaptec.

Подведение итогов

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

Пожалуй, наилучшие ощущения о себе оставили Adaptec RAID ASR-5805 и Areca-1680x-16. Именно эти две модели наиболее стабильно проходили тесты и у них меньше всего крупных недоработок в прошивках. В целом, Adaptec чуть лучше подходит для организации баз данных, в то время как Areca более удачно справляется с многопоточными операциями и работой с файлами. В любом случае, оба они являются вполне достойными представителями современных контроллеров. Любопытно, но построены они, фактически, на очень схожих платформах - у них одинаковый процессор и равный объем оперативной памяти.

Да, Areca позволяет сменить память и увеличить ее объем, но наше тестирование не показало никакого положительного эффекта от этого действия, скорее наоборот - версия с 2 ГБ часто оказывалась чуть хуже. Впрочем, повторимся: возможно, что 2 ГБ продемонстрируют себя в полной мере, при подключении контроллер дисков через экспандеры, когда пропускной способности интерфейса будет уже не в полной мере хватать для всех дисков.

Несколько неоднозначное впечатление оставили о себе 3ware 9690SA-8I и HighPoint RocketRAID HPT4320. Первый был бы весьма неплохим контроллером, но его изрядно портят низкие результаты при работе с файлами, так что на наш взгляд его стезя - базы данных, где он отлично проявит себя как сбалансированное и мощное устройство. У второго прекрасные алгоритмы работы с RAID10 и очень неплохая запись, но он все же имеет слишком много проблем с массивами с записью контрольных сумм. Хочется надеяться, что в последующих прошивках они будут решены, и в перспективе выбор хороших контроллеров станет на одну модель больше.

Что касается LSI MegaRAID SAS 8708EM2 и Promise SuperTrak EX8650, то в своем текущем виде они разочаровывают. Конечно, Promise был у нас на тестах в несколько заведомо худших условиях из-за неработающей отложенной записи, но все же и на чтении у него зачастую слишком низкие результаты по сравнению с конкурентами. А у LSI попросту слишком много недоработок, хотя работа с мелкими файлами и великолепная выборка удачного диска в зеркальных парах впечатляют. Но прошивки выпускаются, а значит шансы есть у всех. Опять же, повторимся: во многих случаях наличие уже существующей инфраструктуры из работающих контроллеров какой-либо фирмы имеет гораздо большее значение, чем производительность, если только последняя не страдает совсем уж непоправимым образом.

Другие материалы по данной теме


Тестирование SAS RAID-контроллера Areca ARC-1680ix-16
Тестирование SAS RAID-контроллера HighPoint RocketRAID HPT4320
Тестирование SAS RAID-контроллера LSI MegaRAID SAS 8708EM2
Тестирование SAS RAID-контроллера Adaptec RAID ASR-5805
Тестирование SAS RAID-контроллера 3ware 9690SA-8I
Тестирование SAS RAID-контроллера Promise SuperTrak EX8650