
Технология NVMe стала движущей силой коренных изменений в хранении данных, источником высокой производительности подсистем ввода/вывода (I/O). Серверы на NVMe-накопителях оптимальны для онлайн-обработки транзакций (OLTP), онлайн-аналитики (OLAP), веб-сервисов, решений виртуального рабочего стола (VDl), управления потоками видео высокой четкости, хранения метаданных файловых систем и вообще в программах с произвольным обращением к большому количеству файлов.
Доступ к флэш-памяти по шине PCIe, без посредников, позволяет NVMe SSD обеспечивать гораздо больше операций ввода/вывода в секунду (IOP) по сравнению с SATA/SAS SSD. Ограниченные интерфейсами SATA и SAS стандартные SSD исчерпали свои возможности и не могут стать более быстрыми, тогда как NVMe-накопители еще не достигли своего порога производительности. Один NVMe SSD стандарта PCIe Gen4 выдает поток почти 8 ГБ данных в секунду, с каждым новым стандартом PCIe этот потолок становится выше.
Увеличение IOPs – лишь один из прорывов технологии NVMe. Одной из ключевых характеристик I/O является глубина очереди (queue depth). Она определяет количество команд, которые могут быть исполнены одновременно. SATA SSD ограничены единственной очередью с глубиной всего 32 команды. Спецификация NVMe поддерживает 65535 очередей команд, каждая из которых может содержать до 65536 команд. Наращивают производительность, обеспечивая параллелизм операцій.
Цены NVMe и SATA SSD сопоставимы и в целом умеренны. Это усиливает возможности обработки данных на серверах, при очевидных преимуществах локального хранения на NVMe: высокой плотности (носители емкостью 30.72ТБ не являются экзотикой, тогда как SATA SSD остановились на 7.68ТБ), низких задержек, простоты управления данными, удобства обслуживания.
Технология пригодна для малых и крупномасштабных сред хранения - в сетевом варианте NVMe-oF.
Платформы NVMe -серверов
Индустриальным стандартом NVMe SSD был и остается U.2 (2.5” NVMe). Для поддержки U.2 бэкплейн дисковой корзины серверной платформы должен быть оснащен соответствующими разъемами с подводом к каждому отсеку линий PCIe. Каждому NVMe нужно предоставить четыре линии PCIe. Как именно, платами коммутации, кабелями с материнской платы или плат-разветвителей, определяет производитель платформы по своему усмотрению.
Серверы с поддержкой большого количества U.2 имеются в каталогах всех основных вендоров. Заказчик может выбрать базовую архитектуру между Intel Xeon и AMD EPYC. Различия есть. При прочих равных (поддержке DDR5 и PCIe Gen 5) процессоры семейства AMD EPYC 9004 имеют до 128 ядер/256 потоков против 64/128 у Intel Xeon 5th Gen, 12 каналов памяти против 8 и 128 линий PCIe на процессор против 80.
С таким запасом вычислительной мощности как у AMD EPYC достаточно его одного для удовлетворения требований большинства серверных приложений, двухпроцессорные серверы не нужны . Односокетные серверы AMD EPYC подходят под решение самых разных задач . В том числе под NVMe- хранилища.
Типичный сервер 2U вмещает 24 x U.2. Если выбирать Intel Xeon в качестве базовой платформы такого сервера, нужны два процессора (или коммутатор шини PCIe), 80 линий PCIe одного CPU недостаточно. 128 линий AMD EPYC позволяют обслужить то же количество накопителей одним процессором, без использования коммутаторов PCIe. Вот два примера платформ, позволяющих построить NVMe-хранилище с минимальными затратами.
ASUS RS500A-E12-RS12U – однопроцессорная платформа 1U под AMD EPYC 9004 Genoa с поддержкой до 24 DIMM, 16 NVMe, двух однослотных GPU:

