Рядовые роли NVMe-серверов
NVMe SSD вытесняют все остальные типы носителей из приложений, критичных к производительности - они напрямую взаимодействуют с CPU по скоростной шине PCIe, без посредников. Данные по протоколу NVMe передаются с малыми задержками, в разы быстрее, чем по старым интерфейсам, таким как хост-контроллер AHCI SATA.
NVMe SSD на порядок превосходят устройства SATA по количеству операций ввода-вывода в секунду (IOPS) и обрабатывают до 64К очередей ввода-вывода с глубиной 64К сообщений в каждой такой очереди.
Источник TechTarget
NVMe SSD поддерживаются всеми основными операционными системами и в конечном итоге заменят SATA в качестве следующего отраслевого стандарта не только в персональных компьютерах (де-факто, уже), но и в серверах.
Два года назад объем NVMe SSD в серверах и системах хранения уже превышал суммарный сбыт SAS SSD и SATA SSD, и этот разрыв только растет.
Источник: Trendfocus
Как видно из диаграмм, SAS-инфраструктуре в центрах обработки данных ничего не угрожает - из-за огромных объемов холодного хранения на механических дисках - но NVMe определенно выживают диски SAS/SATA из операционных серверов.
NVMe –дорого? Нет
Ценой пугают внешние системы хранения на NVMe - как NetApp AFA или Pure Storage. Серверы на NVMe не дороже стандартных.
Если сравнивать типы накопителей по удельной цене за гигабайт, то NVMe SSD под смешанную нагрузку чтения/запиcи (Mix Use) вчетверо дороже, чем SATA HDD 7200 rpm, вдвое – чем Read Intensive SATA SSD, равны по стоимости Mix Use SATA SSD и вдвое дешевле, чем SAS SSD. Так, NVMe SSD емкостью 3.84TB стоит $550-600. Не отпугивает.
Для SAS-устройств нужны HBA и RAID-контроллеры. NVMe SSD обходятся без них – ОС поддерживают программную организацию защищенных хранилищ. Или позволяют как VMware ESXI пробрасывать диски в гостевые ОС виртуальных машин – под рабочие нагрузки, критичные к продуктивности ввода/вывода. Потенциал производительности программных NVMe RAID велик.
Что требуется от серверов?
Под обслуживание NVMe нужны современные многоядерные CPU, а от платформ – по четыре шинные линии PCIe каждому NVMe SSD. Самым экономичным вариантом NVMe-сервера будет односокетный сервер на AMD EPYC – его 128 линий PCIe «прокормят» два десятка SSD (и еще останется на остальную периферию).
Устоявшийся стандарт накопителей и бэкплейнов дисковых корзин NVMe-серверов - U.2 (2.5” NVMe SSD). Перспективы универсального U.3 под диски SAS / SATA / NVMe с автоматическим определением типа подключения сомнительны: производительности не добавляет, зато требует контроллеров Tri-mode (лишние расходы). Да и зачем SAS/SATA в серверах, где нужна производительность?
Есть еще «линеечные» форматы EDSFF, но они – удел гиперскейлеров, где и сами серверы нестандартные, не чета массовым, из канала.
Примеры односокетных серверов AMD EPYC: Dell PowerEdge R6515, HPE ProLiant DL325, Lenovo ThinkSystem SR645, ASUS RS500A-E10-RS12, Gigabyte R162-Z10, Supermicro AS-1114CS.
Не во всех из них бэкплейны по умолчанию оснащены разъемами под U.2, при заказе надо быть внимательным. В платформе ASUS RS500A-E10-RS12 дисковая корзина поддерживает 12 накопителей SAS / SATA / NVMe. На ее бэкплейне распаяны разъемы SFF-8639, куда заведены линии разных интерфейсов. Мирное сосуществование SATA SSD и U.2 позволяет распределять данные приложений по подходящим носителям и переносить их между ними без дополнительных затрат, при модернизации или изменении профиля нагрузок.
Практические сценарии
Глядя на показатели NVMe SSD можно предположить, что наибольший профит получат пользователи потоковых приложений - как резервирование и восстановление данных, редактирование видео, рендеринг. Оно-то так, если бы от перехода на NVMe не удерживали объемы хранения – на десятках терабайт выгоды NVMe нивелируются стоимостью накопителей.
Корпоративные пользователи NVMe работают преимуществнно с данными случайного доступа, которых не так много, но где критична производительность. Пройдемся по примерам:
- Базы данных (MS SQL)
- VPS (Proxmox/ZFS)
- Гиперконвергенция (MS S2D)
- Аналитика (Data warehouse)
Серверы баз данных
Слово Micron. Компания производит разные виды SSD, ей, по сути, все равно, что продавать. Не будем сомневаться в объективности публикаций вроде OLTP on Microsoft SQL Server with the Micron 9300 PRO NVMe SSD: 2.5x Performance with Fewer Drives.
В тестах TPC-C с большим количеством операций записи сошлись:
- 2-4 NVMe SSD (mirrored Storage Spaces)
- 8 SATA SSD (под управлением RAID-контроллера)
Сравнивались показатели производительности: число новых заказов в минуту (NOPM) и задержки записи в журнал транзакций.
Два NVMe SSD выполнили в 2.5 раза больше NOPM, чем восемь SATA SSD, четыре NVMe – в 2.75 раза больше NOPM. При записи SQL log задержки двух NVMe была на 95 % ниже, чем у восьми SATA SSD. При масштабировании до четырех NVMe задержки снизились еще больше - до 99% ниже, чем в конфигурации SATA SSD. Неплохой эффект при вдвое-вчетверо меньшем количестве дисков, без затрат на RAID-контроллер.
VPS
Провайдеры любят Proxmox VE – программное обеспечение с открытым кодом для виртуализации серверов. В платформу интегрировано хранилище ZFS – комбинированная файловая система и диспетчер логических томов с различными уровнями избыточности. Виртуальные машины могут совместно использовать хранилище. Его установки могут быть развернуты, начиная с одного узла и расширяясь до кластера. При достаточной мощности процессора и памяти производительность узла наращивают за счет NVMe SSD (корпоративного класса).
В тестах Proxmox VE ZFS Benchmark with NVMe подробно обсуждаются сравнительные преимущества NVMe в привязке к возможностям ZFS. Для тестов использовался односокетный сервер на AMD EPYC с несколькими накопителями U.2.
Гиперконвергенция
Это программно-ориентированная архитектура, в которой интегрированы вычислительные, сетевые ресурсы и хранилище. Можно купить настроенный кластер серверов x86 или ПО для установки на свои серверы, отвечающие требованиям разработчика.
Так, в Microsoft Windows Server реализована технология распределенного хранения данных Storage Spaces Direct (S2D). В кластере Hyper-V локальные диски узлов объединяются в отказоустойчивое, масштабируемое хранилище, защищенное от выхода из строя как отдельных дисков, так и целых серверов. На пулах хранения создаются виртуальные тома (диски) под общие тома кластера Cluster Shared Volume (CSV) для хранения файлов виртуальных машин Hyper-V и файловых шар SOFS-серверов. Получается дешевле полноценной SAN, а возможностей больше – по масштабированию вычислительной мощности и емкости хранения. Технологию S2D можно считать ответом Microsoft на VMware vSAN.
Тип дисков и минимальное количество в узле зависят от сценария развертывания (производительный, для емкости, сбалансированный). Максимально продуктивной будет инфраструктура полностью на NVMe (минимум, четыре в каждом узле).
Серверы аналитики
И снова Micron: «Создание эффективных аналитических платформ требует производительного хранилища, запаса ресурса перезаписи, оптимизации DRAM». В обзоре обсуждается влияние производительности последовательного и случайного доступа на сбор и обработку больших объемов данных аналитических платформ.
Проектирование платформ аналитики сложнее, чем просто выбор носителей - на скорость обработки запросов влияют оптимизация объема оперативной памяти и настраиваемые параметры SQL-сервера. Добавление RAM имеет побочный эффект – оно увеличивает общую скорость записи в хранилище. Необходимо планировать выносливость SSD. Но выводы одозначны: накопители NVMe гораздо лучше подходят для высокоскоростных операций с объемными данными, сильно превосходя SAS и SATA SSD в IOPS и потоковых показателях.
Все там будем
Учитывая скорость, с которой NVMe SSD вытесняют прежние носители, этим прежним скоро не останется работы в серверах. Притяжение экосистемы SAS по-прежнему велико, кого-то удерживает привычка, кого-то ограничения используемого ПО. Но все меняется. Технический прогресс неминуем.