Расширение портов RAID контроллера SAS. Расширение портов RAID контроллера SAS Raid контроллеры lsi

06.05.2020 Программы

ВведениеТяжёлое и неблагодарное это занятие - тестирование 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

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

Высокопроизводительный 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-контроллерах

В настоящее время 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-массивов при их функционировании в реальной среде.

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

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

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

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


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

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

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

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


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


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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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


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

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

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


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


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

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

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

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

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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

С момента анонса контроллеров серий 9260, исключая модели с приставкой “CV”, прошло примерно два года. За это время в русскоязычной части интернета нашими коллегами по ИТ-журналистике было опубликовано несколько обзоров, описывающих достоинства этой серии, и проведено немало тестов. Дабы не повторять весь путь наших коллег, мы решили раскрыть значение аббревиатуры “CV” в контроллерах обновленной серии. Поэтому тесты мы проводили с целью выявить разницу между уже знакомыми рынку контроллерами и обновлёнными, с маркировкой “CV”. Конечно, нам все же придется проделать те же шаги, что и наши коллеги, а именно снять результаты тестов уровней RAID. Но мы рассчитываем на то, что сравнительный анализ результатов работы контроллера с “Cache Cade” будет по достоинству оценен нашими читателями. Но обо всем по порядку.

Спецификации контроллера

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

Основные аппаратные и программные характеристики приведены в таблице

LSI MegaRAID SAS 9260CV-8i

Решение Внутренние SATA+SAS контроллеры на восемь портов для приложений интенсивного ввода-вывода. Широкая полоса пропускания, подключение SAS, SATA или твердотельных накопителей. Снижение затрат на техническое обслуживание и совокупной стоимости владения благодаря применению технологии CacheVault
Размеры Низкопрофильный формат MD2 (6,6 дюймов X 2,536 дюйма)
Разъемы Два внутренних разъема Mini-SAS SFF-8087
Поддержка устройств До 128 жестких дисков SAS и (или) SATA и твердотельных накопителей
Тип шины главного процессора PCI Express х8 версии 2.0
Скорость передачи данных До 6 Гбит/с (на каждый порт)
Процессор ввода-вывода SAS-контроллера LSISAS2108 с технологией RAID on Chip (ROC)
Объем кэш-памяти 512 Мбайт DDRII SDRAM
Защита кэша Флэш-защита кэш-памяти MegaRAID CacheVault
Основные характеристики защиты данных RAID
  • RAID – уровни 0, 1, 5 и 6
  • Расширение RAID до 10, 50 и 60
  • Оперативное увеличение емкости (OCE))
  • Оперативная миграция с одного на другой уровень RAID (RLM)
  • Автоматическое возобновление работы после отключения питания в связи с модернизацией или реконструкцией массива (RLM)
  • Многоканальная структура поддержки для одного контроллера (переключение при отказе)
  • Распределение загрузки
  • Конфигурация сегмента чередования данных до 1 Мб
  • Быстрая инициализация, обеспечивающая быструю настройку массива
  • Проверка на согласованность целостности данных
  • Регулярная проверка — сканирование и восстановление носителей
  • Поддержка 64 логических дисков
  • Поддержка до 64 Тбайт на одно логическое устройство (LUN)
  • Конфигурация диска (COD), совместимая с форматом DDF
  • Поддержка S.M.A.R.T
  • Общее и раздельное горячее резервирование с функцией восстановления
Управление RAID
  • MegaRAID Management Suite
  • MegaRAID Storage Manager
  • MegaCLI (интерфейс с командной строкой)
  • WebBIOS
Опциональная оптимизация твердотельного накопителя

Программное обеспечение MegaRAID CacheCade увеличивает производительность ввода-вывода, используя в качестве кэш-памяти твердотельный накопитель
Программное обеспечение MegaRAID Fast Path обеспечивает производительность до 150 000 операций ввода-вывода в секунду для массивов твердотельных накопителей

Контроллер 9260CV-8i относятся к серии Value Line (серия доступных решений). От контроллеров более дорогой серии Feature Line эту модель отличает наличие CacheVault (памяти NAND Flash) "на борту" контроллера и использование ионисторов (суперконденсаторов) вместо привычных литий-ионных резервных батарей (BBU). В отличие от устройств серии Entry, в 9260CV-8i используется более мощный процессор LSISAS2108 800 МГц с архитектурой PowerPC.

Типы поддерживаемых уровней RAID изменений не претерпели. Заявлены те же знакомые типы RAID и их модификации: 0, 00, 1, 10, 5, 50, 6 и 60.

