Пожалуйста, не спешите с выводами из-за заголовка! У нас есть увесистые аргументы в его подтверждение, и мы упаковали их, насколько могли компактно. Предлагаем вашему вниманию пост о концепции и принципах работы нашей новой системы хранения данных, релиз которой состоялся в январе 2020 года.
По нашему убеждению, главное конкурентное преимущество семейству СХД Dorado V6 обеспечивают именно упомянутые в заголовке производительность и надёжность. Да-да, вот так просто, ну а за счёт каких хитрых и не очень хитрых решений этого «просто» нам удалось добиться, мы сегодня и поговорим.
Для того чтобы лучше раскрыть потенциал систем нового поколения, мы расскажем о старших представителях модельного ряда (модели 8000, 18000). Если не указано иное, подразумеваются именно они.
Пара слов про рынок
Чтобы лучше понять место решений Huawei на рынке, обратимся к проверенному мерилу — «
В 2019 году Gartner в своём исследовании объединил оба вышеупомянутых сектора в один — «Основное хранилище». В итоге Huawei опять оказался в квадранте лидеров, рядом с такими поставщиками, как IBM, Hitachi Vantara и Infinidat.
Для полноты картины отметим, что 80% данных для анализа Gartner собирает на американском рынке, а это приводит к ощутимому перекосу в пользу тех компаний, которые хорошо представлены именно в США. Тем временем поставщики, которые ориентированы на европейские и азиатские рынки, оказываются в заведомо менее выигрышном положении. И даже несмотря на это, в прошлом году продукция Huawei заняла достойное место в верхнем правом квадранте и, согласно вердикту Gartner, «может быть рекомендована к использованию».
Что нового в Dorado V6
Линейка продуктов Dorado V6, в частности, представлена системами начального уровня серии 3000. Исходно снабжённые двумя контроллерами, они могут быть горизонтально расширены до 16 контроллеров, 1200 дисков и 192 Гбайт кэша. Также система будет оснащаться внешними портами Fibre Channel (8 / 16 / 32 Гбит/с) и Ethernet (1 / 10 / 25 / 40 / 100 Гбит/с).
Отметим, сейчас сворачивается использование протоколов, не имеющих коммерческой успешности, поэтому на старте мы решили отказаться от поддержки Fibre Channel over Ethernet (FCoE) и Infiniband (IB). Они будут добавлены в более поздних версиях прошивки. Поддержка NVMe over Fabric (NVMe-oF) доступна «из коробки» поверх Fibre Channel. В следующей прошивке, выпуск которой запланирован на июнь, запланирована поддержка режима NVMe over Ethernet. На наш взгляд, вышеперечисленный набор с лихвой покроет потребности большинства клиентов Huawei.
Файловый доступ в текущей версии прошивки отсутствует и появится в одном из следующих апдейтов ближе к концу года. Реализация предполагается на нативном уровне, самими контроллерами с портами Ethernet, без применения дополнительного оборудования.
Основное отличие модели Dorado V6 серии 3000 от более старших в том, что на бэкенде она поддерживает один протокол — SAS 3.0. Соответственно, и накопители там могут использоваться только с названным интерфейсом. С нашей точки зрения, обеспечиваемой при этом производительности вполне достаточно для устройства такого типа.
Системы Dorado серий V6 5000 и 6000 относятся к решениям среднего класса. Они также выполнены в форм-факторе 2U и оснащены двумя контроллерами. Друг от друга они отличаются производительностью, количеством процессоров, максимальным числом дисков и объёмом кэша. Вместе с тем в архитектурном и инженерном плане Dorado V6 5000 и 6000 идентичны и выглядят одинаково.
К классу hi-end относятся системы Dorado V6 серий 8000 и 18000. Выполненные в типоразмере 4U, они по умолчанию имеют раздельную архитектуру, в которой контроллеры и накопители разнесены порознь. В минимальной комплектации они также могут комплектоваться всего двумя контроллерами, хотя заказчики, как правило, просят установить четыре и больше.
Dorado V6 8000 горизонтально масштабируется до 16 контроллеров, а Dorado V6 18000 — до 32. В этих системах установлены разные процессоры с разным количеством ядер и объёмом кэша. Идентичность инженерных решений при всём при том сохраняется, как и в моделях класса mid-end.
Полки 2U с накопителями подключаются посредством RDMA с пропускной способностью 100 Гбит/с. Бэкенд Dorado V6 старших серий также поддерживает SAS 3.0, но скорее на случай, если SSD-накопители с таким интерфейсом сильно упадут в цене. Тогда возникнет экономическая целесообразность их использования даже с учётом более низкой производительности. На текущий же момент разница в стоимости между SSD с интерфейсами SAS и NVMe столь мала, что рекомендовать подобное решение мы не готовы.
Внутри контроллера
Контроллеры Dorado V6 выполнены на нашей собственной элементной базе. Никаких процессоров от Intel, никаких ASICs от Broadcom. Таким образом, все до единого компоненты материнской платы, равно как и она сама, полностью выведены из-под влияния рисков, связанных с санкционным давлением со стороны американских компаний. Те, кто своими глазами видел любое наше оборудование, наверняка замечали шилды с красной полосой под логотипом. Она означает, что в изделии отсутствуют американские компоненты. Таков официальный курс Huawei — переход на компоненты собственного производства или, во всяком случае, выпускаемые в странах, не следующих в русле политики США.
Вот что можно увидеть на самой контроллерной плате.
- Универсальный сетевой интерфейс (чип Hisilicon 1822), отвечающий за подключение к Fibre Channel или Ethernet.
- Обеспечивающий удаленную доступность системы BMC-чип, а именно Hisilicon 1710, для полнофункционального дистанционного управления и мониторинга системы. Подобные применяются также в наших серверах и в других решениях.
- Центральный процессор, в качестве которого выступает построенный на архитектуре ARM чип Kunpeng 920 производства Huawei. Именно он показан на схеме выше, хотя в других контроллерах могут быть установлены отличные от него модели с иным числом ядер, другой тактовой частотой и т. д. От модели к модели меняется и количество процессоров в одном контроллере. Например, в старших сериях Dorado V6 на одной плате их четыре.
- Контроллер SSD (чип Hisilicon 1812e), который поддерживает подключение как SAS-, так и NVMe-накопителей. Добавим, Huawei самостоятельно выпускает SSD, однако не изготавливает сами ячейки NAND, предпочитая закупать их у четырёх крупнейших мировых производителей в виде неразрезанных кремниевых пластин. Распил, тестирование и упаковку в чипы Huawei производит самостоятельно, после чего выпускает их под собственной торговой маркой.
- Чип искусственного интеллекта — Ascend 310. По умолчанию на контроллере он отсутствует и монтируется через отдельную карту, которая занимает один из слотов, отведённых под сетевые адаптеры. Чип применяется для обеспечения интеллектуального поведения кэша, управления производительностью или процессами дедупликации и компрессии. Все эти задачи могут быть решены и силами центрального процессора, но чип ИИ позволяет делать это намного эффективнее.
Отдельно о процессорах Kunpeng
Процессор Kunpeng представляет собой систему на чипе (SoC), где помимо вычислительного блока присутствуют аппаратные модули, ускоряющие различные процессы, например расчёт контрольных сумм или выполнение «стирающего кода» (erasure coding). В нём же реализована аппаратная поддержка SAS, Ethernet, DDR4 (от шести до восьми каналов) и пр. Всё это позволяет Huawei создавать контроллеры СХД, не уступающие по производительности классическим решениям Intel.
Кроме того, собственные решения на базе архитектуры ARM дают Huawei возможность создавать полноценные серверные решения и предлагать их своим заказчикам в качестве альтернативы x86.
Новая архитектура Dorado V6…
Внутренняя архитектура СХД Dorado V6 старшей серии представлена четырьмя основными субдоменами (фабриками).
Первая фабрика является общим фронтендом (сетевыми интерфейсами, отвечающими за связь с SAN-фабрикой или хостами).
Вторая — набор контроллеров, каждый из которых может по протоколу RDMA «достучаться» как до любой сетевой карты фронтенда, так и до соседнего «движка» (engine), представляющего собой коробку с четырьмя контроллерами, а также общими для них блоками питания и охлаждения. Сейчас модели Dorado V6 класса hi-end могут комплектоваться двумя такими «движками» (соответственно, восемью контроллерами).
Третья фабрика отвечает за бэкенд и состоит из сетевых карт RDMA 100G.
Наконец, четвёртая фабрика «в железе» представлена подключаемыми интеллектуальными полками с накопителями.
Подобная симметричная структура раскрывает весь потенциал технологии NVMe и гарантирует высокую производительность и надёжность. Процесс ввода-вывода максимально распараллеливается по процессорам и ядрам, обеспечивая одновременные чтение и запись во множество потоков.
…и что она нам дала
Максимальная производительность решений Dorado V6 примерно втрое превосходит показатели систем предыдущего поколения (того же класса) и может достигать 20 млн IOPS.
Это связано с тем, что в прошлом поколении устройств поддержка NVMe распространялась только на пристяжные полки с накопителями. Теперь же она присутствует на всех этапах, от хоста до SSD. Сеть бэкенда также претерпела изменения: SAS/PCIe уступили место RoCEv2 с пропускной способностью 100 Гбит/с.
Поменялся и сам форм-фактор SSD. Если раньше на полку 2U приходилось 25 накопителей, то теперь она доведена до 36 дисков физического формата palm-sized. Кроме того, полки «поумнели». В каждой из них теперь имеется отказоустойчивая система из двух контроллеров на базе чипов ARM, аналогичных тем, которые установлены в центральных контроллерах.
Пока они занимаются только реорганизацией данных, но с выходом новых прошивок к ней добавятся компрессия и erasure coding, что позволит снизить нагрузку на основные контроллеры с 15 до 5%. Перенос части задач на полку заодно высвобождает и пропускную способность внутренней сети. И всё это существенно увеличивает потенциал масштабируемости системы.
Компрессия и дедупликация в СХД предыдущего поколения выполнялась с блоками фиксированной длины. Теперь же добавился режим работы с блоками переменной длины, который пока требуется включать принудительно. Последующие прошивки, возможно, изменят это обстоятельство.
Также коротко о толерантности к отказам. Dorado V3 сохраняла работоспособность, если отказывал один контроллер из двух. Dorado V6 обеспечит доступность данных даже в том случае, если из строя последовательно выйдут семь контроллеров из восьми или одновременно четыре из состава одного «движка».
Надёжность с точки зрения экономики
Недавно среди заказчиков Huawei был проведён опрос о том, какой простой отдельных элементов IT-инфраструктуры компания считает приемлемым. В массе своей респонденты терпимо отнеслись к гипотетической ситуации, в которой приложение не отвечает в течение нескольких сотен секунд. Для операционной системы или хост-адаптера шины критическим временем простоя оказались десятки секунд (по сути, время перезагрузки). Ещё более высокие требования заказчики предъявляют к сети: её пропускная способность не должна пропадать более чем на 10–20 секунд. Как нетрудно догадаться, наиболее критически важными опрошенные сочли отказы систем хранения. С точки зрения представителей бизнеса, простой СХД не должен превышать… нескольких секунд в год!
Иными словами, если клиентское приложение банка не отвечает 100 секунд, катастрофических последствий это, скорее всего, не вызовет. А вот если столько же не работает СХД, вероятны остановка бизнеса и значительные финансовые потери.
На диаграмме выше приведена стоимость часа работы для десяти крупнейших банков (данные Forbes на 2017 год). Согласитесь, если ваша компания приближается по размерам к китайским банкам, обосновать необходимость приобретения СХД за несколько миллионов долларов будет не так уж сложно. Правильно и обратное утверждение: если бизнес не несёт существенных потерь при простое, то и покупать СХД класса hi-end он вряд ли станет. В любом случае важно иметь представление о том, какого размера дыра грозит образоваться у вас в кошельке, пока сисадмин разбирается с отказавшейся работать системой хранения данных.
Секунда на аварийное переключение
В Solution A на иллюстрации выше можно узнать нашу систему предыдущего поколения Dorado V3. Четыре её контроллера работают попарно, а копии кэша содержатся только в двух контроллерах. Контроллеры внутри пары могут перераспределять нагрузку. В то же время, как видите, здесь нет «фабрик» фронтенда и бэкенда, так что каждая из полок с накопителями подключается к конкретной контроллерной паре.
На схеме Solution В показано присутствующее сейчас на рынке решение от другого вендора (узнали?). Здесь уже есть и фронтенд-, и бэкенд-фабрики, а накопители подключаются сразу к четырём контроллерам. Правда, в работе внутренних алгоритмов системы есть не очевидные в первом приближении нюансы.
Справа представлена наша текущая архитектура СХД Dorado V6 со всем набором внутренних элементов. Рассмотрим, как эти системы переживают типичную ситуацию — выход одного контроллера из строя.
В классических системах, к числу которых относится и Dorado V3, период, требующийся на перераспределение нагрузки при отказе, достигает четырёх секунд. На это время ввод-вывод полностью останавливается. В решении Solution В от наших коллег, несмотря на более современную архитектуру, время простоя при отказе даже выше — шесть секунд.
СХД Dorado V6 восстанавливает свою работу всего через одну секунду после отказа. Такой результат достигается благодаря однородной внутренней RDMA-среде, позволяющей контроллеру обращаться к «чужой» памяти. Второе важное обстоятельство — наличие фронтенд-фабрики, благодаря которой путь для хоста не меняется. Порт остаётся прежним, а нагрузка просто отправляется на исправные контроллеры драйверами мультипассинга (multipassing).
Выход из строя второго контроллера в Dorado V6 отрабатывается за одну секунду по той же схеме. У Dorado V3 это занимает около шесть секунд, а у решения другого вендора — девять. Для многих СУБД подобные интервалы уже нельзя считать приемлемыми, так как за это время система переводится в режим standby и перестаёт работать. Это перво-наперво касается СУБД, состоящих из множества разделов.
Выход из строя третьего контроллера Solution A пережить не в состоянии. Просто в силу того, что пропадает доступ к части дисков с данными. В свою очередь, Solution В в такой ситуации восстанавливает работоспособность, на что требуется, как и в предыдущем случае, девять секунд.
Что у Dorado V6? Одна секунда.
Что можно успеть за секунду
Почти ничего, но нам этого и не надо. Ещё раз повторим, что в Dorado V6 класса hi-end фабрика фронтенда отвязана от фабрики контроллеров. А значит, нет и жёстко выделенных портов, принадлежащих конкретному контроллеру. Перестройка при отказе не подразумевает поиска альтернативных путей или переинициализации мультипассинга. Система продолжает работать, как работала.
Устойчивость к многочисленным отказам
Старшие модели Dorado V6 без проблем переживают одновременный выход из строя двух любых (!) контроллеров из состава любых «движков». Это стало возможным благодаря тому, что теперь решение хранит три копии кэша. Поэтому даже при двойном отказе всегда найдётся одна целостная копия.
Синхронный отказ всех четырёх контроллеров в одном из «движков» также не вызовет фатальных последствий, так как все три копии кэша в каждый момент времени распределены между «движками». За соблюдением такой логики работы следит сама система.
Наконец, совсем маловероятным сценарием является последовательный выход из строя семи контроллеров из восьми. Причём минимальный допустимый для поддержания работоспособности интервал между отдельными отказами составляет 15 минут. За это время СХД успевает выполнить операции, необходимые для миграции кэша.
Последний уцелевший контроллер будет обеспечивать работу хранилища данных и поддерживать кэш в течение пяти дней (значение по умолчанию, которое легко изменить в настройках). После этого кэш будет отключён, но работа СХД продолжится.
Не беспокоящие апдейты
Новая ОС Dorado V6 позволяет обновлять прошивку СХД без перезагрузки контроллеров.
Операционка, как и в случае с прежними решениями, выполнена на базе Linux, однако многие операционные процессы перенесены из ядра в пользовательский режим. Большинство функций, например отвечающих за дедупликацию и компрессию, теперь являются обычными, работающими в фоновом режиме демонами. Благодаря этому для обновления отдельных модулей нет необходимости менять всю операционную систему. Допустим, для добавления поддержки нового протокола нужно будет лишь выключить соответствующий программный модуль и запустить новый.
Понятно, что вопросы обновления системы целиком всё равно остаются, ведь и в ядре могут быть элементы, нуждающиеся в апдейте. Но таковых, по нашим наблюдениям, менее 6% от общего количества. Это позволяет перезагружать контроллеры в десятки раз реже, чем прежде.
Катастрофоустойчивые решения и решения высокой доступности (HA/DR)
Dorado V6 «из коробки» готова к интеграции в геораспределённые решения, кластеры городского уровня (metro) и «тройные» дата-центры.
Слева на иллюстрации выше — уже знакомый многим metro-кластер. Две СХД работают в режиме active / active на расстоянии до 100 км друг от друга. Подобная инфраструктура с наличием одного или нескольких кворумных серверов может поддерживаться решениями разных компаний, включая нашу облачную операционную систему FusionSphere. Особую важность в таких проектах приобретают характеристики канала между площадками, все остальные задачи в нашем случае берёт на себя функция HyperMetro, доступная, опять же, «из коробки». Возможна интеграция по Fibre Channel, а также по iSCSI в IP-сетях, если возникает такая потребность. Необходимости в обязательном наличии выделенной «тёмной» оптики больше нет, так как система в состоянии связываться через имеющиеся каналы.
При построении таких систем единственным аппаратным требованием к СХД является выделение портов под репликацию. Достаточно приобрести лицензию, запустить кворумные серверы — физические или виртуальные — и обеспечить IP-связность до контроллеров (10 Мбит/с, 50 мс).
Эту архитектуру легко перенести на систему с тремя ЦОДами (см. правую часть иллюстрации). Например, когда два ЦОДа работают в режиме metro-кластера, а третья площадка, расположенная на расстоянии свыше 100 км, использует асинхронную репликацию.
Система технологически поддерживает различные бизнес-сценарии, которые будут реализованы в случае масштабного эксцесса.
Выживаемость metro-кластера при нескольких отказах
На выше и ниже также показан классический metro-кластер, состоящий из двух СХД и кворумного сервера. Как видите, в шести из девяти возможных сценариев многочисленных отказов наша инфраструктура сохранит работоспособность.
Например, во втором сценарии, при отказе кворумного сервера и синхронизации между площадками, система остается продуктивной, так как вторая площадка прекращает работу. Подобное поведение уже заложено во встроенные алгоритмы.
Даже после трёх отказов доступ к информации может быть сохранён, если интервал между ними составил хотя бы 15 секунд.
Привычный козырь из рукава
Напомним, что Huawei производит не только СХД, но и полный спектр сетевого оборудования. Какого бы поставщика СХД вы ни выбрали, если между площадками используется сеть WDM, в 90% случаев она будет построена на решениях нашей компании. Возникает закономерный вопрос: зачем собирать зоопарк систем, когда всё гарантированно совместимое между собой «железо» можно получить у одного вендора?
К вопросу о производительности
Наверное, никого уже не надо убеждать в том, что переход на All-Flash СХД позволяет значительно сократить расходы на поддержание инфраструктуры, так как все рутинные операции выполняются в разы быстрее. Об этом свидетельствуют все поставщики подобного оборудования. Между тем многие вендоры начинают лукавить, когда речь заходит о спаде производительности при включении различных режимов работы СХД.
В нашей отрасли широко практикуется выдача СХД в тестовую эксплуатацию на один-два дня. Поставщик запускает 20-минутный тест на пустой системе, получая космические показатели производительности. А в реальной эксплуатации быстро вылезают «подводные грабли». Уже через сутки красивые значения IOPS снижаются вдвое-втрое, а если СХД заполнить на 80%, оказываются ещё меньше. При включении RAID 5 вместо RAID 10 теряется ещё 10-15%, а в режиме metro-кластера производительность дополнительно уполовинивается.
Всё, что перечислено выше, — не про Dorado V6. Наши заказчики имеют возможность запустить тест производительности на выходные или хотя бы на ночь. Тогда проявляет себя сборка мусора, а также становится понятно, как активация различных опций — вроде снэпшотов и репликации — влияет на величину достигаемых IOPS.
В Dorado V6 снэпшоты и RAID с чётностью практически не влияют на производительность (3–5% вместо 10-15%). Сборка мусора (заполнение ячеек накопителя нолями), компрессия, дедупликация на СХД, заполненном на 80%, всегда будут сказываться на общей скорости обработки запросов. Но именно Dorado V6 интересна тем, что, какую бы комбинацию функций и защитных механизмов вы ни активировали, итоговая производительность СХД не упадёт ниже 80% от показателя, полученного без нагрузки.
Балансировка нагрузки
Высокая производительность Dorado V6 достигается за счёт балансировки на каждом этапе, а именно:
- мультипассинга;
- использования нескольких подключений от одного хоста;
- наличия фронтенд-фабрики;
- распараллеливания работы контроллеров СХД;
- распределения нагрузки по всем накопителям на уровне RAID 2.0+.
В принципе, это общая практика. В наши дни мало кто держит все данные на одном LUN: все стараются, чтобы их было пусть восемь, пусть сорок, а то и ещё больше. Это очевидный и правильный подход, который мы разделяем. Но если ваша задача требует наличия лишь одного LUN, который проще обслуживать, наши архитектурные решения позволяют достичь на нём производительности 80% от доступной при использовании нескольких LUN.
Динамическое планирование загрузки процессоров
Распределение нагрузки на процессоры при использовании одного LUN у нас реализовано следующим образом: задачи ещё на уровне LUN дробятся на отдельные небольшие «шарды», каждый из которых жёстко закрепляется за конкретным контроллером в «движке». Это сделано для того, чтобы система не теряла производительности, пока «скачет» с этим куском данных по разным контроллерам.
Ещё один механизмом сохранения высокой производительности — динамический шедулинг, при котором те или иные процессорные ядра могут выделяться под разные пулы задач. Например, если сейчас система простаивает на уровне дедупликации и компрессии, то часть ядер может включиться в процесс обслуживания ввода-вывода. Или наоборот. Всё это выполняется автоматически и прозрачно для пользователя.
Данные о текущей загрузке каждого из ядер Dorado V6 не выводятся в графический интерфейс, но через командную строку можно обратиться к ОС контроллера и воспользоваться обычной линуксовой командой top.
Поддержка NVMe и RoCE
Как уже упоминалось, на текущий момент Dorado V6 полностью поддерживает NVMe over Fibre Channel «из коробки» и не требует никаких лицензий. В середине года появится поддержка режима NVMe over Ethernet. Для её полноценного использования понадобится поддержка Ethernet с прямым доступом в память (DMA) версии v2.0 как со стороны самой СХД, так и со стороны коммутаторов и сетевых адаптеров. Например, таких как Mellanox ConnectX-4 или ConnectX-5. Можно воспользоваться и сетевыми картами, выполненными на базе наших микросхем. Также поддержка RoCE должна быть реализована на уровне операционной системы.
В целом мы считаем Dorado V6 NVMe-ориентированной системой. Несмотря на имеющуюся поддержку Fibre Channel и iSCSI, в дальнейшем планируется переход на скоростной Ethernet с RDMA.
Щепотка маркетинга
Благодаря тому, что система Dorado V6 обладает высокой устойчивостью к сбоям, хорошо горизонтально масштабируется, поддерживает различные технологии миграции и т. д., экономический эффект от её приобретения проявляется с началом интенсивной эксплуатации СХД. Мы и дальше будем стараться сделать владение системой максимально выгодным, даже если на первом этапе это не бросается в глаза.
В частности, мы сформировали программу FLASH EVER, связанную с продлением жизненного цикла СХД и предназначенную для того, чтобы насколько возможно разгрузить заказчика при проведении апгрейдов.
Эта программа включает в себя ряд мер:
- возможность постепенной замены контроллеров и полок с дисками на новые версии без замены оборудования целиком (для систем Dorado V6 класса hi-end);
- возможность федеративного хранения (объединение разных версий Dorado в составе одного гибридного кластера СХД);
- умную виртуализацию (возможность использовать оборудование третьей стороны как часть решения Dorado).
Осталось отметить, что непростая ситуация в мире слабо отразилась на коммерческих перспективах новой системы. Несмотря на то что официальный релиз Dorado V6 состоялся лишь в январе, мы видим значительный спрос на неё в Китае, а также большой интерес к ней со стороны российских и международных партнёров из сферы финансов и из правительственных структур.
Помимо прочего, в связи с пандемией, сколько бы они ни продлилась, особенно остро встаёт вопрос об обеспечении удалённых сотрудников виртуальными рабочими столами. В этом процессе Dorado V6 тоже могла бы снять многие вопросы. Для этого мы прилагаем все необходимые усилия, в том числе практически договорились о включении новой системы в лист совместимости VMware.
***
Кстати, не забывайте про наши многочисленные вебинары, проводимые не только в русскоязычном сегменте, но и на глобальном уровне. Список вебинаров на апрель доступен по
Источник: habr.com