ASUS RS520A-E12-RS24U – однопроцессорная платформа 2U под AMD EPYC 9004 Genoa с поддержкой до 24 DIMM, 24 NVMe, двух двухслотных GPU:

На смену SAS
Следующим за физическим подключением большого количества NVMe SSD поднимется вопрос организации массивов данных. Носители объединяют в RAID - для производительности, увеличения емкости хранилища, доступности (возможности продолжать работу после сбоев компонентов с сохранением целостности данных), быстрого восстановления при замене накопителей.
В отличие от довольно линейного прошлого RAID в экосистеме SAS, сегодня индустрия переживает революционные времена, осваивая расходящиеся альтернативы традиционным контролерам. Идет борьба за высокий уровень параллелизма, множество операций ввода-вывода и пропускную способность – вызовы NVMe.
Аппаратный NVMe RAID
Аппаратные SAS/SATA RAID-контроллеры эволюционировали в трехрежимные (Tri-mode). Технология Tri-Mode обеспечивает использование SAS, SATA и NVMe в одной инфраструктуре хранения. Основной игрок на этом поле Broadcom.
Объективно, NVMe не требуются контроллеры с их стеком SAS и ограничениями шинного подключения к PCIe. Добавление NVMe к комбинации виртуальных дисков SAS и SATA за одним контроллером имеет мало смысла: твердотельные накопители NVMe гораздо более производительны, чем SAS или SATA, трудно представить себе востребованную модель их коммунального совмещения.
Конечно, Broadcom не хочет терять рынок в угоду энтузиастам низких задержек и распараллеливания дискового ввода/вывода. Спрос на Tri-mode держит на плаву консерватизм рынка и привязка к виртуализации VMware (владельцем которой с недавнего времени тоже является Broadcom).
Аппаратные RAID требуют, чтобы накопители были подключены к карте RAID через кабели, что значительно ограничивает их применимость в современной инфраструктуре. Масштабирование NVM-e хранилищ, управляемых аппаратными RAID, лимитировано их подключением по 8-16 линиям к PCIe Gen4, максимальная скорость которой составляет 28 ГБ/с. Четыре NVMe Gen4 могут насытить одну карту RAID. Потребуется несколько таких карт, чтобы выжать производительность из всех накопителей в сервере с 24 отсеками. Прямо к аппаратному RAID не подключить более 8 NVMe SSD, если мы хотим, чтобы каждому достались 4 законные линии PCIe. Если их больше – требуются шасси с коммутаторами шины PCIe. Контроллер может обслужить 24 коммутируемых NVMe, но кому нужен такой "скоростной" сервер с усложненным (дорогим) конструктивом, привнесенными задержками на коммутаторах и зарезанной полосой пропускания на пути данных?
Программный NVMe RAID
Группировать NVMe SSD в массив и управлять ими можно средствами операционной системы и файловых систем: Linux MDADM, Windows Storage Spaces, ZFS, btrfs. Проблемой программных RAID является потребление ресурсов хоста (СPU, RAM) и не слишком высокая производительность - кодовая база большинства программных RAID рождалась при HDD. Xinnor продвигает инновационный xiRAID , разработанный с нуля для NVMe. Благодаря глубокому распараллелированию обработки ввода/вывода и неблокированному пути данных массивы xiRAID имеют небольшие штрафы RAID и раскрывают потенциал флэш-накопителей при низком использовании процессора и оперативной памяти.
Революция GRAID
В отличие от аппаратного RAID на основе ASIC и программного RAID с загрузкой CPU GRAID Technology использует уникальную технологию маршрутизации трафика данных. Решения GRAID состоят из двух основных элементов: графического процессора и программно-определяемого хранилища. Подобно аппаратному RAID, графический процессор снимает с центрального процессора задачи управления дисками, в том числе расчет четности. Однако в отличие от карты RAID передача данных происходит непосредственно между NVMe SSD и главной памятью. Дополнительные кабели и сложные конфигурации шасси не требуются. Поскольку GPU более динамичен, чем RAID ASIC, производительность с помощью GRAID легко масштабируется с добавлением NVMe в сервер.
Линейка SupremeRAID:
- SupremeRAID SR-1010 – карта на основе Nvidia A2000 PCIe Gen 4, поддерживающая до 32 NVMe, предназначенная для облачных и корпоративных серверов 2U
- SupremeRAID SR-1000 —карта на основе Nvidia T1000 PCIe Gen 3, поддерживающая до 32 NVMe, может устанавливаться в серверы 1U
- SupremeRAID SR-1001 —карта на основе Nvidia T1000 PCIe Gen 3, поддерживает до 8 NVMe, идеальна для хранения данных телекоммуникационных компаний, CAD, редактирования видео, IoT и игр.

