Продолжение грустной саги про NVMе в серверах

23 апрель, 2020 - 11:41Андрій Тищенко

Наступление NVMe SSD в серверах сдерживает консерватизм производителей и неосведомленность пользователей.

Серверный рынок неповоротлив. NVMe SSD вытесняют прочие носители медленно, очень медленно. Вероятно, потому, что переход на новые стандарты — инфраструктурная задача: для масштабного обслуживания данных с быстрым откликом нужны сетевые хранилища NVMe и сетевые протоколы NVMe-oF. Пока внимание отдано верхним слоям корпоративной атмосферы, передел локальных интерфейсов в серверах протекает вяло. Не до них.

Но есть и хорошие новости: цены NVMe и SATA SSD сравнялись, платформ NVMe-ready стало больше.

Сitius, propius, fortius

Протокол NVMe раскрывает потенциал твердотельного хранения: высокую скорость ввода/вывода данных и низкие задержки обращения — за счет прямого подключения SSD к шине PCIe. Избавление от ограничений стеков SAS и SATA, новый набор команд, механизм обработки очередей, их большая глубина, оптимизация под многопоточные нагрузки — все сделано в угоду производительности. Пусть и ценой расхода процессорных ресурсов. Оно того стоит. Современным многоядерным процессорам теперь есть чем заняться.

Спрос в серверах подогревается приложениями, которые «ищут близости» между CPU и устройствами постоянного хранения. Переход на NVMe SSD ломает прежние представления об устройстве серверов.

Дисковые корзины, бэкплейны, кабельное хозяйство

NVMe SSD подключаются одним из двух способов: напрямую к CPU через шину PCIe или через трехрежимные (tri-mode) HBA/RAID, поддерживающие накопители NVMe/SAS/SATA.

Доминирующим форматом NVMe SSD в серверах переходного периода стал U.2 (2.5″ или SFF SSD) — как дань сосуществованию разных стандартов. Для поддержки U.2 к отсеку дисковой корзины надо подвести четыре линии (x4) PCIe 3.0. В серверах попадаются сменные, а чаще — гибридные бэкплейны U.2/SAS/SATA с универсальными разъемами SFF-8639, где замыкание контактов накопителем определяет, какое устройство им управляет. Со стороны хоста к бэкплейну подключаются бортовые порты SATA или внутренние порты HBA/RAID. Сигналы PCIe подводят кабелями OCuLink c материнских плат и/или карт-ретаймеров — удлинителей линий связи (высокочастотная передача данных по шине PCIe заставляет бороться с искажением и затуханием сигналов).

Продолжение грустной саги про NVMе в серверах

Источник

Дележ линий и коммутаторы PCIe

Один Intel Xeon SP обслуживает 48 линий PCIe. Два процессора — 96 линий. Одному U.2 полагается x4 PCIe 3.0. Если разместить в типовой 2U-платформе 24 x U.2, остальной периферии ничего не останется. Приходится добавлять коммутаторы PCIe — усложнять схемотехнику и вносить задержки, пусть небольшие.

У процессора AMD EPYC линий PCIe аж 128. Его одного хватает для обслуживания NVMe-хранилища формата 1U / 12 x U.2 или 2U / 24 x U.2, и еще есть запас по подключению скоростной периферии. Так AMD EPYC оказался невольным союзником U.2 SSD, упростив их появление в одно- и двухпроцессорных серверах.

Замена накопителей и индикация

Для реализации горячей замены (hot-swap) и горячего подключения (hot-plug) накопителей нужна готовность окружения: HBA/RAID, операционной системы, бэкплейнов, дисковых корзин, салазок, индикации. Когда U.2 остаются наедине с шиной PCIe и CPU, им HBA/RAID не помощники. Операционная система и бэкплейн отрабатывают корректное отключение/подключение U.2 без останова сервера. Часть контактов разъема SFF-8639 отвечает за считывание статуса накопителей и передачу сигналов LED-индикации. Управляет отображением состояний бэкплейн и базовая платформа.

RAID из NVMe

Все основные ОС корректно распознают NVMe, отдельные накопители. Сложнее с их логическими наборами. В Linux программные массивы создают утилитой MDRAID. В Microsoft Windows Server — с помощью Storage Spaces, через GUI или PowerShell. Функция создания RAID и менеджер томов есть в ZFS. Как справедливо замечено в обзоре программных массивов из NVMe-устройств, cтандартных программных средств недостаточно, чтобы раскрыть потенциал NVMe. Хочешь производительности — ищи целевое управляющее ПО, оптимизированное под NVMe SSD.

Intel продвигает технологию VROC (Virtual RAID on CPU). В процессор Intel Xeon SP встроен контроллер VMD (Volume Management Device). Им создают объединения NVMe SSD, включая загрузочные тома, он позволяет менять NVMe SSD на горячую и управляет светодиодной индикацией дисковых корзин. Исполнение логики RAID ложится на CPU, часть его ядер. Комбинация программного пересчета и отлитого в кремнии Intel VMD делает VROC гибридным (полупрограммным) RAID. Продается Intel VROC как физический ключ, в трех вариантах: с поддержкой RAID 0/1/10 для SSD любых производителей, премиум-лицензии с RAID 5 и с полным набором опций для Intel NVMe SSD (дешевле всего, в качестве мотиватора).