Как мы упомянули выше, место привычного резервного аккумулятора BBU заняли суперконденсаторы, которые стали составной частью новой защиты кэша (Cache Vault). Основной принцип действия Cache Vault практически идентичен использованию BBU. Суперконденсатор поддерживает питание кэша. Но, если в случае классического BBU с литий-ионными ячейками информация в ОЗУ контроллера сохраняется в течение, примерно, 72-х часов, после чего данные пропадают, то ионистор, помимо того, что поддерживает в кэш рабочем состоянии, позволяет произвести запись информации из кэша на модуль флэш-памяти NAND, находящийся на контроллере. При возобновлении подачи питания информация из NAND вновь будет переписана в кэш контроллера. По данным LSI (LSI MegaRaid CacheVault Technology) информация в NAND может храниться примерно три года.

Программное обеспечение

Управлять контроллером и производить его настройку удобнее всего через MegаRAID Storage Manager. Также существует так называемый WebBIOS — BIOS контроллера, вызываемый при инициализации во время загрузки сервера, а также командная строка (CLI).

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

MegaRAID FastPath

Позволяет оптимизировать работу SSD дисков подключенных к контроллеру и увеличить количество операций ввода-вывода транзакционных приложений. Компания LSI уверяет о трехкратном увеличении производительности, до 150 000 операций ввода/вывода в секунду, при использовании MegaRAID FastPath.

MegaRAID CacheCade

Функция при помощи, которой SSD диск используется в качестве кэша для массива жестких дисков, что позволяет примерно в 50 раз повысить производительность в web-ориентированных приложениях, в базах данных и в обработке транзакций в реальном времени (OLTP)

MegaRAID Recovery

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

MegaRAID SafeStore

Совместно со встроенной в диски системой шифрования SED (self-encrypting drives) обеспечивает высокий уровень безопасности от неавторизированного доступа и попыток изменить данные.

Существует два варианта активации перечисленных функций. Первый — использовать аппаратный ключ, то есть микросхему, устанавливаемую прямо на контроллер. Второй — ввод программного ключа через RAIDweb console, либо через оснастку MegaRAID Storage Manager, устанавливаемую непосредственно в операционной системе. Варианты равносильны с точки зрения результата, а пользователь может выбрать наиболее удобный для него способ активации функций.

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

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

Нами была использована платформа Windows 2008 R2, а для оценки подсистемы ввода/вывода использовалась утилита IOMeter версии 2006.07.27.

В тестировании нами использовался сервер Asustek RS720-E6. Конфигурация приведена в таблице ниже.

Конфигурация тестового сервера Asustek RS720-E6
Компонент Характеристики
Системная плата ASUS Z8PE-D18
Микропроцессор 2 х Intel Xeon E5620 (Westmere-EP), 2,40 ГГц, кэш 12 Мбайт
Оперативная память 12 х Samsung DIMM DDR3-1333 4 Гбайт PC3-10600 ECC Registered M393B5273BH1-CH9
Жёсткие диски 7 х Hitachi Ultrastar 15K600 SAS-2.0 600 Гбайт 15000 об/мин 64 Мбайт HUS156060VLS600
Твердотельный накопитель Intel SSD 510 250 Гбайт

Один из семи дисков мы отвели под операционную систему. Корпус используемого нами сервера поддерживает установку 12 дисков, но из-за того, что его оснастка backplane не содержит экспандер, и подключение контроллера осуществляется через обычные 7-конатактные SATA-кабели, мы использовали только 7 дисков. Также одно посадочное место мы использовали для SSD под CacheCade.

Для тестирования мы воспользовались готовыми шаблонами в IOmeter, а именно WebServer, DataBase, FileServer, WorkStation. Так же мы использовали шаблоны последовательного и произвольного чтения/записи с блоками данных различных размеров — от 512 байт и до 1 Мбайт с шагом, в два раза превышающим предыдущий блок. Глубину очереди команд выбрали равной 30, что позволило нагрузить дисковую подсистему. Большая глубина очереди команд характерна для корпоративного окружения, где дисковая подсистема сталкивается с большой нагрузкой. В качестве такой нагрузки могут выступать виртуальные машины и терминальные серверы. Как видно из характеристик нашей платформы, она как раз предназначена для корпоративного сектора. Опытным путем было выявлено, что 30 команд является нижней границей с которой начинается повышенная нагрузка на дисковую подсистему. Тестам подверглись все уровни RAID и их модификации, поддерживаемые контроллером, с использованием Cache Cade и без него: 0, 00, 1, 10, 5, 50, 6. Исключением оказался уровень 60, так как отсутствие экспандера не позволило установить восемь дисков.

