Ранее я рассказывал о результатах проверки работы некоторых функций младшей модели OceanStor Dorado V6 от компании Huawei. Была протестирована работа мгновенного виртуального снимка HyperSnap, функций создания мгновенных снимков с высокой частотой HyperCDP и полных копий исходных данных с использованием расписания HyperClone, а также настройки приоритезации потоков ввода-вывода SmartQOS.
Более подробно об организации стенда, подключении оборудования и проведенных ранее испытаниях можно прочитать в предыдущей части.
Ну а теперь, как и обещал, перейдем к тестированию производительности и отказоустойчивости.
Проверка производительности
Т.к. перед нами младшая модель линейки, нет смысла требовать от нее миллионов IOPS, как показывают рекламные проспекты старших моделей. С другой стороны, это куда более массовая и доступная модель, порой конкурирующая по цене с гибридными и даже обычными «шпиндельными» системами хранения данных других производителей. Тем интереснее посмотреть, на что она способна.
Стоит отметить один крайне положительный момент —- для партнеров доступен не только классический конфигуратор, но и инструмент под названием eDesigner, который позволяет получить теоретические данные о вероятной производительности при том или ином профиле нагрузки СХД. В нашем случае всё должно выглядеть так.
Рисунок 1. Инструмент eDesigner для получения данных о вероятной производительности.
Рисунок 2. Инструмент eDesigner (продолжение).
Для проведения теста создано 16 виртуальных разделов LUN по 512 Гб, которые были подключены к двум виртуальным машинам (гостевым системам), по 8 LUN на каждую. Для нагрузки СХД на виртуальных машинах была запущена утилита-бенчмарк VDBench от Oracle с параметрами, указанными выше в eDesigner. А именно:
- размер блока — 8 Кб;
- Dedup & Compression Ratio — 2.0;
- чтение — 70%;
- запись — 30%;
- случайное чтение.
Примечание. Я неспроста указал параметр Dedup & Compression. На тестируемой СХД была установлена лицензия Effective Capacity License, которая по умолчанию включает такие технологии, как SmartDedupe и SmartCompression. Таким образом, все поступающие на СХД данные проходят процедуру дедупликации и компрессии прямо на лету (inline) и только после этого записываются на носители. Понятное дело, это отнимает некоторые ресурсы СХД, и не упомянуть об этом в рамках теста производительности я не мог. Кстати, сама лицензия покупается на эффективный объем данных.
Результат тестирования даже превзошел расчетные цифры. Никаких политик SmartQOS мы не использовали, ведь поставленная цель — получить пиковые суммарные показатели IOPS.
Рисунок 3. Слева — загрузка процессоров на СХД, справа — окно работающей утилиты VDBench на хостах.
Рисунок 4. Показатели производительности в интерфейсе Dorado V6 3000.
Как видно из первого скриншота, данный тест смог загрузить процессор одного из контроллеров под 100%. Нагрузка не могла быть полностью распределена по контроллерам по двум причинам:
- Несмотря на то, что в настройках гипервизора оба доступных пути до СХД были назначены как «Active (I/O)», траффик неравномерно распределился на них;
- Установленный на тестовых виртуальных машинах драйвер UltraPath не всегда корректно работает с RDM, и производитель этого не скрывает, т.к. данная информация доступна на сайте поддержки. Вероятно, это и явилось основной причиной такой неравномерной загрузки CPU на СХД.
В любом случае, я бы не стал называть сложившуюся ситуацию проблемой, ведь итоговый численный показатель производительности превысил отметку в 130000 IOPS при расчетных 114060. А стенд для тестирования у заказчика, в свою очередь, собирался по принципу «я его слепила из того, что было». Таким образом, инструмент eDesigner не только не завысил оценку, но даже занизил ее. Это, в свою очередь, даёт зеленый свет на использование подобных помощников в расчетах без дополнительных коэффициентов на погрешность.
Здесь же не лишним будет отметить и технологии по отслеживанию износа SSD-накопителей — Global wear leveling design и Global anti-wear leveling design.
Global wear leveling design позволяет равномерно распределять нагрузку между носителями информации, изнашивая SSD-диски равномерно. При достижении 80% износа в игру вступает Global anti-wear leveling design. Нагрузка на диски меняется на неравномерную с градиентом в 2%, что помогает избежать массового одновременного выхода из строя множества дисков. Иными словами, СХД «добивает» худшие диски, предупреждая о необходимости их замены, и тем самым продлевает жизнь остальных носителей.
Отказоустойчивость контроллеров
Два контроллера и единый кэш позволяют реализовать отказоустойчивую работу СХД.
В качестве имитации сбоя для тестирования отказоустойчивости можно перезагрузить один из контроллеров. Для этого необходимо зайти на СХД по SSH и, перейдя в режим разработчика, ввести следующий набор команд:
change user_mode current_mode user_mode=developer
reboot controller controller=0B
Примечание. Все действия, выполняемые в developer-режиме, должны проходить под руководством R&D инженеров Huawei, о чем предупреждает и интерфейс СХД при вводе команды. В данном случае операция проводилась «на свой страх и риск».
Выполняя подобные операции, важно не ошибиться с контроллером и не перезагрузить тот, на который был выполнен вход на веб-интерфейс или SSH. Это может быть чувствительно на этапе проверки, если подключен только 1 management-интерфейс, как было у нас. В такой ситуации при ошибке выбора контроллера для перезагрузки произойдет обрыв соединения.
Законы «Мерфи» никто не отменял, и мы сами при тестировании сначала по ошибке перезагрузили именно тот контроллер, к которому выполнили подключение. Поэтому принято решение переделать тест, выбрав на сей раз верный контроллер для перезагрузки. На рис.5 видно, что мы практически подряд перезагружали сначала первый, а затем и второй контроллер.
Для эмуляции работы сервиса в очередной раз обратимся все к тому же VDBench с щадящими настройками для создания нагрузки. В данном случае мы говорим не о производительности, а об отказоустойчивости.
Рисунок 5. Слева — интерфейс командной строки Dorado V6 3000. Справа — работающая на протяжении всего теста утилита VDBench.
После перезагрузки контроллера показатели IOPS на секунду опустились до нуля, но буквально сразу вернулись к изначальным показателям, а сам эмулируемый «сервис» не пострадал. VDBench, как и любое другое приложение, при отсутствии ответа и определенном таймауте просто прекращает работу. На графиках производительности отчетливо видно, как вся нагрузка ушла на оставшийся контроллер. В то же время, как только другой контроллер заработал в штатном режиме и начал синхронизировать данные из кэша, началась балансировка нагрузки, которая для нашего хоста, эмулирующего работу сервиса, оказалась абсолютно прозрачной и никак не повлияла на работу.
Рисунок 6. Слева — интерфейс Dorado V6 3000, графики производительности контроллеров и момент перезагрузки (выделен красным). Справа — работающая на протяжении всего теста утилита VDBench.
Обновления без прерывания сервиса
В новой линейке Dorado V6 наконец-то появилась возможность обновления прошивки через веб-интерфейс без помощи фирменной утилиты SmartKit. Правда, пока речь идет только об установке патча в рамках текущей версии прошивки, но работы в этом направлении ведутся, и прогресс отчетливо виден. Мы попробовали обновить СХД, предварительно загрузив ее под 100%, по аналогии с тем, как делали в тесте проверки производительности. И ожидаемо получили отказ, так как при проверках, которые выполняются на начальных этапах процесса прошивки, загрузка CPU превышала допустимые значения.
Рисунок 7. Попытка установки патча через веб-интерфейс СХД при пиковой нагрузке.
Снизив же профиль нагрузки, мы успешно поставили патч. Как видим, несмотря на некоторый разброс в показателях IOPS, утилита VDBench продолжила свою работу и каких-либо прерываний в операциях ввода-вывода замечено не было.
Рисунок 8. Успешное обновление СХД через веб-интерфейс.
Итоги
Подводя итоги, хочется отметить, что тестирование позволило, в первую очередь, отбросить все ранее имевшиеся сомнения заказчика как с точки зрения производительности системы, так и с точки зрения функциональности и удобства использования. Лично я вижу большой прогресс в развитии веб-интерфейса СХД по сравнению с предыдущим поколением. Да, он все еще не идеален: например, те же глобальные обновления прошивки можно выполнить только с помощью специальной утилиты SmartKit. Однако удобство и интуитивность элементов управления — на очень высоком уровне.
Порадовал и тот факт, что инструменты Huawei для подбора СХД и оценки производительности не завышают показатели, что в конечном итоге позволяет подобранной системе не упасть в грязь лицом в условиях суровой реальности. И все-таки, на мой взгляд, младшая модель пусть и хороша собой, но вписана в новую линейку Dorado V6 с некоторыми допущениями. К примеру, поддержки NVMe и «умных» полок расширения с возможностью самостоятельного ребилда данных (Intelligent DAE with Kunpeng chips) здесь нет. По крайней мере — пока. Т.к. именно в момент написания данного материала выяснилось, что Huawei готовит еще одну версию Dorado 3000 V6, которая будет поддерживать и NVMe. Никаких подробностей на эту тему пока нет, поэтому остаётся лишь ждать новостей. Но стала ли тестируемая Dorado на SAS-дисках от всего этого хуже? Конечно, нет.
Примечание. На момент написания данного материала в конфигураторе Huawei отсутствовал вариант СХД Dorado 3000 V6 с контроллерами NVMe, однако в eDesigner при выборе последней версии программного обеспечения он появился.
Рисунок 9. eDesigner «намекает» на появление NVMe-версий Huawei Dorado 3000 V6.
thatsme
Картинки не кликабельные, т.е. данных на них не видно. Лучше-бы таблички с обработанными данными вставили.
qul0l Автор
Так-с, сейчас исправим, спасибо :)