Продолжение грустной саги про NVMе в серверах

Источник

На слуху трехрежимные (tri-mode) аппаратные RAID-контроллеры от Broadcom. Их назначение — свести управление хранением сервера в единый логистический центр. Все подключенные накопители (SAS, SATA и примкнувший к ним NVMe) обслуживаются через традиционный SAS-стек базового ROC. ОС сервера работает с логическими томами, созданными RAID-контроллером. Это противоречит идее NVMe избавления от задержек и посредников между SSD и CPU. К тому же, у трехрежимного контроллера есть узкое место — интерфейс подключения к PCIe. Его шинных линий (хорошо если x16, обычно х8) хватит двум-четырем NVMe (x4). Негусто.

Продолжение грустной саги про NVMе в серверах

Источник

После U.2

Под U.2 не пришлось переделывать традиционный крой дисковых корзин SFF. Разработчикам платформ достаточно модифицировать бэкплейны и транспортные развязки данных. Пока в серверах смешаны накопители разных стандартов, формат будет жить. У него есть недостаток — ограничения по тепловыделению (и, чем емче накопители, тем оно выше). Альтернативные форматы c большей площадью поверхности рассеивания тепла Intel EDSFF (Ruler) и Samsung NF1 в массовых серверах не прижились. Не светит и U.3, которого считают наследником U.2. Он тоже SFF, построен на том же разъеме SFF-8639, но с другой сигнальной логикой. U.3 поддерживает NVMe/SAS/SATA через единый бэкплейн/ мидплейн и один трехрежимный (tri-mode) HBA или RAID. К угрозам потенциального перегрева SFF добавятся ограничения доступа NVMe к PCIe.

Что до производителей SSD, то они упакуют их, как решит индустрия, на что будет спрос. Накопители U.3 совместимы с бэкплейнами U.2 (наборот — нет). Если U.3 SSD вытеснят из обихода U.2, это не значит, что сами серверные платформы переведут на новый стандарт. Может статься, про SAS и SATA SSD в критичных приложениях скоро никто не вспомнит — все будет NVMe. Тогда и универсальные форматы переходного времени не нужны.

Новаторы и консерваторы

Ведущие производители серверных платформ ориентируются на массовый сбыт и неохотно идут на эксперименты. Неспешному появлению U.2 в серверах есть несколько оправданий:

  • Большому бизнесу нужны не столько серверы (с NVMe или без), сколько программно-(пере)определяемая среда из универсальных блоков: CPU-вычислителей, GPU- вычислителей, хранилищ. Другой масштаб задач.

  • Спрос на отдельные (standalone) серверы критичных приложений специфичен. Канал, привычный к ширпотребу, не умеет продавать то, что выпадает из мейнстрима: нет сопутствующей экспертизы, нет регулярного предложения, нет специальных цен.

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

  • Проблема замкнутого круга. U.2 SSD не пользуются спросом, потому что их некуда ставить, платформы U.2-ready не предлагают, потому что в них нечего ставить

  • Архитектурное наследие. Как отмечалось выше, серверы на Intel Xeon не слишком «дружественны» к U.2 — не располагая достаточной свободой линий PCIe. AMD, с ее 5-10% рынка, пока не является законодателем серверной моды prêt-à-porter.

Иногда не определить, кто больше склонен к шаблонам и стереотипам, производитель или потребитель. Оба хороши.

Платформы переходного периода

Пример участия в продвижении U.2 показывают «неолибералы» — производители серверных платформ, извлекающие рыночные преимущества из раннего освоения новых технологий. Сложно быть лидером, продавая «решения, проверенные годами».

Взгляните на две базовые платформы ASUS: под 2 x Intel Xeon SP и под 2 x AMD EPYC. Обе — 1U под 12×2.5″ и в обеих схема подключения дисков выглядит так: 4 x NVMe+ 4 x SATA/SAS/NVMe + 4 x SATA/SAS. Это значит, что 8 отсеков из 12 готовы принять U.2 SSD.

Продолжение грустной саги про NVMе в серверах

Бэкплейн платформ с тыльной и лицевой стороны:

Продолжение грустной саги про NVMе в серверах

Платформы полностью оснащены под установку U.2 или SATA. Дискам SAS понадобится HBA или RAID-контроллер.

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

Кому это нужно?

Тем, кому критична скорость отклика систем ввода/вывода данных. Это им нужны серверы на NVMe SSD: под транзакционые системы OLTP, виртуальные рабочие столы VDI, масштабируемые хранилища Ceph или OpenStack.

Они нужны под быстро растущий объем граничных вычислений (edge computing): видеоаналитику, распространение контента, интернет-витрины, агрегацию торговых предложений, выдачу целевой рекламы, высокочастотный трейдинг.

Они нужны провайдерам VPS — под нагруженные IT- проекты, игровые площадки и посещаемые сайты.

Цены U.2 и SATA SSD сравнялись, результативность U.2 в разы выше. Делать больше, располагая меньшим — чем не цель?