Настройка lsi megaraid ssd

Обновлено: 04.07.2024

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

Общие понятия по видам кэш

Существует три разновидности cache на RAID контроллерах:

  • read policy
  • write policy
  • i/o policy

Рассмотрим более детально, что из себя представляет каждая политика кэширования.

Read policy (Политика чтения)

Политика Read Ahead Policy: При ее включении контроллер начинает считывать последовательно сектора на диске, находящиеся за сектором с которого извлекается информация. При низкой фрагментации данная политика позволяет увеличить скорость чтения. Каждая операция чтения будет потреблять больше ресурсов жесткого диска, но если запросы на чтение последовательные это может существенно уменьшить количество запросов на чтение на жесткие диски и может существенно повысить производительность. Этот параметр будет работать только если типичный размер запроса на чтения меньше, чем ширина полосы пропускания.

Политика No Read Ahead (Normal) : При данном режиме контроллер не будет считывать последовательно данные, данный режим предпочтительнее когда будут производиться рандомные (случайные) чтения. Также этот режим рекомендуется при измерении последовательного чтения с помощью I/O meter под Windows.

Политика Adaptive Read Policy : по сути политика адаптивного чтения при которой контроллер запускает политику упреждающего чтения только после того, как две последние операции запрашивали доступ к последовательно идущим блокам данных. Если далее идут блоки рандомно разбросанные по дисковой подсистеме контроллер возвращается в нормальный режим работы. Этот режим рекомендуется использовать, если нагрузка на RAID контроллере подразумевает смешанные и последовательные операции.

Виды кэша и настройка производительности на RAID контроллерах LSI и Intel

Write policy (Политика записи)

Политика W rite-Through : Включая данную политику контроллер начинает посылает сигнал о завершении записи только тогда, когда информация упадет на физические носители, т.е. 100 процентов будет уже на жестких дисках. Обеспечивает более высокую безопасность. Данный режим не использует кэш для ускорения записи, и будет медленнее других, однако позволяет так же достичь хороших показателей при RAID 0 и RAID 10.

Политика Write-Back : Включая данный режим политика кэширования RAID контроллера начинает посылать сигнал о завершении записи только тогда, когда информация попадает в кэш контроллера, но еще не записана на дисковый массив. Обеспечивает более высокую прозводительность чем при политике write-through. Приложение продолжает работать, не дожидаясь, чтобы данные были физически записаны на жесткие диски. Но есть одно большое, но если во время работы RAID контроллера в таком режиме у вас пропадет электричество, то с 99 процентной вероятностью вы потеряете данные, для предотвращения этого есть BBU батарейки или модули защиты данных, так же советую проверить что у вашего сервера есть UPS (источник бесперебойного питания) и дублирующее подключение питания от блока питания.

Политика Write-Back with BBU : Данный режим это все тот же Write-Back, но разница в том, что у нас есть батарейка BBU, которая предотвращает потерю данных при выключении электропитания.

BBU или Battery Backup Unit (Модуль Резервной Батареи). BBU дает батарейную защиту питания для cache RAID контроллера. В случае сбоя питания, BBU поможет сохранить данные в кэше.

Виды кэша и настройка производительности на RAID контроллерах LSI и Intel

I/O Policy (Политика ввода/вывода)

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

Политика direct IO : чтение происходит с дисков. Прямой режим I/O рекомендуется в большинстве случаев. Большинство файловых систем и множество приложений имеют свой собственный кэш и не требуют кэширования данных на уровне контроллера RAID.

Политика Cached IO : При ее включении чтение происходит с дисков, но прочитанные данные одновременно кладутся в кэш. Запросы тех же данных в последствии берутся из кэша. Этот режим может потребоваться, если приложение или файловая система не кэширует запросы чтения

Виды кэша и настройка производительности на RAID контроллерах LSI и Intel

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

Виды кэша и настройка производительности на RAID контроллерах LSI и Intel

Настройка RAID контроллера для лучшей производительности

