`

СПЕЦИАЛЬНЫЕ
ПАРТНЕРЫ
ПРОЕКТА

Архив номеров

Что для вас является метрикой простоя серверной инфраструктуры?

Best CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

RAID-контроллеры: управление производительностью

+55
голосов

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

Производителей механических жестких дисков не слишком беспокоит победный марш твердотельных и насмешки над «ржавыми вибрирующими жестянками». Емкие HDD остаются фундаментом хранения: cырые, сорные, архивные и прочие объемные данные (что одному информационный мусор, другому — big data) по-прежнему держат на них. Спрос устойчив, от него выигрывают и разработчики стандартных RAID-контроллеров — серверам достается внушительная часть пирога хранения.

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

Поля данных

Сердце аппаратного RAID контроллера — процессор ввода-вывода (IOP), который отвечает за вычисления и прокачку данных. За последние годы они сильно прибавили в производительности. Пять лет назад однокристальный контроллер PMC PM8015 (как в Adaptec 7-й серии) обрабатывал 450K IOPS при случайном доступе с блоком 4К. Современный PM8222 SmartIOC (как в Adaptec 1100-2100-3100) — уже 1.7M IOPS.

RAID-контроллеры: управление производительностью

IOP обслуживает постоянные запоминающие устройства (SSD, HDD), используя свою динамическую память DRAM. Ко всем этим полям данных у разработчиков есть свои рычаги управления производительностью. (Полупрограммные реализации RAID 5 с вычислениями в общей RAM сервера не в счет — там о производительности речь не идет).

Шаблоны нагрузок

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

Создатели RAID-контроллеров переплавляют многолетний опыт анализа данных реальных приложений в типовые наборы настроек, предлагаемые пользователям. Именно на оптимизации пресетов под определенный тип приложений и запросов держится устойчивый спрос на контроллеры нишевых производителей — как Areca или ATTO.

У Adaptec предустановки под профиль нагрузок выглядят так:

RAID-контроллеры: управление производительностью

Недостатком подхода на основе шаблонов может оказаться неверная оценка пользователем структуры нагрузок. Например, для приложений OLTP /database общепринятым стандартом считается соотношение запросов чтения/записи 70/30%. Перевод OLTP-нагрузки в виртуализированную среду меняет его на противоположное — 30/70%. Если пользователь это знает — он скорее всего перейдет в режим Dynamic. Если нет — потеряет в скорости.

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

Настройки DRAM

Управляя кэш-памятью RAID-контроллеров, подтягивают производительность ввода-вывода под реальной нагрузкой. С семейством Adaptec SmartRAID 3100 это можно делать динамически, не останавливая сервер.

Так, параметр Cache Ratio задает распределение кэш-памяти между операциями чтения и записи. По умолчанию выставлено соотношение Read 10% / Write 90%. Параметр Write Cache Bypass Threshold определяет «окно» — размер блока данных, при котором данные попадают в кэш-память. Диапазон значений параметра 16 −1040KB. Маленькие блоки (до 16KB) всегда попадают в кэш-память. Все что выше установленного значения — отправляется прямиком на диски, минуя кэш-память. В последовательных операциях ввода-вывода прямая запись на дисковый массив обычно обеспечивает более высокую производительность.

Представим, понадобилось экстренное резервирование данных, а кэш-память настроена по шаблону OLTP:

RAID-контроллеры: управление производительностью

Переставляем ползунки:

RAID-контроллеры: управление производительностью

В нашем натурном эксперименте скорость линейной записи после этого увеличилась почти в 8 раз — значит, времени на создание архивной копии уйдет меньше.

RAID-контроллеры: управление производительностью

Еще один пример. Шаблон нагрузки OLTP подразумевает работу блоками 8 KB. Если база данных работает блоком 64KB, ручная установка параметра Write Cache Bypass Threshold 64KB приведет к росту производительности:

RAID-контроллеры: управление производительностью

Настройки массивов с SSD

В RAID-массивах на одних SSD, без HDD, кэширование чтения и записи на контроллере, как правило, отключают (Enabling IO Bypass) — буферизация, улучшающая показатели массивов на механических дисках, не помогает флэш-накопителям. При желании, пользователь может активировать DRAM-кэш на контроллере и попробовать подтянуть производительность вручную. Опять же, на ходу, без остановки сервера и перестройки массива.

Мы собрали зеркало из 2 x SSD (400GB SAS SSD HGST Ultrastar SS200 )

RAID-контроллеры: управление производительностью

и прогнали потоковый тест AJA со включенной и отключенной кэш-памятью RAID-контроллера:

Кэш-память контроллера включена (запись и чтение) Кэш-память контроллера отключена (запись и чтение)

RAID-контроллеры: управление производительностью

RAID-контроллеры: управление производительностью

RAID-контроллеры: управление производительностью

RAID-контроллеры: управление производительностью

RAID-контроллеры: управление производительностью

RAID-контроллеры: управление производительностью

При активации кэш-памяти RAID-контроллера немного повыcилась производительность записи, просело чтение, проявилась общая нестабильность характеристик потока.

Во многих RAID-контроллерах реализована технология кэширования на SSD массивов HDD (Adaptec maxCache, LSI CacheCade). Так ускоряют работу приложений, когда данные хранятся на емких дисках, не структурированы, а их связность не позволяет вынести горячее ядро в отдельный логический том на SSD. Любое SSD-кэширование построено на анализе частоты доступа к данным массива HDD и помещении копий востребованных блоков данных в SSD-кэш. Извлечение данных из него быстрее, чем с HDD — отсюда и прирост производительности. Кэшируются чтение и запись, с полным резервированием. Диски SSD могут использоваться одновременно и как кэш, и под самостоятельные логические тома.

RAID-контроллеры: управление производительностью

К контроллерам LSI 93xx программное обеспечение кэширования на SSD докупается в виде физических или программных ключей. У контроллеров Adaptec SmartRAID 315x поддержка SSD-кэширования (maxCache 4.0) входит в базовую поставку, как и флэш-модуль с суперконденсатором для защиты содержимого DRAM при потере питания.

Процедура создания кэширующего логического тома проста: выбираются SSD, подключаемое устройство, тип RAID, размер, политики кэширования:

RAID-контроллеры: управление производительностью

Настройки массивов HDD

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

За последние годы в практике RAID на HDD мало что поменялось — разве что изжили себя стратегии RAID 5 (из-за высоких рисков повторного сбоя при реконструкции массива емких дисков), RAID 5EE и RAID 5 + hot-spare (RAID 6 лучше обоих), да появились поддержка RAID 1 ADM и 10 ADM (Advanced Data Mirroring). Пользователи могут создавать зеркала из трех дисков (RAID 1 ADM) и распараллеливать обращения к ним (RAID 10 ADM). Затраты выше, но и устойчивость к отказам выше.

Программные реализации RAID (как во множестве NAS-коробок) обещают вроде бы то же самое. Хорошо, пока накопители целы. При отказе диска массив переходит в деградированное состояние и начинается черная полоса в жизни его владельца — восстановление может идти неделями.

Просадка производительности

На производительность штатных операций ввода-вывода влияет изменение статуса логических томов в процессе работы. Массив, перешедший в деградированное состояние после отказа диска, работает медленнее — реконструкция данных отнимает ресурсы IOP. То же самое происходит при расширении массива, его перемещении, миграции логических томов. Аппаратный RAID-контроллер переживает смутные времена в разы быстрее полупрограммных реализаций.

Adaptec позволяет расставить приоритеты, изменяя параметры Transformation Priority и Rebuild Priority в меню Modify Controller Settings:

RAID-контроллеры: управление производительностью

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

Меню Adaptec Advanced Controller Settings позволяет адаптировать параметры массива (как следствие — его производительность) под профиль нагрузок:

RAID-контроллеры: управление производительностью

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

RAID да HBA — два угодья в нем

RAID-контроллеры семейства Adaptec Smart Storage Platform, а также родственные им HPE Smart Array SR Gen 10 умеют работать в смешанном режиме RAID & HBA (mixed mode). В основе HBA лежит контроллер ввода-вывода IOC, в основе RAID-контроллера — ROC (RAID On Chip). По сути, ROC — это IOC (IOP) с логической обвязкой. Если архитектура и прошивки RAID-контроллера поддерживают частичное переключение его ROC в IOC по отдельным группам портов, он работает с одними наборами дисков как RAID, c другими — как HBA.

Производительность программно-определяемых систем с доступом к дискам через HBA определяется только программным слоем и возможностями накопителей. Современные контроллеры ее точно не ограничивают. Напомним, базовый для Adaptec процессор ввода-вывода PM8222 переваривает запредельные 1.7M IOPS в случайном доступе с блоком 4К.

Все дело в руках

Мнение о превосходстве в производительности одних RAID-контроллеров над другими обычно основано на привычках или частном опыте, когда пользователю «легла карта»: типовые настройки и профиль нагрузок приложений совпали. Разработчиков такое положение дел не устраивает — войны в хранении данных проходят под брежневским лозунгом: «Нам нужен мир. Желательно, весь». Поэтому и Adaptec и LSI борются за всех пользователей: опытных и не очень.

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

+55
голосов

Напечатать Отправить другу

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

Хорошая статья. Возвращает теплые воспоминания прошлых лет (или десятков лет), когда пользователи на дохлом железе пытались с помощь настроек железа или "убийством" служб Виндовс выдавить лишний IOPS или FPS, или лишний килобит на диалапе )

Уже тогда в аннотации к персональной платформе от Compaq можно было прочитать, что она собрана на «современном и экстремально быстром чипсете, утилизирующем высокую производительность процессора Intel© Pentium®-200MMX». Название набора системной логики за ненадобностью не указывалось. Хорошие были времена.

Cache Ratio

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

 
 
IDC
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT