Intel VROC

Intel Virtual RAID on CPU. VROC — это не отдельный контроллер, а программное решение, которое расширяет возможности встроенного в процессор Intel хост-контроллера NVMe.

https://www.intel.com/content/www/us/en/software/virtual-raid-on-cpu-vroc.html
https://www.storagereview.com/intel_virtual_raid_on_cpu_vroc_review/

Обзор Intel VROC

Хост-контроллер процессора поддерживает только четыре накопителя NVMe.
Используя дополнительные платы сопряжения или PCIe коммутаторы в объединительных платах корпусов расширяет это ограничение до 24 и более устройств, но управлять ими процессор не может.

Для управления дополнительными NVMe SSD, а также для обеспечения защиты данных в массиве необходим контроллер.

Intel Virtual RAID on CPU (Intel VROC) — новое корпоративное решение RAID, специально разработанное для твердотельных накопителей NVMe. Оно обеспечивает повышение надежности хранения за счет избыточности, но при этом не снижает производительности канала передачи твердотельных накопителей NVMe.

VROC опирается на технологию, называемую Intel Volume Management Device (Intel VMD).
Совместимый с новейшими процессорами Intel Xeon Scalable, Intel VMD является встроенным контроллером внутри корневого комплекса PCIe центрального процессора. Intel VMD позволяет использовать как физические, так и виртуальные адаптеры HBA для подключенных накопителей NVMe. Intel VMD предоставляет важные функции по обслуживанию SSD, которые упрощены без ущерба для надежности. В частности, благодаря Intel VMD поддерживается горячая замена дисков. Также он управляет индикацией состояния подключенных накопителей.
Intel VMD широко поддерживается в отрасли. Например, драйвер Intel VMD NVMe включен в выпуск VMware ESXi 6.7, который поддерживает управление твердотельными накопителями NVMe в vSAN.

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

Является ли Intel VROC программным или аппаратным RAID?
Intel VROC — это гибридное решение RAID. Он имеет такие атрибуты, как аппаратный RAID, из-за того, что основан на функции под названием Intel Volume Management Device (Intel VMD), которая встроена «в кремний» процессоров Intel Xeon Scalable. Intel Virtual RAID on CPU (VROC) использует Intel VMD для агрегирования твердотельных накопителей NVMe, обеспечивая загрузочный RAID. Intel VROC также имеет такие атрибуты, как программный RAID. Например: он использует некоторые ядра ЦП для расчета логики RAID. Из-за такой комбинации программного обеспечения и микросхемы Intel VROC называют гибридным решением RAID.

Масштабируемый RAID из NVMe SSD

Один процессор Intel Xeon Scalable, использующий Intel VROC, способен поддерживать до 12 твердотельных накопителей NVMe, непосредственно подключенных к ЦП и до 6 массивов RAID. В конфигурациях с двумя процессорами (сокетами) эти числа удваивается.
Максимальное количество NVMe SSD в системе, подключенных через коммутатор PCIe — 48.

Intel VROC поддерживает как загрузочные тома, так и тома данных. Это позволяет использовать один массив как для системы, так и для томов данных. Загрузочный RAID-массив должен находиться в одном контроллере VMD. RAID-массивы данных могут распределяться на несколько контроллеров Intel VMD или даже на разные процессоры в одной системе.

Intel VROC поддерживает различные размеры сектора — 4k, 8k, 16k, 32k, 64k, 128k

Управление Intel VROC

Настройки RAID могут производиться либо с помощью пользовательского графического интерфейса, либо с помощью командной строки.
Массивами можно управлять локально или удаленно с помощью веб-агента RESTful.

Инициализация массива с Intel VROC

BIOS материнской платы не имеет шикарного графического интерфейса управления массивом Intel VROC, но он понятен и достаточно удобен.

Инициализация начинается с создания тома RAID

Затем надо ввести его название, уровень RAID, отметить диски, которые объединяются, размер сектора.

После того, как том создан, можно объявить его загрузочным.

Настройка производительности Intel VROC

По материалам «RAID Performance Analysis on Intel VROC».
White Paper.
Data Center Memory and Storage.

Для максимальной теоретической производительности при миллионах операций в секунду необходимо обеспечить максимальную параллельность обработки запросов. Иначе, это может привести к увеличению количества блокировок и ограничению производительности. Встроенный механизм построения RAID в Intel VROC имеет ограничения на количество операций ввода-вывода в секунду:
— порядка 1 млн. IOPS при управлении одним томом RAID;
— порядка 1,4 млн IOPS при управлении группой томов.

Настройка производительности VROC RAID
Intel VROC RAID многопоточный. По умолчанию он использует 10 активных потоков. Оптимальное количество потоков Intel VROC RAID может сильно отличаться в зависимости от установок и характера нагрузки на систему хранения.

Число используемых Intel VROC RAID потоков можно установить, изменив значение в регистре:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaVROC\Parameters\Device\Threads
Уменьшение количества активных потоков ограничит максимальную производительность дисковой подсистемы.
Увеличение количества потоков может прибавить в производительности системы. Особенно это актуально для нагрузок, присущих параллельной работе с множеством томов. При этом, нельзя выставлять количество потоков большее, чем число ядер процессора, установленного в первом сокете сервера/платформы. Изменение установок регистра вступает в силу после перезагрузки системы.

Управление массивом и накопителями

Благодаря поддержке горячей замены нет необходимости перезагружать сервер для замены неисправного диска.
Используя светодиодный индикатор состояния, администраторы могут визуально определить состояние RAID (нормальное состояние, инициализация, ухудшение или сбой), а также найти конкретный диск в сотнях SSD.
Автоматические уведомления по электронной почте передаются для предупреждения администраторов о событиях, требующих внимания.

Надежный RAID для защиты данных

Для предприятий очень важно защищать данные в случае непредвиденного сбоя питания. Intel VROC делает шаг дальше. Данные остаются безопасными, когда RAID 5 находится в ухудшенном состоянии и одновременно происходит потеря питания.
Большинство решений RAID позволяют избежать этой проблемы, используя резервный блок питания, что добавляет дополнительные расходы. Intel VROC решает эту двойную проблему, используя запатентованное ведение журнала. Наличие резервного источника питания в системе с Intel VROC массивом становится не столь острой необходимостью.
Примечание. Функция двойной защиты от сбоев Intel VROC RAID 5 возможна только с твердотельными накопителями NVMe для центров, имеющих функцию защиты от потери питания.

Варианты поставки Intel VROC

Intel VROC поставляется как физический лицензионный ключ в трех вариантах:
Intel VROC Standard: поддержка RAID 0/1/10 для NVMe SSD сторонних производителей;
Intel VROC Premium: поддержка RAID 0/1/5/10 для NVMe SSD сторонних производителей;
Intel VROC Intel SSD Only: поддержка RAID 0/1/5/10 для NVMe SSD компании Intel. SSD сторонних производителей НЕ ПОДДЕРЖИВАЮТСЯ!

Совместимость VROC

Intel публикует лист совместимости VROC, который включает список протестированных SSD, операционные системы и проверенные аппаратные конфигурации: https://www.intel.com/content/www/us/en/support/articles/000030310/memory-and-storage/ssd-software.html

В сентябре 2020 SNIA провела веб-конференцию, посвященную технологии «RAID на центральном процессоре». По ее итогам возникла масса технических вопросов, ответы на которые мы собрали в заметке Intel VROC. Вопросы и ответы