Intel VROC. Вопросы и ответы

9 сентября 2020 SNIA провела веб-трансляцию, представившую концепцию RAID на CPU (Intel VROC). Приглашенные эксперты, Фаусто Ванинетти из Cisco и Игорь Конопко из Intel, рассказали об этой технологии.

Интернет-конференция вызвала множество технических вопросов, на которые ответили эксперты SNIA. Здесь приводится ряд вопросов-ответов (перевод), сгруппированных по темам.

VMD и RAID

В. Чем программный RAID (использующий системный ЦП) отличается от CPU RAID, используемого для NVMe?

О. В программном RAID механизм RAID срабатывает после загрузки операционной системы. Некоторые поставщики используют термин SW RAID по-другому. CPU RAID для NVMe является функцией центрального процессора, а не ОС, и также включает компоненты Pre-OS / BIOS / Platform.

В. Почему не RAID 6?

О. RAID на ЦП — это новая технология. Текущая версия поддерживает наиболее часто используемые уровни RAID. Учитывается предназначение технологии — она для серверов, а не для дисковых массивов. RAID 5 — это основной уровень RAID с контролем четности для NVMe с отказом одного диска.

В. Что такое домен VMD?

О. Домен VMD можно описать как конечную точку, интегрированную в ЦП, для управления твердотельными накопителями PCIe / NVMe. VMD означает «Устройство управления томом».

В. RAID является частью VMD? или VMD используется только для управления светодиодами и горячего подключения?

О. VMD является обязательным условием для VROC, поэтому это ключевой элемент. Проще говоря, VROC — это возможность создания RAID, все остальное — VMD.

В. Может ли VMD поддерживать VROC с более чем 4 приводами?

О. VROC может поддерживать до 48 твердотельных накопителей NVMe на платформу.

Варианты подключения накопителей в VROC

В. Какое максимальное количество накопителей поддерживается одним доменом VMD?

О. Сегодня домен VMD имеет 16 линий PCIe, поэтому 4 диска NVMe SSD поддерживаются в виде прямого подключения к каждому домену. Если используются коммутаторы, к одному домену VMD можно подключить 24 твердотельных накопителя NVMe.

В. Использует ли VROC какие-либо механизмы кэширования через встроенное ПО или драйвер ОС?

О. В настоящее время кешировани в VROC отсутствует, но рассматривается как вариант в будущем.

В. Выполняется ли XOR для RAID 5 программно?

О. Да, это делается программно на части ядер процессора Xeon.

В. Как защитить целостность данных RAID-1, если отключение питания произошло после записи только одного диска?

О. Для схемы RAID1 вы можете читать свои данные, когда они записаны хотя бы на один диск. Для RAID5 необходима запись на несколько дисков для восстановления данных.

В. Как VROC обрабатывает ошибку RAID Write Hole* для записи RAID5?

* RAID Write Hole — операция записи не завершается из-за одновременного сбоя диска и потери питания. Происходит «тихое повреждение данных».

О. Intel VROC использует механизм журналирования для отслеживания записи «на лету» и регистрации их с помощью функции угрозы отключения питания (Power Loss Imminent, PLI), встроенной в SSD. В случае двойного сбоя, который может вызвать сценарий RAID Write Hole, VROC использует эти записи журнала для предотвращения любого повреждения данных и восстановления после перезагрузки.

В. По умолчанию WHC (защита от потери данных при отключении питания или двойной ошибки накопителей) отключен. Когда его нужно включить? После того, как произошла ошибка записи? Или он должен быть включен до операции ввода-вывода?

О. WHC следует включить до того, как вы начнете записывать данные на свои тома. Это может потребоваться для критически важных данных, повреждение которых недопустимо ни при каких обстоятельствах.

В. Можно ли сочетать в VROC массивы разных уровней? (Вопрос переформулирован)

О. На одной платформе Intel VROC может поддерживаться RAID1 для загрузки ОС и другие уровни RAID для наборов данных.

В. VROC поддерживает матричный RAID?

О. Матричный RAID — это несколько массивов разного уровня RAID на одном наборе накопителей. Пример: четыре накопителя в RAID 10 на 1 ТБ и RAID 5 с использованием оставшегося места на тех же четырех дисках.

