Dorado Применение в промышленности

Тестирование Huawei OceanStor Dorado 18000 V6: превосходство в каждом байте

Как мы проверяли на деле High-End массив Huawei OceanStor Dorado 18000 V6

"Это не просто СХД, это скорее "Формула-1" среди систем хранения," - так подумалось мне, увидев анонс новинки от Huawei. И хотя изначально я относился к этому с некоторым скепсисом: "Давайте посмотрим, как он себя проявит на дистанции", мне представился шанс лично "прокатить" Huawei OceanStor Dorado 18000 V6, подвергнув ее синтетическим и прикладным испытаниям. Вот мои выводы. При этом случилось и неожиданное приключение в поиске одного параметра, который сначала казался препятствием для производительности на AIX. Погнали.

Мощь Dorado

OceanStor Dorado 18000 V6, компактный и мощный как шпионская ручка Джеймса Бонда, уместился всего в четыре юнита, не считая дисковых полок. На тесты нам досталась система с четырьмя контроллерами и четырьмя дисковыми полками, где было установлено 60 накопителей по 1,92 ТБ NVMe в форм-факторе Palm-Size.

Из данной конфигурации, согласно расчетам, возможно достичь до 1,5 млн IOPS при профиле 70R/30W 8K, 100% случайных операций, 0% попаданий в кэш при чтении.

Один контроллерный блок предназначен для установки до четырех контроллеров. Но к дисковым полкам через протокол 100Gb RDMA можно подключить два блока, то есть до восьми контроллеров без внешних коммутаторов. Используя дополнительные переключатели, количество контроллеров на систему можно увеличить до 32, максимизируя производительность и емкость. Dorado 18000 V6 обладает функцией трехуровневого кэширования. Кэш синхронизируется между тремя контроллерами. В нашем случае, с четырехконтроллерной системой на тестах, мы испытали отказ трех из четырех контроллеров: сначала два одновременно, затем еще один. В восьмиконтроллерной конфигурации система выдерживает отказ до семи контроллеров.

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

Старт заезда

Для тестирования массива Huawei OceanStor Dorado 18000 V6 мы задействовали сервер AIX с четырьмя портами 16 Gb Fibre Channel, подсоединенный через SAN с использованием двух коммутаторов Brocade GEN5 16 Gb. Тестирование прикладной нагрузки проводилось на тестовом LPAR путем репликации реальной базы данных с помощью инструментов СУБД Oracle, а синтетические тесты осуществлялись через Vdbench.

Итоги испытаний

Первый ключевой результат, который мы зафиксировали — это коэффициент сжатия данных в 5.2:1. Этот результат достигнут для продуктивной базы объемом 85 ТБ, размещенной на Dorado V6.

С учетом того, что средний показатель эффективности для баз данных равен 3.5:1, передовые методы дедупликации и компрессии, применяемые в Dorado V6, вывели нашего испытуемого в ряд лидеров отрасли по этому параметру.

Второй значимый результат касается времени закрытия операционного дня. На тестовом сервере была запущена соответствующая процедура, при этом была собрана детальная статистика на уровне приложения. В паре с Huawei Dorado V6 тестовая система завершила операцию на 6% быстрее, чем продуктивный сервер, оснащенный дисками от All-Flash СХД другого производителя высокого класса. При этом тестовый сервер имел в четыре раза меньше процессорных мощностей, и вычислительные операции занимали больше времени. Однако благодаря ускорению операций ввода-вывода процедура была выполнена быстрее.

Заметное увеличение скорости работы дисков позволило компенсировать ограниченные вычислительные ресурсы. Система на базе Huawei Dorado V6 демонстрировала, что операции по выборке данных и сортировки, выполняемые с использованием дискового хранения, проходили на 80% быстрее.

Синтетические испытания (Qualification)

Помимо Dorado 18000 V6 NVMe, нам также удалось испытать более младшие модели серии — Dorado 3000 V6 SAS и Dorado 5000 V6 NVMe. Обобщенные результаты синтетических тестов представлены ниже:

Разъяснения к профилям нагрузки, представленным в таблице:

  • Random – нагрузка составляет 65% чтения и 35% записи с размером блока 8KB и 100% случайным доступом;
  • Sequential – последовательная запись размером в 256KB, 100% запись;
  • БД1 Like – смешанный профиль с 40KB случайным чтением и 24KB случайной записью (90% чтение/10% запись);
  • БД2 Like – смешанный профиль с 115KB случайным чтением и 72KB случайной записью (70% чтение/30% запись);
  • Vmware Like – смешанный профиль с 86KB случайным чтением и 11KB случайной записью (46% чтение/54% запись).