Любой инженер по системам хранения данных, хочет чтобы его инфраструктура работала как можно быстрее и использовала весь функционал заложенный в ней. Каждый вендор RAID контроллеров, имеет некий best prictice для своей продукции, давайте сегодня рассмотрим их на примере контроллеров Intel и LSI.

Оптимальные настройки для контроллеров Intel

Ниже представлена таблица с рекомендуемыми настройками для контроллеров Intel, для достижения максимальной производительности. О таких параметрах как Stripe size, Virtual Drive initialization, Consistency Check, Patrol Read мы поговорим ниже. Как видите лучшим режимом чтения является Adaptive Read Ahead, а режимом записи Write Back.

Optimal RAID Settings Intel

Оптимальные настройки для контроллеров LSI

Ниже представлена таблица с рекомендуемыми настройками для контроллеров LSI, для достижения максимальной производительности. Будут рассмотрены сводные таблицы для HDD и для SSd дисков.

vraid 05

MegaRAID Settings for Maximum HDD Performance

Оптимальные настройки для SSD

Размер stripe 256 kb, включение disk Cache Policy включен, выбран I/O Policy Direct IO, нужно дать закончить lun инициализацию, режимы записи для разных видов RAID разные.

vraid 06

MegaRAID Settings for Maximum SSD Performance

Если вам позволяет время то советую протестировать все возможные варианты кэширования для вашего RAID контроллера

Оптимальные настройки для HP контроллеров

Факторы влияющие на производительность

Рассмотрим что такое Stripe size, Virtual Drive initialization, Consistency Check, Patrol Read.

Virtual Drive initialization - это зануление, блоков раздела, перед тестирование скорости советую дождаться полной инициализации. По времени занимает по разному все зависит от размеров массива.

Stripe size - Размер блока данных одной ячейки раздела, по сути карта как данные распределены по жестким дискам. Размер страйпа может иметь большое влияние на
Конфигурирование RAID для оптимальной производительности и других факторов эффективности. Как правило при последовательных данных увеличить скорость RAID контроллера можно с помощью размеров stripe 512 kb или 1 mb. При случайном виде доступа лучше 16 кб, все зависит от того какое По у вас будет крутиться на данном разделе. Но в большинстве случаев лучше оставить стандартный размер, предлагаемый производителем.

Виды кэша и настройка производительности на RAID контроллерах LSI и Intel

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

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

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

Привет Хабр! В этом материале мы расскажем, стоит ли организовывать RAID-массивы на базе твердотельных решений SATA SSD и NVMe SSD, и будет ли от этого серьезный профит? Мы решили разобраться в этом вопросе, рассмотрев виды и типы контроллеров, которые позволяют это сделать, а также сферы применения таких конфигураций.




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

Так было ровно до того момента, пока на смену традиционным HDD не пришли современные NVMe SSD со сравнимой емкостью в 1 Тбайт и более. И если раньше в ПК чаще встречались связки SATA SSD + парочка емких HDD, то сегодня их начинает сменять другое решение — NVMe SSD + парочка емких SATA SSD. Если говорить о корпоративных серверах и “облаках”, многие уже успешно переехали на SATA SSD, просто потому что они быстрее обычных “жестянок” и способны обрабатывать большее количество операций ввода/вывода одновременно.


Однако отказоустойчивость системы все равно находится на достаточно низком уровне: мы не можем как в “Битве экстрасенсов” предугадать с точностью даже до недели, когда тот или иной твердотельный накопитель прикажет долго жить. И если HDD “умирают” постепенно, позволяя уловить симптомы и принять меры, то SSD “мрут” сразу и без предупреждений. И вот теперь самое время разобраться, зачем все это вообще нужно? Стоит ли организовывать RAID-массивы на базе твердотельных решений SATA SSD и NVMe SSD, и будет ли от этого серьезный профит?

Зачем нужен RAID-массив?

Само слово “массив” уже подразумевает то, что для его создания используется несколько накопителей (HDD и SSD), которые объединяются с помощью RAID-контроллера и распознаются ОС, как единое хранилище данных. Глобальная задача, которую позволяют решить RAID-массивы — минимизация времени доступа к данным, повышение скорости чтения/записи и надежности, которая достигается благодаря возможности быстрого восстановления в случае сбоя. К слову, для домашних бэкапов использовать RAID совсем не обязательно. А вот если у вас есть свой домашний сервер, к которому необходим постоянный доступ 24/7 — тут уже другое дело.

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

Домашний и корпоративный RAID: в чем разница?

Основа любого современного бизнеса — большие объемы данных, которые должны надежно храниться на серверах компаний. А еще, как мы уже отмечали выше, к ним должен обеспечиваться постоянный доступ 24/7. Понятное дело, что наравне с “железом” важна и софтверная часть, но в данном случае мы говорим все-таки об оборудовании, которое обеспечивает надежное хранение и обработку информации. Никакой софт не спасет компанию от разорения, если “железное” оснащение не соответствует возложенным на него задачам.


Для этих задач любой производитель “железа” предлагает так называемые корпоративные устройства. У Kingston — это мощные твердотельные решения в лице SATA-моделей Kingston 450R (DC450R) и серии DC500, а также NVMe-моделей DC1000M U.2 NVMe, DCU1000 U.2 NVMe и DCP-1000 PCI-e, предназначенных для использования в ЦОД (центрах обработки данных) и суперкомпьютерах. Массивы из таких накопителей, как правило, используются в связке с аппаратными контроллерами.


Для потребительского же рынка (то есть для домашних ПК и NAS-серверов) доступны такие накопители как Kingston KC2000 NVMe PCIe, но в этом случае необязательно покупать аппаратный контроллер. Можно ограничиться встроенным в материнскую плату ПК или NAS-сервера, если вы конечно не планируете самостоятельно собрать домашний сервер для нетипичных задач (завести маленький домашний хостинг для друзей, к примеру). К тому же, домашние RAID-массивы, как правило, не предполагают наличие сотен и тысяч накопителей, ограничиваясь двумя, четырьмя и восемью устройствами (чаще SATA).

Виды и типы RAID-контроллеров

Существует три вида RAID-контроллеров, основанные на принципах реализации RAID-массивов:

1. Программные, в которых управление массивом ложится на CPU и DRAM (то есть исполнение программного кода происходит на процессоре).

2. Интегрированные, то бишь встроенные в материнские платы ПК или NAS-сервера.

3. Аппаратные (модульные), представляющие собой дискретные платы расширения для разъемов PCI/PCIe системных плат.

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

А вот аппаратные обладают и собственной кэш-памятью, и встроенным процессором для выполнения программных алгоритмов. Обычно они позволяют реализовать все виды уровней RAID-массивов и поддерживают сразу несколько видов накопителей. Например, к современным аппаратным контроллерам компании Broadcom можно одновременно подключать SATA-, SAS- и NVMe-устройства, что позволяет не менять контроллер при апгрейде серверов: в частности, при переезде с SATA SSD на NVMe SSD контроллеры менять не придется.


Собственно, на этой ноте мы подошли к типологизации самих контроллеров. Если есть трехрежимные, должны быть и какие-то еще? В данном случае ответ на этот вопрос будет утвердительным. В зависимости от функций и возможностей RAID-контроллеры можно поделить на несколько типов:

1. Обыкновенные контроллеры с функцией RAID
Во всей иерархии это самый просто контроллер, который позволяет объединять HDD и SSD в RAID-массивы уровней “0”, “1” или “0+1”. Программно это реализовано на уровне прошивки. Однако, такие устройства вряд ли можно рекомендовать для использования в корпоративном сегменте, ведь у них отсутствует кэш и не поддерживаются массивы уровней “5”, “3” и т.п. А вот для домашнего сервера начального уровня они вполне подойдут.

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

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

4. Внешние RAID-контроллеры
Нетрудно догадаться, что все перечисленные выше контроллеры являются внутренними и получают питание через разъем PCIe материнской платы. О чем это говорит? А о том, что выход из строя системной платы может привести к ошибкам в работе RAID-массива и потере данных. Внешние же контроллеры избавлены от этого недоразумения, так как размещаются в отдельном корпусе с независимым блоком питания. В плане надежности такие контроллеры обеспечивают самый высокий уровень хранения данных.