В. В конфигурации с двумя ЦП и проблемой с VMD на одном из них, есть ли какая-нибудь защита?

О. Это зависит от того, как подключены устройства. SSD-накопители могут быть подключены к разным VMD и в массивах RAID1 для обеспечения защиты. VMD является аппаратной функцией линий PCIe и не является распространенным сценарием отказа.

Процессоры

В. Какие процессоры Intel поддерживает VROC?

О. Все процессоры Intel Xeon Scalable, начиная с поколения 1 и последующие поколения поддерживают VROC.

В. Требуется ли для VROC процессор Platinum? Поддерживают ли процессоры уровня Gold / Silver VROC?

О. Intel VROC и VMD поддерживаются во всех без исключения процессорах линейки Intel Xeon Scalable, а также в других семействах продуктов, таких как Intel Xeon-D и Intel Xeon-W.

В. Какая часть мощности процессора используется для реализации VROC?

О. Это зависит от ОС, рабочей нагрузки и уровня RAID. 
В Linux Intel VROC — это стек хранилища ядра, не привязанный напрямую к конкретным ядрам, что позволяет масштабировать его в зависимости от требований ввода-вывода к подсистеме хранения. Такой подход позволяет масштабировать производительность по мере увеличения количества подключенных дисков NVMe. При более легких рабочих нагрузках Intel VROC и HBA имеют одинаковое потребление мощностей ЦП. При более тяжелых рабочих нагрузках Intel VROC сильнее загружает ЦП, но одновременно увеличивается и производительность (IOPS / пропускная способность), в то время как HBA становится узким местом, т.к он не имеет возможности масштабирования. 
В Windows загрузка ЦП может быть выше, и производительность не масштабируется из-за особенностей реализации стека хранилища.

В. Есть ли разница в производительности между категориями процессоров? Gold, Silver, Bronze имеют одинаковые преимущества?

О. Различные категории процессоров сами по себе имеют различия в производительности. Производительность VROC пропорциональна производительности выбранного процессора.

В. Существуют ли ограничения для конфигураций с двумя ЦП или VROC должен быть настроен для одного ЦП?

О. VROC может быть включен в серверах как на двух, так и на одном процессоре. Следует иметь в виду, что RAID массив, обслуживаемый несколькими процессорами, может потерять производительность, поэтому по возможности такой конфигурации следует избегать.

В. Сколько линий PCI на ЦП можно использовать для использования накопителя NVMe? У ЦП Intel достаточно линий PCI?

О. Все линии PCIe процессоров Intel Xeon Scalable поддерживают VMD, но фактическое количество линий, доступное для прямого подключения твердотельного накопителя NVMe, зависят от конструкции материнской платы сервера, поэтому оно может отличаться у разных производителей. В целом следует учитывать, что 50% линий PCIe на ЦП можно использовать для подключения SSD-накопителя NVMe.

Производительность

В. Производительность при случайном чтении не увеличивается в 4 раза (до 2,5 МБ) в случае Windows (952 КБ), тогда как в Linux она масштабируется до 2,5 МБ (это отсылка к результатам тестирования, показанным в вебинаре и презентации, см. рисунок ниже). В чем может быть причина такой низкой производительности?

О. Из-за различий в способах работы операционных систем Linux пока предлагает лучшую производительность.

В. Есть ли у вас максимальные результаты производительности (IOPS, произвольное чтение) VROC на 24 устройствах NMVe?

О. На веб-семинаре были представлены некоторые результаты тестов. Если требуется больше информации, обратитесь к поставщику сервера. Некоторые дополнительные результаты производительности можно найти на сайте www.intel.com/vroc в разделе поддержки и документации внизу.

Поддержка производителями платформ и ПО

В. Какой спецификации NVMe соответствует VROC?

О. NVMe 1.4

В. Почему мы видим VROC только на серверах Supermicro и Intel? У других нет технологий или они предпочли не внедрять их?

О. Это неверно. Есть больше поставщиков, поддерживающих VROC, чем Supermicro и сама Intel. Например, Cisco полностью поддерживает эту технологию и предлагает бесключевую реализацию в своем портфеле UCS B и C. Новые разработки с VROC обычно связаны с запуском новых процессоров / платформ от Intel, поэтому следите за поставщиками предпочитаемых вами платформ при запуске новых платформ.