Все испытания проводились с активной дедупликацией и компрессией данных. Дисковый пул был настроен на RAID6. Сравнительно низкие результаты для одного луна могут быть объяснены ограничениями со стороны хоста по длине очереди. Использование нескольких хостов для доступа к луну через кластерную файловую систему позволило бы достичь более высоких показателей производительности. Здесь узким местом не является СХД, что подтверждается нагрузкой на CPU контроллеров и низким временем отклика со стороны СХД.

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

Для достижения максимальной производительности СХД, одного тестового сервера оказалось недостаточно. В тестовом LPAR было только четыре порта 16 Гбит FC, способных обеспечить скорость передачи данных до 6 ГБ/с в каждом направлении.

Для увеличения нагрузки мы подключили два дополнительных тестовых сервера Huawei Taishan 2000 (Model 2280) на базе ARM. Один из серверов оснащен одним двухпортовым адаптером FC 16 Gb, а второй – двумя такими же адаптерами. В итоге мы использовали 10 портов FC для подключения серверов к СХД:

  • сервер №1, AIX 7.2, 4 порта FC 16Gb, 16 LUN по 500GB, RAID6;
  • сервер №2, CentOS 7.6, 2 порта FC 16Gb, 16 LUN по 500GB, RAID6;
  • сервер №3, CentOS 7.6, 4 порта FC 16Gb, 16 LUN по 500GB, RAID6.
В результате этого теста было достигнуто 1,3 млн IOPS и 9,9 ГБ/с средней скорости передачи данных при среднем времени отклика на массиве 0,53 мс, что очень близко к максимальным расчетным показателям. Наблюдаемая задержка на массиве и 80% загрузка CPU контроллеров позволяют сделать вывод о запасе производительности нашей конфигурации в пределах 15%.

Функция балансировки нагрузки

Встроенный механизм балансировки нагрузки автоматически распределяет операции ввода-вывода по всем доступным контроллерам и модулям ввода-вывода системы хранения Dorado V6, обеспечивая равномерную работу без необходимости привязывать лун к определенному контроллеру. Для проверки этой функции мы представили тестовому серверу четыре луна и последовательно исключали их из системы, фиксируя равномерную загрузку всех интерфейсов и контроллеров СХД.

Тестирование отказоустойчивости системы

В ходе испытаний на отказоустойчивость с созданием фоновой нагрузки около 1 ГБ/с через Vdbench, было установлено, что выход из строя одной из линий питания или отказ одного из адаптеров FC не оказывают существенного влияния на производительность массива.

Уникальность Dorado 18000 V6 заключается в способности системы продолжать работу даже при отказе трех из четырех контроллеров, благодаря архитектуре, позволяющей каждому контроллеру подключаться ко всем модулям ввода-вывода. Это гарантирует, что обслуживание или обновление СХД, требующее перезагрузки контроллеров, не потребует вмешательства драйвера MPIO на стороне хоста.

На представленных ниже схемах показаны различия в топологии Dorado 18000 V6 при работе с четырьмя активными контроллерами и при работе только с одним. Несмотря на изменения, количество активных Front-End интерфейсов остается неизменным, обеспечивая непрерывную доступность путей как для хоста, так и для подключений к дисковым полкам.

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

В случае отказа одного или нескольких дисков система приступает к восстановлению пула, выполняя процесс в фоновом режиме. В Dorado V6 использование RAID основано на чанках, а резервный объем для горячей замены равномерно распределен по всем дискам. Таким образом, для реконструкции Dorado может использовать как специальный резерв, так и общедоступную емкость дискового пула. Мы убедились в сохранности данных даже при одновременном выходе из строя трех дисков в конфигурации RAID-TP и оценили время восстановления диска в RAID6 при работе под нагрузкой.

Сперва пул из 60 дисков емкостью 1,92 ТБ был настроен на RAID6. С использованием Vdbench была создана фоновая нагрузка на СХД — 140 000 IOPS с профилем 65% чтения и 35% записи с размером блока 8K, и скоростью передачи данных 1,1 ГБ/с. Время восстановления одного диска емкостью 1,92 ТБ под такой нагрузкой составило 69 минут. На графике ниже виден резкий рост времени отклика при выходе диска из строя.

Далее, на тех же 60 дисках емкостью 1,92 ТБ был настроен пул в конфигурации RAID-TP. При одновременном отказе трех дисков время реконструкции пула без активной нагрузки заняло 28 минут.

История с загадочным параметром

В начале тестирования возникла необычная ситуация. Подключив к тестовому серверу на ОС AIX 7.1 младшую модель Dorado 5000 V6, мы сразу заметили, что СХД демонстрирует максимальную производительность, соответствующую предполагаемому максимуму согласно сайзеру.