Broadcom, Microsemi Adaptec, Intel, IBM, Dell и Cisco — это лишь некоторые из компаний, которые предлагают аппаратные RAID-контроллеры в настоящее время.

Режимы работы RAID контроллеров SAS/SATA/NVMe

Основной задачей трехрежимных HBA- и RAID-контроллеров (или контроллеров с функцией Tri-Mode) является создание аппаратного RAID на базе NVMe. У компании Broadcom это умеют делать контроллеры 9400 серии: например, MegaRAID 9460-16i. Он относится к самостоятельному типу RAID-контроллеров, оснащен четырьмя разъемами SFF-8643 и, благодаря поддержке Tri-Mode, позволяет коннектить к себе SATA/SAS- и NVMe-накопители одновременно. К тому же это еще и один из самых энергоэффективных контроллеров на рынке (потребляет всего 17 Ватт энергии, при этом менее 1,1 Ватт на каждый из 16 портов).


Интерфейсом подключения служит PCI Express x8 версии 3.1, что позволяет реализовать пропускную способность на уровне 64 Гбит/с (в 2020 году ожидается появление контроллеров для PCI Express 4.0). В основе 16-портового контроллера лежит 2-ядерный чип SAS3516 и 72-битная DDR4-2133 SDRAM (4 Гбайт), а также реализована возможность подключения до 240 накопителей SATA/SAS-, либо до 24 NVMe-устройств. По части организации RAID-массивов поддерживаются уровни “0”, “1”, “5” и “6”, а также “10”, “50” и “60”. К слову, кэш-память MegaRAID 9460-16i и других контроллеров в серии 9400 защищена от сбоев напряжения дополнительным модулем CacheVault CVPM05.

В основе трехрежимной технологии лежит функция преобразования данных SerDes: преобразование последовательного представления данных в интерфейсах SAS/SATA в параллельную форму в PCIe NVMe и наоборот. То есть контроллер согласовывает скорости и протоколы, чтобы беспрепятственно работать с любым из трех типов устройств хранения. Это обеспечивает бесперебойный способ масштабирования инфраструктур центров обработки данных: пользователи могут использовать NVMe без существенных изменений в других конфигурациях системы.


Однако при планировании конфигураций с NVMe-накопителями, стоит учитывать, что NVMe-решения используют для подключения 4 линии PCIe, а значит каждый накопитель задействует все линии портов SFF-8643. Выходит, что напрямую к контроллеру MegaRAID 9460-16i можно подключить только четыре накопителя NVMe. Либо ограничиться двумя NVMe-решениями при одновременном подключении восьми SAS-накопителей (см. схему подключения ниже).


На рисунке показано использование разъема «0» (С0 / Connector 0) и разъема «1» для подключений NVMe, а также разъемов «2» и «3» для подключений SAS. Это расположение может быть изменено на обратное, но каждый накопитель x4 NVMe должен быть подключен с использованием соседних линий. Режимы работы контроллера устанавливается через конфигурационные утилиты StorCLI или Human Interface Infrastructure (HII), которая работает в среде UEFI.


Режим по умолчанию — профиль «PD64» (поддержка только SAS / SATA). Как мы уже говорили выше, всего профилей три: режим «SAS/SATA only mode» (PD240 / PD64 / PD 16), режим «NVMe only mode» (PCIe4) и смешанный режим, в котором могут работать все типы накопителей: «PD64-PCIe4» (поддержка 64 физических и виртуальных дисков с 4 NVMe-накопителями). В смешанном режиме значение задаваемого профиля должно быть таким – «ProfileID=13». К слову, выбранный профиль сохраняется в качестве ведущего и не сбрасывается даже при откате к заводским настройкам через команду Set Factory Defaults. Сменить его можно будет только вручную.

Стоит ли создавать RAID-массив на SSD?

