Обзор и тест Huawei Dorado 5000 V6 - All Flash СХД для крупных предприятий
Серия Dorado V6 - это All-Flash СХД для таких крупных предприятий, как банки, транспортные компании, аналитические центры и ЦОДы. Такому заказчику Huawei готова предложить масштабирование СХД до 16 контроллеров, использование шины 100G RDMA для подключения дисковых полок, накопители с интерфейсом PCI Express, постоянную дедупликацию, предиктивный анализ выхода из строя компонентов, RAID массив с тройной чётностью и до 20 миллионов IOPS на всю СХД.
Рассматривая пришедшую к нам на тестирование «голову» Dorado 5000 V6, я всё время ловил себя на мысли, что в реальных условиях предприятие будет устанавливать сразу несколько таких устройств, создавая одну общую отказоустойчивую экосистему данных, которую в дальнейшем можно будет как расширять горизонтально, так и модифицировать, делая апгрейд без остановки сервисов, плавно перетекая со старого контроллера на новый, ведь в мире высоких скоростей и больших объёмов даже секундный простой СХД недопустим.
Конечно, кому-то трудно осознавать, что сегодня СХД на 1600 накопителей с 16 контроллерами - это эдакий "средний класс", а 100G Ethernet Front-End - это данность, присутствующая на складе поставщика. Да, мир меняется, требования растут, и СХД стараются предложить вам больше: не только больше железа, но и больше софта и сервиса за те же деньги. Поэтому в данном тестировании вам важно не только оборудование, из которого Huawei сковал свою СХД, но и основные функции и опции, которые компания предлагает конечному заказчику.
СХД на базе ARM-процессоров Kunpeng
Мне хотелось бы начать с рассмотрения архитектуры Dorado 5000 V6. Эта СХД создана на базе двух 64-ядерных ARM-процессоров Kunpeng, разработанных самой Huawei и выведенных на рынок в прошлом году. Мы уже подробно рассматривали серию Kunpeng 920 в обзоре сервера Huawei Taishan 2280 V2, и рекомендуем вам прочитать эту статью, чтобы иметь представление о возможностях этих процессоров. С технической точки зрения это решения с производительностью уровня AMD EPYC, а с политической точки зрения - это огромная победа Huawei, позволившая компании слезть с иглы «x86-платформы», ведь раньше компания использовала преимущественно процессоры Intel в своих системах хранения данных. Таким образом, Huawei может использоваться там, где из-за геополитических рисков компании не могут устанавливать x86 процессоры, либо же снижают их процент в общем серверном парке (читайте статью диверсификация поставщика CPU). Ну и кроме того, для заказчика с высочайшими требованиями безопасности, компания Huawei является чем-то вроде «службы одного окна»: единый вендор, отвечающий за отсутствие закладок во всём: начиная от процессора и заканчивая прошивкой устройства.
Но политическая составляющая - далеко не главное, из-за чего Huawei перешла на Kunpeng в своих СХД, обратите внимание насколько прогрессивная архитектура контроллеров здесь используется: два 64-ядерных процессора Kunpeng 920 позволяют задействовать дедупликацию одновременно в режимах Inline и Background, возможность которая в данной СХД включена по умолчанию. В каждом контроллере по установлено 128 ГБ кэш памяти, а при необходимости этот объём можно увеличить вдвое до 256 ГБ. Итого, с точки зрения платформы, каждое головное устройство Dorado 5000 V6 представляет собой мощный вычислительный модуль, сравнимый по производительности с топовыми серверами для Cloud-приложений.
Кстати, при заказе лучше рассмотрите сразу вариант с максимальным объёмом памяти, потому что Huawei OceanStor Dorado 5000 V6 использует технологию общего кэша на уровне головной СХД: каждый из контроллеров всегда участвует в дисковых операциях, а кэш записи постоянно синхронизируется между контроллерами в пределах одного ГУ и не суммируется. Для старших систем, например Dorado 18000 v6, возможен режим работы с тройным зеркалированием содержимого кэша записи, позволяющий добиться отказоустойчивости даже при одновременном выходе 2х контроллеров из строя. Кроме того, традиционной привязки «LUN-контроллер» здесь вообще нет, поэтому вылет одного из контроллеров на скорости не сказывается. Здесь каждый пул всегда привязан ко всем контроллерам, между которыми постоянно осуществляется балансировка нагрузки. И это - одна из причин, по которой OceanStor Dorado V6 показывают сумасшедшую надёжность: в системе может вылететь N-1 контроллеров, и последний продолжит тянуть на себе все дисковые массивы.
Мы провели тест, измеряя среднее время доступа в момент отключения контроллера, и результаты - на диаграмме выше. Попробуйте догадаться, в какой период времени был отключен контроллер, а чтобы узнать ответ, выделите текст в скобках: [40-60 секунд].
Разумеется, Huawei, как разработчик чипов для искусственного интеллекта серии Ascend (читайте наш обзор Ascend), не мог не наделить свои СХД расширенными функциями, реализуемыми средствами процессора Ascend 310. В частности, "умным" кэшем, представляющим собой Ai-надстройку над традиционными средствами кэшеирования в память. Да, это именно то, что вы подумали: искусственный интеллект анализирует ваши паттерны доступа к дискам и исходя из этого, реализует механизмы включения и вытеснения из кэша. Правда, в серии Dorado 5000 V6 для применения данного функционала необходимо докупить и установить AI-плату, которой в нашем тестовом образце не было.
Технологии хранения данных
Применительно к OceanStor 5000 V6 можно сказать, что здесь и RAID не RAID, и LUN не LUN, потому что в основе СХД лежит патентованная технология блочной виртуализации, которую мы очень подробно рассматривали блочную виртуализацию в нашем обзоре Huawei OceanStor Dorado 2800 V3. В рамках этой статьи лишь напомним вам, что вместо реальных SSD дисков в RAID-массивах участвуют «чанки» - нарезки дискового пространства с каждого SSD. Благодаря такой конструкции, СХД не привязана ни к объёму ни к числу накопителей, и если например, вы создали RAID 5 из 8 SSD, то в этом массиве последовательно могут отказать до 5 накопителей: каждый раз СХД будет восстанавливать массив, используя свободный объём на дисках, оставляя массив в рабочем состоянии. Главное условие - чтобы в процессе массового вылета накопители давали время на восстановление и данных было не больше чем имеется свободного объёма.
Кстати, улучшения по сравнению с гибридными OceanStor здесь состоят в том, что LUN-ы и дисковые пулы (RAID-массивы) создаются моментально, а в полках расширения пулами заведуют собственные процессоры, так что «голова» лишь даёт команду полке: «починить RAID» и больше в процессе не участвует, высвобождая ресурсы процессоров под другие задачи.
Тест: скорость восстановления массива RAID 5, 8 SSD x 7.68 Tb | |
Вылет первого диска |
48 минут |
Вылет второго диска |
1 час 57 минут |
Вылет третьего диска |
24 минуты |
Возвращение диска в массив, ребилд до изначального состояния |
мгновенно |
Для массива, имеющего изначально 8 накопителей по 7.68 Тб каждый, ребилд в течение часа-двух - это очень хороший показатель. На вылете третьего SSD закончилось свободное место на пуле, ребилд длился всего 24 минуты, после чего СХД честно предупредила, что отключения ещё одного SSD массив не выдержит, поэтому испытание было решено проводить. Обратите внимание, что при установке обратно вылетевших дисков, перестройка массива фактически не производится: весь объём становится доступен сразу.
Это не единственный плюс технологии блочной виртуализации. Компании Huawei удалось снизить износ SSD за счёт адаптации механизмов сборки мусора (Garbage Collection): контроллер распределяет данные по спискам блокам флэш-накопителя в зависимости от частоты их изменения. Сортируя данные по типу на часто изменяемые и редко изменяемые, контроллеру удается снизить время выполнения сборки мусора, подсовывая алгоритму именно те области, где обычно хранятся "горячие" данные. Это помогает снизить эффект Write Amplification (WA) на 60% по сравнению с обычным использованием SSD в массиве. Кроме того, за счёт использования аггрегации операций ввода/вывода на уровне контроллера (происходит запись так называемых полных страйпов - Full Stripe), удалось сократить количество дополнительных операций чтения/записи, присущих традиционным RAID-массивам.
Таким образом, эффект Raid Penalty (о котором вы можете прочитать здесь) в Huawei Dorado 5000 V6 нивелируется полностью. Кроме того, в СХД имеется технология глобального выравнивания износа SSD, а для дополнительной надёжности предлагается массив RAID-TP, выдерживающий вылет до 3 дисков с сохранением первоначального объёма. Так что, можно сказать, что вопросу жизнестойкости SSD здесь уделено повышенное внимание. В то же время, в нашем тестировании примерно за неделю SSD диски объёмом 7.68 Тб показали износ на уровне 0.1%, что я считаю слишком большим показателем для такого объёма.
Адаптивная дедупликация
В начале статьи мы упомянули, что высочайшая вычислительная мощность позволяет задействовать дедупликацию на лету, но Huawei использует другую, более быструю схему. Да, по опыту ZFS мы знаем, что даже на самых быстрых CPU дедупликация крадёт производительность, и чтобы обеспечивать максимальную скорость, некоторые вендоры, в том числе Microsoft в файловой системе ReFS предлагают производить процесс поиска одинаковых экстентов в фоне или по расписанию. И то и другое - ущербные компромиссы, и кажется Huawei нашёл баланс.
При записи каждого экстента СХД сверяет его хэш с существующей таблицей дубликатов. Если данный элемент уже в ней присутствует (фактически является копией того, что уже записано на диск), реальная запись не производится, а лишь обновляется таблица с дубликатами. Если же элементы не присутствуют в списке дублей, они пишутся на диск, но не в явном виде, а в сжатом виде, причём степень компрессии подбирается в зависимости от загруженности СХД. Впоследствии в фоновом режиме между блоками новых данных уже производится поиск и устранение дублей с занесением информации в таблицу дублирующихся экстентов.
СХД предоставлена компанией ELKO (https://www.elko.ru/): ELKO Group – международный дистрибьютор ИТ-продукции и бытовой техники. Российское представительство ELKO Group ведет деятельность с 1995 года. Штаб-квартира представительства находится в Москве, региональные офисы в Санкт-Петербурге и Красноярске, логистические центры в Москве и Санкт- Петербурге. Интересы группы в России представляют компании ELKO Russia (ИТ-продукция) и Торговый Дом «Абсолют» (бытовая техника). Свыше 500 сотрудников представительства обеспечивают работу более чем с 10 000 клиентами и партнерами компании. |
В отличии от той же ZFS или ReFS, где длина экстентов при дедупликации фиксированная, у Huawei на может меняться, что позволяет вычитать повторяющиеся данные даже при различном их расположении в файлах. Такое решение очень хорошо показывает себя при резервном копировании, в частности, виртуальных машин, а так же при использовании объектного доступа с версионированием.
К сожалению, о существовании дедупликации известно только из документации к Dorado 5000 V6: никаких настроек или отчётов, связанных с ней, в системе не имеется. В процессе тестирования я многократно записывал один и тот же 8-гигабайтный файл на LUN-ы, презентованные через ESXi виртуальной машине под Windows. Единственная метрика, по которой можно ориентироваться в вопросах дедупликации - это указатель эффективности в закладке информации о томе.
Процесс фонового поиска дублирующихся экстентов потребляет примерно 2-3% процессорных ресурсов каждого из контроллеров (получаются задействованы все 4 процессора). К сожалению, никакой другой более подробной статистики СХД не выдаёт.
SSD и карты расширения
Huawei Dorado 5000 V6 использует накопители с интерфейсом PCI Express собственной разработки Huawei. Эти накопители имеют немного иной тип корпуса толщиной всего 9.5 мм, что позволило разместить на фронтальной панели рекордные 36 накопителей с горячей заменой, в полтора раза больше чем в стандартных корпусах высотой 2U под 2.5-дюймовые SSD!
Во-вторых, Huawei применил в этих дисках собственный контроллер, оптимизированный для минимальной задержки. В итоге типичное время доступа СХД в операциях чтения/записи составляет 0.1 мс! Да, речь идёт о всей СХД и доступу от Front-End интерфейса до диска, установленного в полке расширения.
Huawei называет эти диски Palm SSD, и толщина - не единственный их плюс: каждый накопитель имеет два физических порта для подключения к бэкплейну вместо одного большого порта у SAS дисков. Это позволило установить сами Backplane горизонтально, параллельно материнской плате, что улучшило вентиляцию и теплоотвод. На момент подготовки обзора, максимальный объём одного Palm SSD составлял внушительные 15.36 Тб.
Для защиты содержимого кэша используются мощный литий-ионные аккумуляторы, в которые как картриджи устанавливаются блоки питания. Следует иметь ввиду, что замена аккумуляторов возможна только при отключении соответствующего блока питания, что никак не сказывается на работоспособности СХД.
Интерфейсные карты остались без изменений с прошлых поколений Dorado, и в общем-то, здесь ничего особенного: каждый контроллер поддерживает установку шести интерфейсных плат для Front-End подключений. Сегодня это могут быть:
- 4-портовый 8/16/32 Gb FC/FC-NVMe 4-портовый 8/16/32 Gb FC
- 4-портовый 10/25 Ethernet
- 2-портовый 40/100 Gb ETH
Для подключения сети управления используются сменные модули с интерфейсами 1GBase-T и RS-232. Для интерконнекта между шасси контроллеров применяются 4-портовые 25G RDMA хост-адаптеры.
Для связи с дисковыми полками каждый контроллер использует два 100-гигабитных RDMA порта. Ещё раз хочу напомнить, что в Dorado 5000 V6 используются активные полки с собственными процессорами, которые сами выполняют ребилд массивов в случае поломки.
Обратите внимание как выглядят RDMA-платы: просто кусок печатной платы с дорожками, ни контроллеров, ни памяти, ни какой-то другой их обвязки. Для передачи данных по прямому пути «память-память» никакие контроллеры не нужны, и это вершина современных технологий.
Интерфейс управления
Что же касается интерфейса управления, то здесь Huawei, как мне кажется, всё слишком сильно упростил. Из приятных моментов - намного легче стал процесс монтирования LUN-ов хостам: теперь вам не обязательно создавать группы LUN-ов, группы портов и группы хостов: создали LUN, выбрали хост - и он примонтирован. В области репликации и создания снэпшотов по расписанию путаница осталась: вы создаёте группы защиты, в них добавляете группы LUN-ов, настраиваете частоту создания моментальных снимков... и если потом вы захотите удалить LUN, то вам придётся всё это откатывать в обратном порядке, вручную, на каждый этап открывая новую вкладку в интерфейсе.
Из неприятных моментов - интерфейс явно рассчитан на роботов, а не на людей. Ну вот допустим, было бы логично информацию о реконструкции дискового пула вынести на стартовую страницу: всё же не рядовое событие, но нет же - она спрятана в одну короткую строчку в свойствах самого дискового пула. И так во всём: настроек, связанных с хранением данных, нет практически никаких. Вы можете выбирать пресет для LUN-а при его создании (база данных, VDI или общий пул для VMware), но погрузиться в параметры - никак.
Текущий мониторинг и состояние компонентов головного устройства в традиционном стиле. Здесь вы можете покликать на диски, блок питания, интерфейсные порты и трансиверы, и посмотреть скорость, дату изготовления, версию прошивки и серийный номер узла.
При том, что сама СХД остаётся крайне неинформативной, Dorado 5000 V6 имеет очень сильную статистику сбора метрик производительности: буквально для каждого порта, каждого диска, каждого пула и LUN-а вы можете получать скоростные показатели и хранить их историю сколь угодно долго. Я так думаю, что Web-интерфейс по замыслу Huawei, остаётся здесь только для настройки хостов и LUN-ов, а вся статистика должна идти в обработанном виде через облачный сервис.
Сервис eService: мониторинг с предиктивным анализом
Я уже говорил, что как по мне, так интерфейс Dorado 5000 V6 крайне неинформативен, благо у вас есть возможность мониторить работу СХД через облачный сервис eService. При регистрации устройства, оно начинает отправлять телеметрию в «облако», одновременно становясь на учёт к службе техподдержки Huawei.
Каждый алерт прежде чем отобразиться в системе, проходит инспекцию в облаке, и вместе со степенью важности, вам даётся рекомендация, что делать. Например, у нас при вылете SSD из массива, сервис порекомендовал закрыть Alert и не беспокоиться понапрасну - система перестроила RAID на свободном месте и вернулась в здоровое состояние. Но при регистрации в сервисе я специально связывался с техподдержкой и просил отключить нашу систему от мониторинга персоналом, иначе бы они начали звонить и согласовывать время приезда на замену вылетевшего SSD. Данный сервис предоставляется с системой по умолчанию и сильно облегчает работу IT-персонала: даже если вы что-то пропустили или недосмотрели, Huawei за вами присматривает, и в случае поломки уже едет к вам с заменой.
Конечно, eService в каких-то моментах более информативен, чем СХД: он оценивает всю вашу инфраструктуру (включая серверы Huawei) и предсказывает возникновение бутылочных горлышек, строит паттерны интенсивности доступа к ресурсам, и что более важно - предсказывает выход из строя каких-то частей оборудования. В нашем случае он показывал только вероятность поломки SSD, которая на новых дисках была нулевой. Но "под капотом" сервиса скрыт массивный анализ более 500 000 дисков по различным инсталляциям, чья метрика анализировалась в течении 600 дней. В результате поломку накопителя eService предсказывает аж за 14 дней до её наступления с вероятностью 80% и всего 0.1% ложных срабатываний. Круто? Ещё бы!
Но опять же, с точки зрения системного администратора: графиков много, а такой информации, как температура компонентов, нет нигде. Есть общая температура по контроллерам, но ни по дискам ни по процессору вам эти значения не достать: система собирает их, анализирует у себя в облаке, но не говорит. Как только что-то выйдет за рамки - сработает сигнал, и вам позвонит технический специалист Huawei.
В том же окне eService вы можете пообщаться в чате со специалистами техподдержки, составить отчёт и посмотреть логи. В общем, единственное чего здесь не хватает - это подробной аналитики по скорости узлов СХД: она есть в Web-интерфейсе, и поражает детальностью. Вы можете получать информацию в виде графиков по загрузке и времени доступа портов, дисков, пулов, LUN-ов, памяти, кэшей и т.д. Отчёт можно сохранить в .pdf формате или .csv.
Кстати, для сбора логов используется отдельная программа, которая без прерывания работы СХД, проводит весь спектр тестов и проверок и сохраняет отчёт в архиве, который вы потом загружаете в сервис службы поддержки, при рассмотрении обращений.
Тест: время доступа
С тестами скорости возник небольшой конфуз: я подключил СХД через 4 порта FC 8Gbps в режиме Multipath и ожидал увидеть 500-600K IOPS, но едва ли удалось выжать 130K. Пообщавшись с милыми ребятами из техподдержки, я выяснил, что для этой конфигурации потолок - 200K IOPS. Как выяснилось позже, всё дело в SSD, которые выдают 10-15K IOPS на чтение/запись блоками 8K (дефолтный размер внутреннего блока для СХД). Напомню, у нас RAID 5 из 8 SSD объёмом 7.68 Тб каждый, а у меня в ноутбуке SSD выдаёт 500 тысяч IOPS в любое время дня и ночи. Обратившись за помощью к техническим специалистам Huawei, и пройдя по цепочке снизу-вверх, я получил весьма оригинальный ответ. Смысл его был в том, что я - единственный, кто инициализировал эту СХД со стартовым комплектом на 8 дисков. Обычно заказчик таких систем устанавливает накопители сотнями, дублируя головные устройства, создавая из них единый кластер, и конечно кумулятивная производительность достигает миллионов IOPS на десятках Front-End портов, и именно эта скорость присутствует во всех презентациях. Каждый SSD в Dorado 5000 V6 оптимизирован для минимального времени отклика, и это - единственный параметр, который мы можем адекватно замерить на нашем сетапе. Huawei гордится, что время ответа даже при доступе к данным, находящимся в полке расширения, пляшет вокруг 0.1-02 мс. Ну что же, посмотрим. Мы будем использовать LUN объёмом 800 Гб, чтобы с одной стороны, видеть работу кэша, а с другой - не упираться в его размер.
Давайте начнём с того, что посмотрим, как влияет размер блока при случайном чтении.
Среднее время доступа в нормальном режиме при чтении колеблется в пределах 0.23-0.24 мс,
при этом увеличение размера блока в 16 раз повышает время доступа всего на 40%. Вообще, кривую времени доступа я интерпретирую следующим образом: верхние значения относятся к чтению с дисков, тогда как нижние - это попадание в кэш. Чтобы увидеть, насколько это справедливо при многопоточном доступе, давайте посмотрим на время доступа в 8-поточном режиме при постоянной 10-часовой нагрузке:
Даже в полностью синтетически сформированной случайной нагрузке, отчётливо видна работа кэша, но на таких быстрых накопителях он даёт лишь 30-процентное увеличение скорости.
На сложных паттернах Dorado 5000 V6 показывает себя просто великолепно, даже при нагрузке в 1024 потока,
И VDI и SQL паттерны показывают рекордно низкую задержку:
Сама компания Huawei утверждает, что СХД Dorado серии 5000 V6 может запросто обслуживать 7200 VDI машин при установке 100 SSD накопителей.
Возможности расширения и апгрейда
Давайте поговорим о больших цифрах: каждое головное устройство контроллер Dorado 5000 V6 поддерживает до 48 внешних портов, к нему можно подключить 5 полок с NVME SSD или 7 полок с SAS SSD общим числом до 200 накопителей (включая те, что установлены в ГУ).
Но самое интересное - это программа FlashEver, которая доступна для клиентов Huawei. Суть её заключается в том, что в течение 10 лет вы можете менять узлы вашей СХД на новые без остановки сервисов. Например, приобретя Dorado 5000 V6, со временем вы сможете заменить контроллеры на V7, плюс - так же сможете менять и дисковые полки вместе с накопителями, и не обязательно менять с утилизацией старой полки. В одной СХД допускается использование дисковых полок разных поколений (от V6 и выше), и естественно, что замена производится без остановки ваших сервисов, "на горячую", а СХД продолжит работать.
В пределах вашей организации вы можете осуществлять федерацию СХД, объединяя в единую сеть Dorado V6, V7 и V8, общим числом контроллеров - до 128. Вы можете перемещать между ними данные без потери связи с хостами, используя отказоустойчивый кластер хранения данных.
Выводы
Обычно при разработке СХД, производитель учитывает возможности чипов сторонних производителей, которые он будет использовать в устройстве, а так же алгоритмы работы с данными, которые он задействует в программном слое. В случае с Huawei всё иначе: компания не была ограничена чужими рамками и создавала собственные чипы для контроллеров SSD, для хост-адаптеров, собственные процессоры и собственный искусственный интеллект. От начала и до конца, это закрытая разработка, не использующая сторонний код и уж тем более Open-Source решения. Это всегда лучше с точки зрения безопасности, но в то же время намного затратнее с точки зрения сил производителя. Какие-то моменты производитель просто не успел сделать к финальному релизу, и среди них - файловый доступ, который появится здесь только в 2021 году вместе с обновлением прошивки.
Понятно, что перевод с x86 на ARM64 - это слишком сложная задача даже для такого гиганта, как Huawei, но зато и возможности это даёт потрясающие. Где вы ещё видели СХД, имеющую 256 физических ядер в корпусе высотой 2U? Да ещё и такую, где в каждой полке стоит свой процессор Kunpeng 920, который ускоряет перестройку массивов? У Huawei свои процессоры, и компания не привязана к ценовой политике кого-то ещё, поэтому здесь со всей своей щедростью она может увеличивать производительность AI-модуля, повышать количество ядер или частоты в контроллерах, менять скорости интерфейсов. Это настоящий плюс собственной экосистемы, которую компания строит исключительно на собственных разработках. Итоговые решения впечатляют: и предиктивный анализ, и возможность апгрейда и федерации ресурсов, и равномерный износ SSD и бессмертный RAID-массив, который всегда будет в состоянии Optimal, пока у вас не закончится свободное место.
В целом, на сегодня Huawei Dorado 5000 V6 совмещает в себе все наработки IT-индустрии за последние 20 лет, и может быть использовано в mission-critical приложениях, генерирующих высокую нагрузку на SAN-сеть.
Михаил Дегтярёв (aka LIKE OFF)
20/11.2020