- PVSM.RU - https://www.pvsm.ru -

Полгода назад я уже начинал рассказывать об обновлении линейки СХД компании Huawei – Dorado V6. На самом деле, мне удалось познакомиться с ними еще до официального анонса, и логично, что тогда у меня не было возможности потрогать их в работе собственными руками. В своей статье «Huawei Dorado V6: Сычуаньская жара [1]» я делал упор на старшие модели Dorado 8000 и 18000 V6, так как с точки зрения архитектуры они в тот момент меня больше всего заинтересовали. Наконец у меня появилась возможность провести тестирование системы 5000V6 в нашей лаборатории и подробнее рассказать о технической стороне этих систем.

С одной стороны, это обзор и тестирование системы 5000V6, с другой — логическое продолжение предыдущей статьи, т.к. за прошедшие полгода появилось больше подробностей о различных компонентах системы, логике работы и реализованном функционале.
Но перейдем сразу к делу. Поскольку эта система является более привычной — двухконтроллерной системой, она лишилась и некоторых преимуществ своих старших сестер.


Как и в предыдущей статье, есть сноска, относительно End-to-End NVMe: на сегодняшний день планируется в скором времени поддержка NVMe over RoCE v2 и NVMe over TCP/IP.
Архитектурно двухконтроллерные системы, естественно, тоже отличаются.

OceanStor Dorado V6 использует active-active архитектуру, в которой есть следующие технологии.
Если данные неравномерно хранятся на SSD, некоторые сильно загруженные SSD могут стать узким местом системы. OceanStor Dorado V6 использует RAID 2.0+ для равномерного распределения данные по всем LUN на каждом SSD, балансируя нагрузку между накопителями. OceanStor Dorado V6 реализует RAID 2.0+ следующим образом:

Микросхемы флэш-памяти на SSD могут стираться ограниченное количество раз. В традиционном режиме перезаписи RAID (запись на место) горячие данные на твердотельном накопителе непрерывно перезаписываются, и его флэш-чипы быстро изнашиваются. OceanStor Dorado V6 использует запись с полной полосой перенаправления при записи (ROW) как для новых, так и для старых данных. Он выделяет новую флеш-микросхему для каждой записи, балансируя количество раз стирания всех флеш-микросхем. Это значительно снижает нагрузку на процессор самого контроллера и нагрузку чтения/записи на SSD в процессе записи, повышая производительность системы на различных уровнях RAID.

Чтобы обеспечить стабильную задержку для определенных типов I/O, контроллеры OceanStor Dorado V6 маркируют каждую операцию I/O с приоритетом в соответствии с его типом. Это позволяет системе планировать ЦП и другие ресурсы и расставлять их по приоритетам, предлагая гарантию задержки на основе приоритетов ввода-вывода. В частности, после приема нескольких I/O твердотельные накопители проверяют свои приоритеты и обрабатывают в первую очередь операции с более высоким приоритетом.
OceanStor Dorado V6 классифицирует операции ввода-вывода на следующие пять типов и назначает их приоритеты в порядке убывания, обеспечивая оптимальный внутренний и внешний отклик ввода-вывода:

На каждом диске в дополнение к назначению приоритетов для операций ввода-вывода OceanStor Dorado V6 также позволяет высокоприоритетным запросам на чтение прерывать текущие операции записи и стирания. В этом случае задержка чтения диска (если данных не оказалось в кэше) напрямую влияет на задержку чтения хоста. Как правило, на флэш-носителе SSD выполняются три операции: чтение, запись и стирание. Задержка стирания составляет от 5 мс до 15 мс, задержка записи – от 2 мс до 4 мс, а задержка чтения – от десятков мкс до 100 мкс. Когда флэш-чип выполняет операцию записи или стирания, операция чтения должна ждать, пока текущая операция не будет завершена, что приводит к значительному увеличению задержки чтения.
Как я уже писал в предыдущей статье, новые дисковые полки оснащаются собственным процессором и оперативной памятью. Это позволяет перенести такие задачи, как восстановление после сбоя диска, с контроллеров. Это значительно снижает нагрузку на контроллеры в случае восстановления данных из-за сбоев диска. На следующем рисунке показан процесс восстановления данных в рамках одной дисковой полки с использованием RAID 6 (21 + 2) в качестве примера. Если диск D1 неисправен, контроллер должен прочитать D2-D21 и P, а затем пересчитать D1. Всего с дисков должен быть прочитан 21 блок данных. Операции чтения и восстановления данных потребляют большие ресурсы процессора.