Итак, мы уже поняли, что RAID-массивы – это залог высокого быстродействия. Но стоит ли собирать RAID из твердотельных накопителей для домашнего и корпоративного использования? Многие скептики говорят о том, что прирост в скорости получается не столь существенным, чтобы разоряться на NVMe-накопители. Но так ли это на самом деле? Вряд ли. Самым большим ограничением для использования SSD в RAID (как в домашних условиях, так и на корпоративном уровне) может стать только цена. Как ни крути, а стоимость гигабайта пространства у HDD значительно дешевле.

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


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

Если исходить из простой арифметики, SATA SSD примерно в 3 раза быстрее традиционного SATA HDD. NVMe-решения еще эффективнее — в 10 раз и более. При условии, что два жестких диска в RAID’е нулевого уровня покажут удвоенную производительность, увеличив ее на 50%, два SATA SSD окажутся в 6 раз быстрее, а два NVMe SSD — в 20 раз быстрее. В частности, один накопитель Kingston KC2000 NVMe PCIe может достигать скорости последовательного чтения и записи до 3200 Мбайт/с, что в формате RAID 0 достигнет внушительных 6 Гбайт/с. А скорость чтения/записи случайных блоков размером 4 Кбайт превратится из 350 000 IOPS в 700 000 IOPS. Но… в то же время “нулевой” RAID не обеспечивает нам избыточности.

Можно сказать, что в домашних условиях избыточность хранилища обычно и не требуется, поэтому самой подходящей конфигурацией RAID для SSD действительно становится RAID 0. Это надежный способ получить значительное повышение производительности в качестве альтернативы использованию таких технологий, как твердотельные накопители на базе Intel Optane. А вот как поведут себя SSD-решения в самых популярных типах RAID (“1”, “5”, “10”, “50”) — мы поговорим в нашем следующем материале.

Данная статья подготовлена при поддержке наших коллег из Broadcom, которые предоставляют свои контроллеры инженерам Kingston для тестирования с накопителями SATA/SAS/NVMe корпоративного класса. Благодаря этому дружескому симбиозу, клиентам не приходится сомневаться в надежности и стабильности работы накопителей Kingston c HBA- и RAID-контроллерами производства Broadcom.

Дополнительную информацию о продуктах Kingston можно найти на официальном сайте компании.

LSI CacheCade - технология, позволяющая использовать массив из быстрых дисков SSD для буферизации обращений на чтение/запись к HDD-массивам. CacheCade позволяет при сравнительно небольших затратах существенно увеличить производительность работы с приложениями, интенсивно использующими случайный доступ небольшими блоками: серверы СУБД и электронной почты, web серверы, узлы кластеров виртуализации.

SSD-кэш в SAS RAID контроллерах LSI MegaRAID

Преимущества

  • Высокая производительность
    Современные SSD опережают по производительности даже быстрые HDD с интерфейсом SAS и скоростью вращения шпинделя 10000 и 15000 оборотов в минуту на нагрузках со случайным доступом в десятки даже сотни раз. Но по соотношению цена/объем HDD пока что остаются вне конкуренции.

LSI CacheCade позволяет совместить высокую производительность SSD и большие объемы HDD. При повторяющихся запросах к определенным блокам соответствующие данные размещаются на массиве SSD, и при подходящем профиле нагрузки (наличие области "горячих данных", сопоставимой с объемом кэша) обеспечивается рост производительности:

Высокая производительность

Рост числа операций ввода-вывода в секунду (IOPS): контроллер LSI Nytro MegaRAID 8100-4i, случайный доступ на чтение блоками 4k.

Снижение длительности обработки запроса


Снижение длительности обработки запроса (latency): контроллер LSI Nytro MegaRAID 8100-4i, случайный доступ на чтение блоками 4k.

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


Пример - база данных объемом в 1,5ТБ, требование к производительности - 20000 IOPS на чтение и 4000 IOPS на запись, при этом 90% нагрузки распределено в области размером порядка 300ГБ. При использовании массива из обычных SAS HDD для обеспечения требуемой производительности понадобится минимум 80 дисков (из расчета 250 IOPS/диск) - это высокая стоимость самих HDD, дополнительных дисковых полок, снижение надежности, большое тепловыделение, место в стойке. С использованием LSI CacheCade и пары SSD 200ГБ Intel S3700 можно уменьшить количество HDD до семи (например, 6x600ГБ SAS в RAID-10 + hot-spare), получив на области в 400ГБ производительность не менее 5000 IOPS на запись и больше 50000 IOPS на чтение.