На первом этапе была протестирована производительность ввода/вывода 14 конфигураций. Список представлен в таблице.

Тестовые конфигурации RAID
RAID-00 4 диска
RAID-00 + CacheCade 4 диска
RAID-0 5 дисков
RAID-0 + CacheCade 5 дисков
RAID-1R 4 диска
RAID-1 + CacheCade 4 диска
RAID-5 5 дисков
RAID-5 + Cache Cade 5 дисков
RAID-6 5 дисков
RAID-6 + CacheCade 5 дисков
RAID-10 4 диска
RAID-10 + CacheCade 4 диска
RAID-50 6 дисков
RAID-50 + CacheCade 6 дисков

RAID-1 из четырех дисков аналогичен RAID10, что подтверждается тестами.

Вторым этапом мы сделали несколько измерений с виртуальным машинамb, для чего мы развернули роль Hyper-V и запустили одновременно 4 виртуальные машины с Windows 7. Каждая виртуальная машина соответствовала одному шаблону IOmeter: две web-серверам, например корпоративному (внутреннему) и внешнему, серверу баз данных и файловому серверу. Таким образом, можно проследить работу устройства в реальном сценарии. Работу данного теста решено было проверить с наиболее популярной на практике конфигурацией массива — RAID5. CacheCade был задействован.

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

Подробные цифры по всем графикам можно посмотреть в .

Шаблон DataBase без использования CacheCade (СС)

Шаблон FileServer без использования CacheCade (СС)

Шаблон WorkStation без использование CacheCade (CC)

Шаблон WebServer без использование CacheCade (CC)

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

Рассмотрим те же шаблоны только с применением CacheCade:

Тест призван показать прирост производительности или отсутствие оного в операциях ввода/вывода

Шаблон DataBase c использованием CacheCade (СС)

Шаблон FileServer с использованием CacheCade (СС)

Шаблон WorkStation с использование CacheCade (CC)

Шаблон WebServer с использование CacheCade (CC)

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

Стоит также отметить, что для некоторых уровней RAID результаты с CacheCade оказались, пусть незначительно, но меньше, чем без его применения. Особенно это видно по шаблону FileServer, на уровнях RAID 00, 5, 6 и 10. Менее всего снижение проявилось в шаблоне WebServer — только в RAID5 результат оказался заметно ниже полученного без Cache Cade. Трудно сказать, с чем конкретно данное снижение может быть связано. Можно предположить, что происходит это из-за 20% операций записи, заданных в настройках шаблона.

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

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

По графику видно, что первое место занимает RAID 0, что логично, поскольку, чтение производится параллельно с нескольких дисков, на 5 дисках скорость в пике достигает 930 мегабайт в секунду. За ним следуют, практически, вровень три массива: RAID5, RAID00 и давший просадку на блоках размером 16 кбайт RAID50. RAID1 и RAID10 показывают идентичные результаты, поскольку, как было сказано выше, по сути, идентичны и раскрывают свой потенциал в данном тесте на блоках в 512 кбайт. RAID6 показывает равномерный результат, начиная с блоков размером от 4 кбайт.

Последовательно чтение, мегабайты в секунду, с использованием CacheCade

Вариант, при котором используется Cache Cade, дает практически идентичные результаты, с той лишь разницей, что падение скорости на блоках в 16 кбайт в случае RAID50 здесь происходит более резко. Известно, что скорость чтения зависит от размера stripe — непрерывной последовательности дисковых блоков. Возможно, что на данный провал и повлиял его размер, который по умолчанию для контроллеров устанавливается равным 64 кбайт, и который оставался неизменным во время проведения всех тестов. Возможно, что падение могло быть вызвано работой с данным блоком на этом уровне RAID прошивкой контроллера. Мы постараемся выяснить, с чем связанно такое поведение контроллера у инженеров LSI.

Последовательная запись, мегабайты в секунду, без использования CacheCade

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

Последовательная запись, мегабайты в секунду, с использованием CacheCade

И снова результаты очень похожи. Для некоторых блоков в данном тесте разница составила буквально 100 кбайт/с, причём не в пользу CacheCade. Но такой разницей опять же можно пренебречь. Единственные уровни RAID, которым кэш пошел на пользу — это RAID1 и RAID5. Скорость записи в случае RAID1 выросла на 100 Мбайт/с в случае блоков размером 2 кбайт, а в RAID5 — 50 Мбайт/с при блоках 8 кбайт.

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