В. Какие поставщики предлагают Intel VROC со своими системами?

О. На сегодняшний день есть несколько поставщиков. Особенности реализации, лицензирования и вариантов интегрированного управления могут отличаться.

Q. 1. Является ли Intel VMD «аппаратной» функцией новых чипов XEON? 
2. Если VMD — это программное обеспечение, можно ли его установить на существующие серверы? 
3. Если VMD присутствует в сервере, можно ли добавить VROC к существующему серверу?

О. VMD является необходимым условием для VROC и является аппаратной функцией ЦП вместе с соответствующими драйверами UEFI и ОС. VMD возможен на процессорах Intel Xeon Scalable, но он также должен поддерживаться материнской платой сервера и ее прошивкой. Лучше всего поговорить с поставщиком вашего сервера.

В. Как VROC или RAID на ЦП справляется с выравниванием износа ячеек SSD?

О. Обычно у поставщиков серверов есть способ показать уровень износа поддерживаемых твердотельных накопителей.

В. Какие версии ядра Linux и Windows поддерживают VROC?

О. Для VROC создана таблица совместимости, размещенная в Интернет по этой ссылке: https://www.intel.com/content/dam/support/us/en/documents/memory-and-storage/ssd-software/Intel_VROC_Supported_Configs_6-3 .pdf

В. Есть ли пример использования VROC для VMware (ESXi)?

О. VROC RAID не поддерживается для ESXi, но VMD обеспечивает для ESXi технологию горячего подключения твердотельных накопителей NVMe и управления их светодиодными индикаторами.

В. Какой ESXi поддерживает VMD (6.5, 7 или оба)? Есть ли прогноз относительно поддержки VROC в будущих выпусках?

О. ESXi поддерживает VMD, начиная с версии 6.5U2, и продолжает поддерживаться выпусками 6.7 и 7.0.

В. Поддерживается ли VROC для ESXi в качестве загрузочного устройства?

О. Нет, ESXi не поддерживается VROC, но VMD поддерживается. В будущих выпусках функциональность ESXi VMD может добавить некоторые возможности RAID.

В. Требуются ли для VROC отдельные драйверы ОС или они поддерживают входящие сообщения (как для Linux, так и для Windows)?

О. В Linux есть поддержка входящих сообщений, и для получения новейших функций рекомендуется использовать последние доступные версии ОС. В некоторых случаях предоставляется драйвер Linux, совместимый с более старыми версиями ОС. В Windows все доставляется через пакет драйверов ОС.

В. Если я правильно понимаю, Intel VROC — это гибридный (программно-аппаратный) RAID. Требуется ли какая-либо утилита ОС, например mdadm, для управления массивом на хосте Linux?

О. Конфигурация VROC управляется многими способами, включая графический интерфейс Intel или инструмент командной строки. В Linux для управления RAID-массивами используется утилита ОС mdadm.

В. В чем преимущество Intel VMD / VROC над Storage Spaces (программный RAID в Windows)?

О. VROC поддерживает как Linux, так и Windows. Он начинает работать еще до загрузки ОС. Соответственно, VROC может реализовать загрузочный RAID.

В. Поддерживает ли VROC JBOD для использования с программно определяемым хранилищем? Можно ли создать RAID1 для загрузки и jbod для vsan или Microsoft, например?

О. Да, эти варианты использования возможны.

Перспективы

В. Планирует ли VROC реализацию NVMe Target (целевое устройство) для подключения внешних хостов?

О. Да, VROC можно включить как целевое устройство NVMe-oF. Хотя это не основной вариант использования VROC, он будет работать. Мы обсуждаем это с клиентами, чтобы понять пробелы и дополнительные функции, чтобы сделать VROC более подходящим.

В. (Речь идет о кэшировании в VROC) Почему в качестве кэширующего накопителя используется SSD Optane, а не модуль памяти Optane?

О. Использование модуля постоянной памяти Optane — это вариант использования, который со временем будет расширяться. Текущая реализация кэширования требует блочного устройства, поэтому использование твердотельного накопителя Intel было более прямым вариантом.


https://sniablog.org/an-faq-on-raid-on-the-cpu/