Возможности

  • Кэширование операций чтения и записи на SSD (одиночный или массив из нескольких SSD).
  • Работа SSD в кэш-пуле: RAID-0, 1, 10
  • Максимальное количество SSD в кэш-пуле: 32
  • Максимальное количество томов с активированным кэшированием: 64
  • Максимальный объем кэша: 512ГБ

Сфера применения

  • OLTP нагрузка (СУБД)
  • Microsoft Exchange и другие почтовые серверы
  • Microsoft SharePoint
  • Web-серверы
  • Виртуализация

Компоненты решения

  • Контроллеры SAS2 RAID LSI MegaRAID 926x/927x/928x, ключ активации LSI CacheCade Pro 2.0, один или несколько рекомендуемых SSD. Контроллеры отличаются производительностью: современные модели 9266, 9271 и 9286 используют новый процессор LSI 2208 и имеют высокий предел по IOPS - порядка 450 тыс. Для обеспечения защиты целостности данных при использовании RAM-кэша на запись необходимо обеспечить его защиту - при помощи батарейного модуля или flash-модуля CacheVault.

SAS2 RAID LSI MegaRAID 926x/927x/928x

Мы рекомендуем использовать eMLC и SLC SSD из списка совместимости (HCL) для контроллеров LSI. Хорошим соотношением цена/производительность и надежностью обладают SSD Intel S3700: до 35000 IOPS при реальных тестах на чтение и запись блоками 4k. Использование недорогих бытовых SSD может привести к низкой эффективности работы SSD-кэширования за счет низкой производительности на запись и снижению надежности за счет ограниченного ресурса.

 LSI Nytro™ MegaRAID® NMR 8100-4i, 8110-4i, 8120-4i.

Данные контроллеры построены на базе ROC LSI2208 и имеют встроенную поддержку SSD-кэширования с размещением качественных высокопроизводительных SSD непосредственно на плате контроллера:

Когда сегодня заходит речь о производительности системы хранения обычно разговор сразу переходит на современные накопители SSD. При этом лидерами являются устройства с интерфейсом PCIe, способные обеспечить на последовательных операциях скорости на уровне нескольких гигабайт в секунду. Если же говорить о моделях с SATA, то здесь у быстрых устройств можно увидеть производительность до 600 МБ/с. На случайных операциях разница между этими классами тоже есть, но она уже менее заметна.

При этом продукты стандартного формата 2,5’’ с интерфейсом SATA имеют несколько преимуществ – они обычно дешевле, могут работать практически в любой системе нескольких последних поколений, из них удобно делать массивы для обеспечения большой емкости СХД (и/или повышения отказоустойчивости), их можно устанавливать в большом количестве в стандартные корпуса.

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

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

Конфигурация тестовой системы была следующей:

материнская плата Asus Z87-A

процессор Intel Core i7-4770

32 ГБ оперативной памяти

отдельный SSD для операционной системы

В роли SSD-накопителей выступали четыре Samsung 850 EVO второго поколения по 1 ТБ. Отметим отдельно, что накопители перед этим отработали около семи месяцев в сервере с Linux и никогда не знали TRIM (и по время проведения данных тестов они этого тоже не узнали). При этом прошлая нагрузка была преимущественно на чтение. Объем проведенной записи не превышал двух емкостей диска. По всем параметрам накопители были в отличном состоянии.


Контроллеров удалось найти сразу пять – четыре модели от Adaptec/Microsemi и один от LSI/Broadcom (на фото попали не все):