Произвольное чтение не сильно, но все же разделило RAID-массивы на три разные группы по полученным результатам. Заметно это на больших блоках. В первой группе RAID1 и RAID10, во второй — RAID0 и RAID00, в третьей -RAID5, RAID50 и RAID6. Во время чтения на массивы не действуют ограничения, имеющие место в случае записи — вычет контрольных сумм (RAID5, 50 и 6) и дублирование информации (RAID1 и RAID10). В лидерах здесь RAID1 и RAID10, так как имеют меньшее количество дисков по сравнению с остальными уровнями RAID.

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

График аналогичен предыдущему, с той лишь разницей, что технология Cache Сade незначительно увеличила скорость работы c блоками 256 кбайт и 512 кбайт для RAID1 и RAID10.

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

Запись вносит свои коррективы. По сравнению с предыдущими графиками скорость упала примерно на 50 Мбайт/с. Помимо того, что головки вынуждены "пробегать" по диску в поисках данных в хаотичном порядке, внося задержки, также оказывают влияние и параметры RAID-массивов, которые обеспечивают их надежность (контрольные суммы и дублирование).

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

И снова вариации минимальны. В шаблонах произвольной записи, SSD-кэш пытается увеличить производительность дисковой подсистемы, но сталкивается со сложностями. Несмотря на высокую производительность SSD при произвольной записи, всё упирается в расчёт дополнительных контрольных сумм (RAID5, 50 и 6), дублирование информации (RAID1, 10) и количество дисков (RAID0, 00) — в выполнении этих накладных задач SSD не поможет.

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

Последовательное чтение, операции в секунду, без использования CacheCade


Последовательные чтение, операции в секунду, с использованием CacheCade

Последовательная запись, операции в секунду, без использования CacheCade

Последовательная запись, операции в секунду, с использованием CacheCade

Из графиков видно, что весь свой потенциал CacheCade раскрывает при работе с последовательными операциями ввода вывода. Разница между тестами с CacheCade и без него для некоторых блоков данных составляет более 100 000 операций в секунду. Например, для RAID5 в случае чтения это 275 000 IOPS с CacheCade против 167 000 IOPS без использования кэша. Но это справедливо не для всех уровней RAID, например для RAID0, RAID10, RAID6 можно заметить разницу не в пользу CacheCade. Почему так происходит, мы затрудняемся ответить. Вопрос зададим специалистам LSI и, получив ответ, внесём разъяснения в статью.

Произвольное чтение, операции в секунду, без использования CacheCade

Произвольное чтение, операции в секунду, с использованием CacheCade

Произвольная запись, операции в секунду, без использования CacheCade

Произвольная запись, операции в секунду, с использованием CacheCade

Произвольные операции не получают преимуществ от использования CacheCade.

Тесты виртуальных машин

Результаты для одной виртуальной машины

Результаты для четырёх одновременно работающих виртуальных машин.

Вообще наша затея с тестом виртуальных машин относится к категории "а почему бы не попробовать?" Мы попытались посмотреть на работу контроллера в практических условиях, приближенных к "боевым".

Результаты тестов виртуальных машин нас не удивили. Единственное отличие, которое бросилось в глаза, касалось немного более высоких результатов в готовых шаблонах (DataBase, FileServer и WebSer). Возможно, причина кроется в особенности работы виртуальной машины с дисковой подсистемой. При непосредственно работе с дисковой подсистемой, утилите тестирования IOmeter передавался неразмеченный массив (Raw). В случае работы с виртуальной машиной, массив сначала форматировался (размер кластера 4 кбайт), затем для каждой виртуальной машины выделялся пул посредством создания файла *.VHD объемом в 100 Гбайт, который выступал для виртуальной машины в качестве диска. Можно предположить, что это каким-то образом позволило увеличить результаты в стандартных шаблонах.

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

Заключение

По результатам тестов мы убедились в том, что технология CacheCade работает, с некоторыми оговорками, но функции свои выполняет. Результаты тестов у нас получились немногим выше, чем те, которые существуют в сети для контроллера 9260-8i. Это не связанно с особенностью экземпляра контроллера, который достался нам, так как ничем кроме Cache Vault от своего собрата он не отличается — ни скоростью памяти, ни характеристиками процессора, ни другими параметрами. Скорее, роль сыграли производительные комплектующие, которые мы использовали: новая платформа, быстрые диски (15 000 об/мин) с интерфейсом SAS2 и, конечно же, функция CacheCade, хотя контроллер и без помощи SSD даёт хорошие результаты.