Однако показатели Dorado 18000 V6 оказались значительно ниже, чем у модели Dorado 5000 V6. Впоследствии выяснилось, что проблема была не в СХД. При резком увеличении нагрузки ввода-вывода и числа потоков планировщик AIX начинал ограничивать очередь до двух команд на LUN, что существенно снижало производительность почти в десять раз. В результате мы наблюдали лишь около 80 тыс. IOPS вместо ожидаемого миллиона и более.

После повторной проверки на AIX 7.2 никаких проблем не обнаружилось: 18000 V6 функционировала безупречно. Учитывая, что система также отлично работала с Linux и VMware, мы продолжили поиски решения для AIX 7.1, так как компания-заказчик тестирования не планировала массово обновлять серверы до новой версии ОС. Перелопатив сотни страниц руководства по управлению производительностью IBM AIX, ответа так и не нашлось.

Специалисты Huawei собрали аналогичную среду за несколько дней и воспроизвели проблему. Они пришли к выводу, что виновниками здесь не являются ни СХД, ни ODM-драйверы от Huawei.

В итоге дело дошло до третьей линии поддержки IBM, куда был привлечен эксперт с опытом в разработке драйверов для AIX. Была собрана обширная коллекция логов perfpmr, а также проведен ряд тестов с различными настройками, включая прошивки FC адаптеров, версии драйверов СХД, настройки HBA и LUN, методы балансировки I/O, различные сервис-паки ОС, версии Java и альтернативные бенчмарки.

В итоге, "ключевая ложечка" была найдена. Для нормальной работы AIX 7.1 с очень быстрыми "сырыми" дисками необходимо было изменить значение параметра spec_accessupdate. Удивительно, что этот параметр почти не фигурирует в руководствах и слабо освещен в сети, а в контекстной справке ОС описание его очень сжато. Оказалось, что в AIX 7.1 и AIX 7.2 у этого параметра разные значения по умолчанию:

Цель: Указывает для устройств, как отражаются изменения временных меток. Значения:

  • 0 соответствует стандартному поведению (по умолчанию в AIX 7.1)
  • 1 указывает, что времена доступа и обновления не изменяются
  • 2 означает отложенные изменения времен доступа/обновления (по умолчанию в AIX 7.2)

Установив значение параметра spec_accessupdate=2, мы добились стабильно высокой производительности подсистемы дискового ввода-вывода AIX 7.1 во всех последующих тестах.

  • ioo -p -o spec_accessupdate=2

Поскольку Oracle ASM работает с "сырыми" дисками, корректное значение параметра spec_accessupdate в AIX 7.1 может существенно повысить производительность дисковых операций СУБД.

На финише Huawei Dorado V6 безусловно занимает лидирующие позиции в гонке конструкторов.

Эта серия СХД нового поколения объединяет в себе передовой дизайн, учитывающий как недочеты, так и успехи ведущих конкурентов. Dorado V6 отличается удобным пользовательским интерфейсом — Device Manager стал еще более интуитивно понятным и информативным, предоставляя возможность настройки мониторинга производительности в соответствии с личными предпочтениями и интеграцию с внешними системами мониторинга через SNMP. Dorado V6 представляет собой систему хранения данных, разработанную с "человеческим" подходом, обеспечивающую высокую производительность и эффективность.

Служба технической поддержки высоко оценила простоту обновления системы Dorado V6, в чем ей помогает набор инструментов Huawei Smart Kit, облегчающий сбор диагностической информации для службы поддержки. Минорные обновления прошивки теперь могут быть выполнены непосредственно из графической консоли управления Device Manager.

Кроме испытаний на отказоустойчивость и производительность, было проведено тестирование на катастрофоустойчивость с использованием двух систем Dorado V6, что является темой для отдельного обсуждения. В серии доступны сценарии высокой доступности с RPO=0 и сценарии восстановления после сбоев с асинхронной репликацией. Метро-кластер в этой серии максимально прост и функционален, дополненный эффективными снапшотами Redirect-On-Write, группами консистентности для снапшотов и репликации, а также программным обеспечением Business Continuity Manager (eReplication Suite) для управления автоматизированными сценариями переключения площадок в случае катастрофы.

Huawei предлагает удобный инструмент для оценки производительности — eDesigner и конфигуратор SCT, чьи расчеты были подтверждены реальными тестами, показав, что фактическая производительность Dorado V6 даже превышает ожидаемую. Для ознакомления с интерфейсом доступен симулятор, который можно установить на личный компьютер, а для полноценного функционального тестирования — виртуальный апплайнс Huawei OceanStor eStor.

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

P.S. Со времени нашего тестирования программное обеспечение Dorado V6 обогатилось важными функциональными обновлениями, включая поддержку протоколов NVMe over Fabrics, таких как NVMe over RoCE и NVMe over FC. Также, начиная с модели Dorado V6 5000, в серии реализована возможность файлового доступа. Мы стремимся протестировать эти обновления при первой же возможности.