Первый, конечно, уже морально устарел, однако по факту еще много где используется. Так что будет интересно посмотреть, насколько эффективно он сможет работать с новыми накопителями. Второй уже имеет 6 Гбит/с порты и работает на шине PCIe 3.0, так что вполне актуален. Третий представляет собой последнее поколение «классических» решений Adaptec и поддерживает 12 Гбит/с интерфейс для дисков SAS. Реализованную в данной модификации технологию maxCache в этой статье мы использовать не будем. SmartRAID был представлен в конце прошлого года и относится к актуальному поколению RAID-решений компании. К сожалению, он использует новую разметку и схему хранения конфигурации и поэтому не может быть использован для замены прошлых моделей с сохранением данных на дисковых томах. MegaRAID 9361-16i можно считать представителем актуальной линейки продуктов LSI для массивов с накопителями SATA и SAS.

SSD подключались через обычный бекплейн с раздельными каналами для каждого диска. От бекплейна к контроллеру шел один стандартный кабель SAS на четыре канала.

На контроллерах, если не указано обратное, были активированы кэши на чтение и на запись. Все контроллеры имели резервные батареи. Том создавался заново на каждом контроллере, хотя по факту серии 6-7-8 у Adaptec позволяют переносить его без потери данных «в любом направлении».

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

В качестве тестового пакета выступал уже очень немолодой, но все еще пользующийся популярностью IOMeter. Прежде всего, отметим, что опций по выбору конфигураций как массива, так и собственно теста слишком много. С этой стороны это хорошо – вы можете подобрать их исходя из требований своих приложений. С другой – это делает бессмысленно долгим их перебор в рамках одной статьи. Так что были выбраны шесть вариантов шаблонов – три (чтение, запись, 50% чтения и 50% запись) на последовательные операции блоками по 256 КБ (совпадающим с размером блока массива) и три на случайные операции с блоками 4 КБ (наиболее часто используемый размер). В первой группе будем ориентироваться на МБ/с, во второй – на IOPS. Во время тестов использовался один worker, в настройках указывалось для Outstanding I/O значение 32. Тесты проводились на неразмеченном «сыром» томе.

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

Для начала посмотрим на результаты одного SSD, полученные на встроенном в материнскую плату контроллере.



Итак, один диск показывает скорость линейного чтения около 400 МБ/с и линейной записи около 160 МБ/с. На случайных операциях получается примерно 95 000 IOPS на чтении и 7 500 IOPS на записи. Для «использованных» устройств это, пожалуй, неплохие результаты. Напомним, что если оценивать современные жесткие диски, то можно рассчитывать примерно на 150-250 МБ/с на линейных операциях и 100-200 IOPS на случайных.

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


Итак, на линейном чтении мы ожидаемо видим пропорциональный количеству дисков в массиве рост. Все контроллеры показывают около 1 600 МБ/с. А вот на записи и смешанной нагрузке уже можно что-то выбрать исходя из своих требований и возможностей. Даже немолодой Adaptec ASR-6805 смотрится не так уж и плохо в этом сценарии.


А вот случайные операции существенно меняют картину. Здесь уже играют роль возможности установленного на контроллерах процессора и можно увидеть существенные отличия. Старший контроллер Adaptec уже явный аутсайдер. Да и ASR-7805 тоже уже не может обеспечить существенного роста на случайном чтении и записи. Так что если важен именно такой сценарий — стоит смотреть на контроллеры последних поколений. Хотя и они способны только в два раза улучшить IOPS на чтении и записи при использовании четырех SSD. Отметим также, что на смешанной нагрузке заметно лучше других выступили Adaptec SmartRAID 3152-8i и LSI 9361-16i.

Посмотрим теперь, что будет если не использовать кэширование на контроллерах. Для модели Adaptec SmartRAID 3152-8i здесь используется специальный предусмотренный производителем режим SSD IO bypass.


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


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

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

Подведем итоги. «Бытовые» SATA SSD при работе с RAID-контроллерами чувствуют себя достаточно хорошо. Для раскрытия их возможностей желательно использовать контроллеры последних поколений, способные обеспечить высокие IOPS на случайных операциях. При этом существенное влияние на результаты оказывают настройки тома на контроллере и очень желательно подбирать их исходя из потребностей задач, поскольку «сделать хорошо» одновременно для всех сценариев невозможно.

В качестве бонуса — результаты тестирования конфигурации RAID5 на контроллере Adaptec ASR-7805 на том же оборудовании.

Читайте также: