Продовження сумної саги про NVMе в серверах
Серверний ринок неповороткий. NVMe SSD витісняють інші носії повільно, дуже повільно. Ймовірно, тому, що перехід на нові стандарти - інфраструктурне завдання: для масштабного обслуговування даних з швидким відгуком потрібні мережеві сховища NVMe і мережеві протоколи NVMe-oF. Поки увага вiддана верхнім шарам корпоративної атмосфери, переділ локальних інтерфейсів в серверах протікає мляво. Не до них.
Але є і хороші новини: ціни NVMe і SATA SSD зрівнялися, платформ NVMe-ready стало більше.
Сitius, propius, fortius
Протокол NVMe розкриває потенціал твердотільного зберігання: високу швидкість введення / виводу даних і низькі затримки звернення - за рахунок прямого підключення SSD до шини PCIe. Позбавлення від обмежень стеків SAS і SATA, новий набір команд, механізм обробки черг, їх велика глибина, оптимізація під багатопотокові навантаження - все зроблено на догоду продуктивності. Нехай і ціною витрати процесорних ресурсів. Воно того варте. Сучасним багатоядерним процесорам тепер є чим зайнятися.
Попит в серверах підігрівається додатками, які «шукають близькості» між CPU і пристроями постійного зберігання. Перехід на NVMe SSD ламає колишні уявлення про будову серверів.
Дискові кошики, бекплейни, кабельне господарство
NVMe SSD підключаються одним з двох способів: безпосередньо до CPU через шину PCIe або через трьохрежимнi (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 материнських плат і / або карт-ретаймерiв - подовжувачів ліній зв'язку (високочастотна передача даних по шині PCIe змушує боротися з перекручуванням і загасанням сигналів).
Поділ ліній і комутатори 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-пристроїв, стандартних програмних засобів недостатньо, щоб розкрити потенціал 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 (найдешевше, як мотиватора).
На слуху трехрежімние (tri-mode) апаратні RAID-контролери від Broadcom. Їх призначення - звести управління зберіганням сервера в єдиний логістичний центр. Всі підключені накопичувачі (SAS, SATA і примкнув до них NVMe) обслуговуються через традиційний SAS-стек базового ROC. ОС сервера працює з логічними томами, створеними RAID-контролером. Це суперечить ідеї NVMe позбавлення від затримок і посередників між SSD і CPU. До того ж, у режимний контролера є вузьке місце - інтерфейс підключення до PCIe. Його шинних ліній (добре якщо x16, зазвичай х8) вистачить двох-чотирьох NVMe (x4). Не густо.
Після 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 (навпаки - нi). Якщо 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 показують «неоліберали» - виробники серверних платформ, що дiстають ринкові переваги з раннього освоєння нових технологій. Складно бути лідером, продаючи «рішення, перевірені роками».
Погляньте на дві базові платформи 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.
Бекплейн платформ з тильної і лицьової сторони:
Платформи повністю оснащені під установку U.2 або SATA. Дисків SAS знадобиться HBA або RAID-контролер.
Такі гібридні платформи зручні універсальністю. Можна почати з традиційних накопичувачів, запланувавши перехід на U.2 в майбутньому. Тоді і оцінити приріст продуктивності - все пізнається в порівнянні.
Кому це потрібно?
Тим, кому критична швидкість відгуку систем введення / виводу даних. Це їм потрібні сервери на NVMe SSD: під транзакційні системи OLTP, віртуальні робочі столи VDI, масштабовані сховища Ceph або OpenStack.
Вони потрібні під швидко зростаючий обсяг граничних обчислень (edge computing): відеоаналітіку, поширення контенту, інтернет-вітрини, агрегацію торгових пропозицій, видачу цільової реклами, високочастотний трейдинг.
Вони потрібні провайдерам VPS - під навантажені IT- проекти, ігрові майданчики і відвідувані сайти.
Ціни U.2 і SATA SSD зрівнялися, результативність U.2 в рази вище. Робити більше, маючи в своєму розпорядженні менше - чим не мета?