Признанный эксперт по тестированию хранилищ StorageReview обладает большим опытом работы со всеми современными вариантами RAID, начиная от выделенных аппаратных плат и заканчивая разнообразными программными решениями. Они много раз тестировали решение GRAID на трех разных графических процессорах и «всегда были поражены чрезвычайной производительностью хранения, обеспечиваемой GRAID».
Сравнительные тестирования показывают значительные реальные преимущества перед конкурирующими аппаратными и программными решениями RAID. Против ведущей аппаратной RAID-карты Broadcom SupremeRAID обеспечивает в несколько раз большие показатели IOPS и последовательной пропускной способности. Перенося вычисления RAID на графический процессор, SupremeRAID снижает использование CPU до нуля, тогда как программный RAID потребляет до 30-40% циклов центрального процессора для вычислений четности. При реконструкции массива SupremeRAID поддерживает высокий уровень производительности там, где аппаратный и программный RAID едва шевелятся.
Решения SupremeRAID легко интегрируются в современную инфраструктуру центра обработки данных. Везде, где становятся графические ускорители Nvidia T1000 и A2000, могут быть установлены карты SupremeRAID. Поддерживаются все типы NVMe, подключенные к хосту. От серверной платформы требуется разве что физическая возможность установки желаемого количества носителей. В типовом сервере 2U на 24 NVMe SupremeRAID (как и любой программный RAID) может поддерживать все диски в одной системе без усложнений подключения и ограничений пропускной способности по шине.
Со стороны программного обеспечения SupremeRAID поддерживается Linux (AlmaLinux, CentOS, Rocky Linux, OpenSUSE, Ubuntu, Debian, Oracle Linux и Red Hat Enterprise Linux) и Microsoft (Windows Server 2019/2022, Windows 10/11).
SupremeRAID поддерживает следующие платформы виртуализации: Proxmox VE, KVM, Windows Server Hyper-V, Virtuozzo Open VZ и VMware Workstation Pro 17. Поддержка VMware ESXi отсутствует. Учитывая изменения после приобретения Broadcom VMware, в ближайшее время лучшего ожидать не стоит, поскольку GRAID является прямым конкурентом Broadcom RAID. Как и другие поставщики, GRAID помогает клиентам VMware советами по миграции на альтернативные платформы.
От серверов к сетям
Серверы с локальными хранилищами NVMe становятся базовыми составляющими программно-компонуемой инфраструктуры, где вычислительные, сетевые и ресурсы хранения данных абстрагированы от их физического расположения, ими можно управлять с помощью программного обеспечения через веб-интерфейс. Они служат основой для частных и гибридных облачных решений. Вместе с появлением технологии NVMe и ее сетевого воплощения NVMe-oF появилась возможность повысить производительность серверов и масштабировать хранилища без ущерба производительности.
Будущий прогресс в производительном хранении данных связан с дезагрегацией, NVMe-oF-хранилищами, блоками обработки данных DPU. Пока что оптимизация серверов с локальными носителями NVMe заключается в использовании таких платформ и сопутствующих программно-аппаратных средств, которые обходятся без лишних сущностей.
Дайте дорогу данным.