Mellanox NVMe SNAP

NVMe SNAP (Software-defined Network Accelerated Processing) — программно-определяемая ускоренная сетевая обработка. Она обеспечивает аппаратную виртуализацию хранилища NVMe. Инфраструктура Mellanox NVMe SNAP позволяет интегрировать сетевые решения хранения данных в облачные или корпоративные серверы.

NVMe SNAP логически представляет сетевое хранилище как локальный диск NVMe на шине PCIe. Это позволяет ОС / гипервизору хоста использовать стандартный драйвер NVMe вместо различных протоколов сетевого хранилища.

Обзор NVMe SNAP

Источник: https://www.mellanox.com/related-docs/solutions/SB_Mellanox_NVMe_SNAP.pdf

NVMe SNAP сочетает виртуализацию хранилища с аппаратным ускорением сетевого взаимодействия и программированием BlueField SmartNIC. NVMe SNAP вместе с BlueField SmartNIC обеспечиваюnх эффективность и производительность хранилища и сети.

NVMe SNAP FRAMEWORK

NVMe SNAP дает клиентам возможность внедрять собственные решения для хранения данных на основе поставляемой инфраструктуры. NVMe SNAP предоставляет интерфейс для ядер BlueField SmartNIC Arm® для реализации управления решением для хранения. NVMe SNAP интегрирован с популярным проектом с открытым исходным кодом Storage Performance Development Kit (SPDK). Клиентам предоставляется гибкость программирования в знакомой среде, сокращаются проблемы интеграции и время выхода на рынок.

Клиенты могут выбирать между двумя доступными путями данных:
— Первый, с полной разгрузкой, использует аппаратную разгрузку, доступную для NVMe SNAP. Адаптер принимает трафик от NVMe PCIe, преобразует его в NVMe-oF и передает далее в сеть. Все операции реализуются аппаратно. Этот вариант обеспечивает наилучшую производительность, но не позволяет модифицировать данные или изменять протокол хранения.
— Второй вариант позволяет SPDK, работающему на ядрах Arm, перехватывать трафик от NVMe PCIe, преобразовывать его в соответствии с клиентской логикой, а затем передавать данные в сеть. Используются ядра Arm в пути к данным и обеспечивается гибкость для реализации встроенного решения для хранения данных.
В обоих вариантах пути к данным плоскость управления работает в ядрах Arm. Таким образом, независимо от пути данных, используется аппаратное ускорение передачи трафика к месту назначения.

Варианты использования NVMe SNAP

Облачные услуги

Предлагаемое поставщиками облачных услуг «голое железо» обычно включает локальное хранилище в каждом сервере для использования клиентами облака. Это обеспечивает легкодоступное и быстродействующее хранилище под полным контролем заказчика. Но за это расплачивается поставщик облачных услуг. Решение ограничивает способность эффективно предоставлять удаленное хранилище, которым легче управлять и защищать. Возникает конфликт между тем, что лучше всего подходит для клиента (локальное хранилище), и тем, что лучше компонуется для поставщика облачных услуг (сетевое хранилище).

Поставщики облачных услуг теперь могут виртуализировать хранилище на чистом железе без ущерба для своих клиентов с помощью NVMe SNAP. Создается беспроигрышная ситуация для обеих сторон. Клиенты в облаке используют драйвер NVMe PCIe своей стандартной операционной системы без заметного снижения производительности. При этом поставщик услуг получает более эффективное решение — хранилище виртуализировано, с тонкой настройкой, резервным копированием и может переноситься между серверами. Обеспечивается экономия как CAPEX, так и OPEX.

Дезагрегация и масштабирование стойки

NVMe SNAP позволяет разделять вычислители и хранилище для оптимизации использования ресурсов центра обработки данных.

Архитектура центра обработки данных оказывает сильное влияние на общее использование ресурсов. Традиционная архитектура имеет фиксированное соотношение вычислительных ресурсов, хранилищ и сетевых ресурсов. Возникает проблема распределения рабочей нагрузки, которая обычно решается за счет избыточного выделения ресурсов виртуализации. На самом деле не все рабочие нагрузки одинаковы: одни требуют больших вычислительных ресурсов, а другие — больше ресурсов хранилища. В целом, требуется выделения завышенных ресурсов локального хранилища, что приводит к неэффективному коэффициенту использования хранилища — 40-50%. Это, в свою очередь, приводит к более высоким капитальным и эксплуатационным затратам. Половина или более емкости хранилища практически не используется.

Гиперконвергентное хранилище только частично решает проблему использования хранилища. В постоянно растущем центре обработки данных добавление фиксированных узлов с совмещенным вычислителем и хранилищем не позволяет гибко масштабировать хранилище независимо от вычислительных ресурсов, и наоборот.
Технология сетевого хранения доступна уже довольно давно, но зачастую ценой высокой задержки или низкой пропускной способности, либо того и другого.

С новой технологией NVMe-over-Fabrics (NVMe-oF) с использованием RoCE это больше не проблема.
Сетевое хранилище с технологией виртуализации с аппаратным ускорением NVMe SNAP позволяет центрам обработки данных полностью удалять физические диски из своих вычислительных узлов. Вычислительные узлы прозрачно и беспрепятственно подключаются к кластеру хранения. Разделение вычислителей и хранилищ позволяет хранилищу быть частью компонуемой инфраструктуры и обеспечивает существенную экономию затрат на приобретение, обслуживание и эксплуатационные расходы. Простота этой конструкции приобретается без каких-либо изменений программного обеспечения и влияния на производительность инфраструктуры. Вычислительные узлы и хранилища теперь можно добавлять независимо друг от друга. Выделяется точно необходимый объем хранилища для каждого вычислительного узла и оптимизируется любая рабочая нагрузка. Центр обработки данных теперь может управлять логическими пулами ресурсов. Это позволяет максимально эффективно использовать всю стойку или кластер.

NVMe-oF для предприятия

Внедрение технологий NVMe и NVMe-oF находится на подъеме, но существуют затруднения с программной поддержкой со стороны поставщиков ОС. Поставщики решений для хранения данных приняли протокол NVMe-oF для увеличения пропускной способности с меньшими задержками. При этом возникают проблемы развертывания решений на предприятиях с несколькими типами ОС, не обеспеченных необходимыми драйверами. С помощью NVMe SNAP на стороне вычислений (инициатора) реализует протокол NVMe-oF на аппаратном уровне без необходимости поддержки со стороны работающей ОС.

Швейцарский нож

NVMe SNAP на Mellanox BlueField обеспечивает аппаратную виртуализацию хранилища, используя возможности программирования Arm интеллектуального адаптера. Параллельно клиенты могут использовать инфраструктуру BlueField для разгрузки виртуализации сети, например, запуск элемента управления vSwitch на ядрах Arm. Одновременно разгружаются сетевые операции технологиями ConnectX. (см. рисунок)

Центры обработки данных могут получить выгоду от более эффективного использования серверов. Большее количество виртуальных машин и большее количество арендаторов могут использовать одно и то же оборудование. Снижается совокупная стоимость владения, энергопотребление и сложность кабельного хозяйства.
Заказчики могут разрабатывать индивидуальные решения на основе сетевых адаптеров BlueField SmartNIC вкупе с NVMe SNAP.

NVMe SNAP — это лицензионное программное обеспечение, доступное для некоторых моделей BlueField.