Полка Smart Disk Enclosure получает запрос на восстановление и считывает данные для локального вычисления данных о чётности. Затем ей нужно только передать данные контроля чётности в контроллер. На следующем рисунке видно, что между контроллером и дисковой полкой необходимо передать только четыре блока данных о четности. Это позволяет сохранить производительность операций восстановления, уменьшив пропускную способность сети в пять раз.

В итоге, перенося данную нагрузку на процессоры в полке, удаётся снизить нагрузку на контроллеры от задачи ребилда до менее 10%.
OceanStor Dorado V6 автоматически выполняет адаптивную дедупликацию и сжатие на основе характеристик пользовательских данных, максимизируя коэффициент эффективности. Адаптивный процесс дедупликации и сжатия выглядит следующим образом.
Перед сжатием данных OceanStor Dorado V6 использует собственный алгоритм предварительной обработки для определения части, которую сложно сжать в блоках данных, на основе формата данных.
OceanStor переупорядочивает данные, разделяя их на две части:
Некоторые производители СХД уже используют data compaction в своём арсенале. Но обычно используют блок 4K или 1K для уплотнения данных. Компания Huawei пошла дальше и использует побайтовое выравнивание. Думаю, иллюстрация наглядна.

Таким образом, 32KB пользовательских данных мы уместили менее чем в 5KB.
Компрессия и дедупликация работают теперь всегда с момента, как вы установите соответствующую лицензию Storage Efficency. Её нельзя отключить из Device Mabager, но если очень сильно хочется, это можно сделать через CLI. По логике вендора, на SSD технологии экономии места должны работать всегда.
Один важный момент по всей линейке. Хотя моделей всего пять, они помимо прочего отличаются между собой объёмом кэша каждого контроллера:
Как можно заметить, общий объём у старших моделей не меняется, но меняется количество накопителей. По заявлениям инженеров Huawei, у них просто не было возможности проверить системы на большем объёме, чем 2Пб. Теоретически они поддерживают и больше.
Максимальное количество дисков/максимальный объем:
В прошлой статье я забыл упомянуть о том, какие интерфейсные карты вообще имеются:

Я уже говорил (и в предыдущей статье, и в этой), что в качестве накопителей компания Huawei предлагает SSD собственной разработки – Palm Size, или, как они сами их называют, Huawei-developed SSDs (HSSD).
Помимо того, что компания считает их разработку более быстрой, она предлагает и некоторые ключевые особенности.
Контроллер SSD использует программные алгоритмы для контроля и балансировки циклов чтения/записи для блоков во флэш-памяти NAND. Это предотвращает выход из строя чрезмерно используемых блоков и увеличивает срок службы флэш-памяти NAND.
HSSD поддерживают динамическое и статическое выравнивание износа. Динамическое выравнивание износа позволяет SSD записывать данные преимущественно в менее изношенные блоки, чтобы сбалансировать циклы чтения/записи. Статическое выравнивание износа позволяет SSD периодически обнаруживать блоки с меньшим количеством циклов чтения/ записи и восстанавливать их данные, гарантируя, что блоки, хранящие холодные данные, могут участвовать в выравнивании износа.
Повреждённые блоки могут возникать при изготовлении или использовании флэш-памяти NAND. HSSD идентифицируют поврежденные блоки в соответствии с циклами чтения/записи, типом ошибки и частотой ошибок флэш-памяти NAND. Если существует неисправный блок, SSD восстанавливает данные с использованием данных четности (XOR) и сохраняет их в новом блоке. HSSD имеют зарезервированное пространство для замены поврежденных блоков, обеспечивая достаточную доступную ёмкость и безопасность пользовательских данных.
После длительного хранения данных во флэш-памяти NAND могут возникнуть ошибки данных из-за помех чтения, помех записи или случайных сбоев. HSSD периодически считывают данные с флэш-памяти NAND, проверяют изменения битов и записывают данные с изменениями битов на новые страницы. Этот процесс заранее обнаруживает и обрабатывает риски, что эффективно предотвращает потерю данных и повышает безопасность и надежность данных.
Итак, перейдём непосредственно к тестам. Мы тестировали обе вариации контроллеров 5000V6, как с 256 GB, так и 512 GB кэша.
Первый тест был, так сказать, разогревочный.

Как мы видим, на данном профиле нагрузки 8k 50r/50rw разница составила порядка 7% (220 kIOPs против 205 kIOPs) и сказалась только на итоговом количество IOPS, а время отклика оставалось на том же уровне – 0.9 ms.
Кстати, было очень просто определить, что мы стали упираться в контроллер, система сама сообщила о высокой утилизации процессоров контроллеров.
Второй тест, который мы используем для всех систем на SSD, – для их оценки и сравнения более сложным профилем.
[8w]
rw=randwrite
numjobs=24
bs=8k
[32r]
rw=randread
bs=32k
numjobs=1
[32w]
rw=randwrite
numjobs=1
bs=32k
[128r]
rw=read
bs=128k
numjobs=1
[128w]
rw=write
bs=128k
numjobs=1
[512r]
rw=read
bs=512k
numjobs=1
[512w]
rw=write
bs=512k
numjobs=1

