Экстремальный RAID проект 2011
Эта статья – продолжение тестов RAID, которые мы делали с шестнадцатью накопителями Intel X25-E SSD в сентябре 2009 и отдельно с новыми контроллерами LSI RAID.
Наш
Для тестов мы снова использовали массив из 16-ти SSD, просто потому что не смогли собрать больше. Мы предпочли 16 дисков Samsung 470-й серии, даже учитывая то, что другие накопители, такие как Crucial RealSSD C300, OCZ Vertex 3 и новые модели Intel предоставляют более высокую пропускную способность.
Мы ожидаем, что этот RAID массив легко преодолеет уровень 3 Гбайт/с и даже немного выше, так как результаты тестов отдельного накопителя показывают, что модели от Samsung демонстрируют скорость последовательного чтения приблизительно 261 Мбайт/с и скорость последовательной записи 224 Мбайт/с. В нашей предыдущей системе RAID мы использовали 16 приводов Intel X25-E, которые достигли средней пропускной способности приблизительно 220 Мбайт/с. Поэтому мы ожидаем улучшения результатов (и кстати, за меньшее количество денег).
Устраняем “узкие места”
Кроме замены SSD, мы немного изменили нашу тестовую систему. Наша платформа основана на материнской плате Supermicro X8SAX X58 Express с четырёхядерным процессором Intel i7-920 первого поколения с частотой 2.66 ГГц и тремя гигабайтами памяти DDR3-1333. Этой системы уже достаточно для поддержки более высокой пропускной способности, тем более, что мы использовали два порта x16 PCI Express 2.0 для контроллеров RAID. Платформа X58, использующая PCIe 2.0, может теоретически предоставить 8 Гбайт/с. Таким образом, “узкого места” в интерфейсе нет.
Мы доверились протестированным и проверенным контроллерам RAID: LSI предоставила в наше распоряжение два своих PCI Express 2.0 MegaRAID 9260-8i, каждый из которых позволяет подключить до восьми SSD. Мы использовали оба контроллера, чтобы распределить накопители через два порта PCI Express и избежать “узких мест”. У нас была дополнительная карта LSI, которая вместе с платой MegaRAID 9280-24i4e может присоединить до 24 дисков SATA/SAS. Мы выбрали этот контроллер, чтобы попытаться управлять всеми 16 дисками SSD с одного контроллера. Смысл в том, что два контроллера должны предоставить больше пропускной способности, чем один, и мы готовы проверить эту гипотезу.
Устранили ли мы все “узкие места”? И да, и нет. Система легко позволяет нашей комбинации контроллеров RAID и SSD достигать пропускной способности более чем 3 Гбайт/с. Однако контроллер RAID достиг некоторых пределов. Контроллер с большей пропускной способностью предоставил бы ещё больше производительности.
SSD: 16 x Samsung 470 (256 Гбайт)
Для тестов мы выбрали приводы Samsung 470-й серии, также известные как PM810 (OEM название продукта). Из-за интерфейса SATA 3 Гбит/с эти SSD не достигают таких показателей случайного ввода/вывода, как у последних накопителей OCZ, или скорости последовательного чтения и записи, как у Intel SSD 510. Однако привод Samsung всё ещё предлагает высокую производительность: в наших тестах он демонстрировал постоянную пропускную способность независимо от рабочей нагрузки или приложения. Кроме того, он не показал каких-либо существенных слабостей. Поэтому Samsung 470 заслужено выбран для тестирования потенциала RAID массива. Только имейте ввиду, что эти SSD основаны на MLC, поэтому они не очень подойдут для бизнес приложений (особенно в RAID 0).
Тесты также показали, что 16 SSD с интерфейсами 6 Гбит/с не улучшат общую производительность нашего RAID массива. Это происходит не из-за накопителей, а скорее из-за RAID контроллеров LSI, которые “сдаются” при виде нашей “суперсистемы”. LSI MegaRAID 9260-8i и MegaRAID 9280-24i4e предоставляют максимум 150 000 IOPS и приблизительно 1600 Мбайт/с пропускной способности каждый. Это предел, с которым мы сталкиваемся. Согласно словам изготовителя, второе поколение устройств на 6 Гбит/с должно более чем удвоить эти цифры. В предстоящем обзоре контроллера мы проверим это заявление компании.
Samsung серии 470 основан на контроллере MAX (S3C29MAX), разработанном компанией Samsung. Он использует восемь каналов и включает доступ к кэшу на 256 Мбайт, а также поддержку аппаратной установки очередности команд с 32 очередями (NCQ). Высота этого SSD около семи миллиметров, и он тоньше большинства конкурентов, поэтому этот накопитель предпочтительнее для инсталляции в тонких портативных компьютерах. Samsung предлагает приводы ёмкостью 64, 128 и 256 Гбайт. Для тестов компания обеспечила нас шестнадцатью SSD на 256 Гбайт. Мы использовали прошивку версии 0701Q.
Используемые нами диски являются OEM версией и немного отличаются от розничных моделей. Осмотр внутренней области SSD показал, что Samsung выбрал формат печатной платы, который также подходит для дизайна накопителя на 1.8 дюйма. Samsung использует переключаемые модули DDR NAND, выполненные по техпроцессу 30 нм, работающие в двухканальном режиме аналогично RAM в компьютерах.
Контроллеры: 1 x LSI MegaRAID 9280-24i4e и 2 x LSI MegaRAID 9260-8i
Мы использовали контроллеры с прошлого теста: две платы LSI MegaRAID 9260-8i на основе PCI Express, каждый управляет восьмью SSD. Второй тип контроллера – LSI MegaRAID 9280-24i4e, который может управлять всеми дисками сразу. Сначала давайте рассмотрим некоторые факты о 9260-8i.
LSI MegaRAID 9260-8i основан на LSI SAS2108 RoC (RAID-on-chip), который использует интерфейс x8 PCI Express 2.0, теоретически позволяющий увеличить скорость передачи данных до 4000 Мбайт/с для входа и выхода. “8i” в названии означает восемь внутренних SATA/SAS портов, каждый из которых обеспечивает пиковую пропускную способность 6 Гбит/с. У контроллера также есть 512 Мбайт кэш памяти DDR2-800 и в зависимости от модели, опциональный аккумулятор (BBU), который гарантирует запись кэшированных данных на флеш NAND после сбоя питания.
Второй RAID контроллер, LSI Mega RAID 9280-24i4e, предлагает 24 (вместо восьми) внутренних и четыре внешних коннектора SATA/SAS. Несмотря на большее количество портов и большую PCB, контроллер очень похож на своего младшего коллегу 9260-8i из-за интерфейса PCI Express 2.0 (x8), RoC и идентичных функций кэша. Для того, чтобы увеличить количество доступных портов SATA/SAS, 9280-24i4e использует экспандер на контроллере, поэтому пропускная способность остаётся такой же.
Мы использовали три различные тестовые конфигурации, чтобы определить характерную производительность 16 SSD:
- 8 SSD на LSI MegaRAID 9280-24i4e;
- 16 SSD на LSI MegaRAID 9280-24i4e;
- 16 SSD на2 x LSI MegaRAID 9260-8i.
Для всех трёх конфигураций мы создали програмный RAID в Windows 7. В каждом случае конфигурирование SSD производилось посредством ПО контроллера от LSI под названием MegaRAID Storage Manager.
Создание RAID 0 на LSI 9280-24i4e
При помощи программы MegaRAID Storage Manager можно объединить SSD в массивы (LSI MegaRAID 9280-24i4e с 16 SSD), действуя следующим образом:
В MegaRAID Storage Manager отображаются все SSD, подключённые к контроллеру
При помощи контекстного меню “Create Virtual Drive,” вы можете создать виртуальный диск, спроектированный как RAID массив
В RAID конфигурации можно выбрать между опциями “Simple” и “Advanced”
Для тестов мы сформировали RAID 0
После того, как все приводы добавлены к RAID массиву, можно определить следующие параметры
MegaRAID Storage Manager показывает итоговые параметры и с нажатием кнопки “finish” создаёт RAID массив
Теперь виртуальный диск объёмом 3.7 Тбайт, состоящий из шестнадцати SSD, создан. Дальнейшая настройка происходит в инструментах управления дисками Windows 7.
Создание RAID в Windows
Сначала мы создали два RAID 0 массива с восьмью SSD на каждом контроллере. Далее через управление дисками в Windows мы сконфигурировали программный RAID 0 массив, состоящий из двух LSI RAID массивов.
Windows распознал каждый из RAID массивов как независимый том
При помощи контекстного меню мы создаём RAID…
И выбираем два тома
Полностью настроенный stripe готов к тестам.
Тестовая конфигурация
Тестовая конфигурация | |
Процессор | Intel Core i7-920 (45 нм, 2.66 ГГц, 8 Мбайт кэш L2 ) |
Материнская плата | Supermicro X8SAX Revision: 1.0, Chipset Intel X58 + ICH10R, BIOS: 1.0B |
Оперативная память | 3 x 1 Гбайт DDR3-1333 Corsair CM3X1024-1333C9DHX |
Жёсткий диск | Seagate NL35 400 Гбайт, ST3400832NS, 7200 RPM, SATA 1.5 Гбит/с, кэш 8 Мбайт |
Контроллер | LSI MegaRAID 9280-24i4e, Firmware: v12.12.0-0037, Driver: v4.32.0.64 LSI MegaRAID 9260-8i |
Блок питания | OCZ EliteXstream 800 W, OCZ800EXS-EU |
Тесты | |
Производительность | CrystalDiskMark 3 |
Производительность ввода/вывода | IOMeter 2008.08.18 Тест-Файловый сервер Тест-Web-сервер Тест-База данных Тест-Рабочая станция Потоковое чтение Потоковая запись 4k произвольное чтение 4k произвольная запись |
ПО и драйверы | |
Операционная система | Microsoft Windows 7 Ultimate |
Пропускная способность
С двумя контроллерами RAID массив имеет прекрасную пропускную способность. Однако результаты несколько отрезвляют, потому что, в среднем, RAID массив предоставляет скорость чтения 2245 Мбайт/с и записи 2094 Мбайт/с при самой быстрой конфигурации. Это хорошие результаты, но они далеки от “магического” порога в 3 Гбайт/с. После сокращения данных согласно глубине очереди мы видим совсем другую картину.
В результате, ограничения пропускной способности карт LSI не имеет значения, используем мы 9280-24i4e с восьмью или с 16-ю SSD. Мы достигаем самой высокой скорости чтения и записи, используя решение с двумя контроллерами 9260-8i, поскольку каждый связан с отдельным портом PCI Express 2.0.
При низких глубинах очереди различные тестовые системы довольно близки друг к другу. Но при глубине очереди, равной четырём ожидающим командам, система с двумя контроллерами выходит вперед. А при глубине очереди, равной восьми, она показывает значительное преимущество. Система приближается к отметке 3 Гбайт/с при записи и значительно выше её при чтении.
Когда мы подключаем один контроллер к нашей тестовой системе, предел производительности достигается намного быстрее. Скорость RAID не превышает 1500 Мбайт/с при записи и приблизительно 1600 Мбайт/с при чтении.
Производительность ввода/вывода
С шестнадцатью SSD в RAID массиве средняя производительность ввода/вывода для приложений базы данных достигает приблизительно 19 000 IOPS, а самая высокая производительность достигается при глубине очереди в 16 ожидающих команд. Тест базы данных состоит на 67% из операций чтения и на 33% из операций записи с размером блока 8 Кбайт.
Ситуация здесь такая же, как с файловым сервером и рабочей станцией. Опять же два экстремальных RAID массива из 16 SSD показывают лучшие результаты при более высокой глубине очереди.
В тесте “web-сервер” у решения с одним контроллером нет шансов против конфигурации с двумя. С увеличением глубины очереди LSI MegaRAID 9260-8i уходит всё дальше и дальше, в то время как LSI MegaRAID 9280-24i4e, независимо от количества накопителей, не достигает даже 100000 IOPS.
Произвольное чтение/запись, блоки по 4 Кбайт
Чем выше глубина очереди, тем выше производительность системы. Если посмотреть на произвольное чтение/запись 4 Кбайт, то мы увидим отличную от теста Iometer картину. Это особенно хорошо проявляется в чтении, где система с двумя контроллерами достигает более чем 300 000 IOPS при глубине очереди равной 32. Конфигурации, ограниченные одним контроллером, достигают около половины от этой скорости. Кривая ясно показывает, насколько велико влияние глубины очереди на операции ввода/вывода. При глубине очереди, равной единице производительность, не достигает даже 30 000 IOPS.
В произвольной записи ситуация немного отличается: глубина очереди до 2 даёт лучшие результаты на тестовой системе. По результатам тестов чистое преимущество здесь имеют системы с двумя контроллерами и 16-ю SSD, благодаря их способности суммировать производительность ввода/вывода. С восемью приводами Samsung, подключёнными к контроллеру 9280-24i4e LSI MegaRAID, производительность быстро падает, конкурируя с другими устройствами только при самой низкой глубине очереди.
В произвольной передаче данных система RAID работает медленнее, чем в последовательном чтении/записи, но результаты всё равно хорошие. Скорость чтения при большой глубине очереди колеблется между 411.5 и 484.3 Мбайт/с, а скорость записи между 428.3 и 542.1 Мбайт/с. В отличие от потокового, в этом тесте различные тестовые системы работают очень равномерно. Максимальная разница в скорости чтения/записи здесь достигает только 120 Мбайт/с.
Заключение: второе поколение систем на 6 Гбайт/с необходимо
Вряд ли “армада” из 16 SSD, объединённых в быстрое (хотя и рискованное) RAID 0 устройство, будет реально установлено потребителями как в бизнесе, так и в общем пользовании. С другой стороны, у нас не стояло цели создать реалистичный тестовый сценарий, мы хотели узнать, сколько мощности можно выжать из связки хороших SSD спустя год после нашей первой попытки выполнения такой же операции.
Вот что мы выяснили: возрождение нашего экстремального RAID, на сей раз составленного из SSD Samsung 470-й серии на базе MLC, вместо более дорогих Intel X25-Es на основе SLC, показывает пропускную способность более чем 3 Гбайт/с и производительность ввода/вывода до 170 000 операций в секунду. Однако высокие скорости чтения/записи оказались не так постоянны, как мы ожидали. Также, как и уровни производительности ввода/вывода, они растут с увеличением глубины очереди. Их пиковые значения сверх 3 Гбайт/с наблюдаются только в последовательных измерениях.
Мы ожидали, что RAID контроллеры 9260-8i LSI MegaRAID и Mega9280-24i4e превосходно себя покажут, и они сделали это. Но мы не ожидали, что они довольно сильно помешают достижению нашего амбициозного уровня производительности. Производитель заявляет, что каждый контроллер может достигнуть максимум 150 000 IOPS и приблизительно 1600 Мбайт/с, что довольно много. В принципе, это реально для большинства обычных устройств, но до тех пор, пока вам не потребуется экстремальная производительность, как, например, нам. C математической точки зрения, 16 SSD со скоростью до 261 Мбайт/с каждый могут перескочить черту в 4 Гбайт/с, что невозможно с текущим оборудованием. Мы хотим прояснить, что это не проблема передачи 3 Гбит/с против 6 Гбит/с, а скорее вопрос пропускной способности и возможностей ввода/вывода самой системы и, что более важно, контроллера RAID. Всё это вместе взятое показывает, насколько важен баланс в вашем собственном высокопроизводительном хранилище. Не так сложно вообразить похожее “узкое место”, затрагивающее JBOD-системы.
История с RAID конечно далека от окончания. С одной стороны, следующее поколение RAID контроллеров на основе SAS обеспечит более высокую пропускную способность и производительность операций ввода/вывода. Новая продукция, например недавно анонсированный 9285-8e/i от LSI, который мы скоро увидим, идёт с интерфейсом 6 Гбит/с. Вместе с тем, самые последние SSD на 6 Гбит/с демонстрируют внушительную пропускную способность, показывающую, что осталось ещё много пространства для увеличения производительности. Чуть позже, в этом году, можете ожидать новый экстремальный SSD RAID проект.