Здесь картина уже совсем иная. Если разница в количестве IOPS в две тысячи (172 kIOPs против 170 kIOPs) совсем не существенна, то возросшая в пять раз задержка (с 0.4 ms до 2,1 ms), говорит нам о том, что при работе с большим блоком большее количество кэша даёт преимущество системе.
В прошлом году мы с коллегами уже проводили тестирование Huawei Dorado 5000 V3 [2], так что теперь мы можем сравнить между собой эти две системы.

Прогресс на лицо. Профиль нагрузки и методика тестирования в обоих случаях использовались одни и те же.
Конечно, было бы хорошо провести ещё и сравнение с конкурентами, лично у меня очень чесались руки сравнить с NetApp AFF A400, Full NVMe системой, которая появилась не так давно. К сожалению, в нашей тестовой лаборатории она ещё не побывала, а сравнивать с AFF A300 не совсем логично, даже несмотря на то, что предыдущая модель Dorado 5000 V3 компанией Huawei позиционировалась как её конкурент.
На дворе XXI век, многие компании предлагают различные программы для увеличения привлекательности их систем. Компания Huawei решила не отставать и в этом направлении.
Приобретая новые системы хранения линейки V6, вы можете смело полагаться на эффективное хранение данных при помощи компрессии и дедупликации. В целом, многие вендоры на рынке уже предлагают подобные программы, которые за счёт более эффективного хранения позволяют гарантированно хранить больше данных на приобретаемом полезном объёме системы хранения данных.
Стоимость каждого терабайта SSD по-прежнему остаётся довольно высокой, поэтому технологии сжатия и дедупликации крайне полезны, и на многих типах данных они показывают высокую эффективность. Если ваши данные являются видео, аудио, изображениями, научными данными, PDF, XML или зашифрованными данными, то дедупликация не будет эффективна, в ином случае гарантия работает. Даже если вы приобрели систему с максимальным количеством установленных накопителей, то вместе с накопителями по программе вы получите ещё и полку расширения.

Если вместе с массивом вы приобретаете программу Huawei Hi-Care Onsite или Co-Care или выше, то вы можете рассчитывать на бесплатное обновление контроллеров до новых моделей той же линейки. Это позволяет иметь наиболее современную и производительную систему без необходимости покупки новых систем или миграции данных. Процесс замены контроллеров происходит также без прерывания сервиса.
Если вы любитель интерфейсов и хотите посмотреть на обновлённый Device Manager, то на портале Huawei уже доступен OceanStor Dorado 18000 V6 6.0.0 DeviceManager [3].
К сожалению, данная система была у нас на тестах всего пару дней, так что мы успели провести только замеры производительности. Но ещё хотелось бы провести функциональные тесты, наши любимые тесты на отказ и проверить некоторые нарекания по производительности, которые были к предыдущей линейке V3 при выполнении некоторых операций – важно понять, какие изменения в новой линейке (и, соответственно, в ПО) там произошли и какой эффект они принесли.
Хочу отметить, что большинство тестов, которые я провожу для своих статей, являются командной работой. Выражаю огромную благодарность моим коллегам из группы интеграции компании «Онланта» [4], с которыми я работаю.
Кстати, в нашу команду мы ищем системного архитектора [5].
Автор: Евгений Елизаров
Источник [6]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/obzor/351317
Ссылки в тексте:
[1] Huawei Dorado V6: Сычуаньская жара: https://habr.com/ru/post/467975/
[2] тестирование Huawei Dorado 5000 V3: http://blog.korphome.ru/2019/05/13/%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-huawei-dorado5000-v3/
[3] OceanStor Dorado 18000 V6 6.0.0 DeviceManager: https://support.huawei.com/enterprise/en/tool/storage-simulator-demo-TL1000000114/TV1100000138
[4] «Онланта»: https://onlanta.ru/
[5] системного архитектора: https://job.lanit.ru/vacancy/Pages/O-105.aspx?utm_source=habr&utm_medium=post-2020-03-31&utm_campaign=onlanta
[6] Источник: https://habr.com/ru/post/493928/?utm_source=habrahabr&utm_medium=rss&utm_campaign=493928
Нажмите здесь для печати.