Технология Intel VROC
Технология Intel VROC – виртуальная организация RAID-массива на процессоре
Эта технология, по существу, позволяет SSD-накопителям обращаться непосредственно к CPU, что полностью снимает необходимость использования карт HBA. Это существенно упрощает как путь перемещения данных, так и аппаратное обеспечение, требующееся для максимизации эффективности NVMe SSD в серверах. Помимо организации RAID-массивов на корпоративном уровне технология Intel VROC предлагает предприятиям ряд практичных решений в части их обслуживания, куда входит предварительная настройка загрузочных RAID-массивов, поддержка «горячего включения» и настройка сигнальных светодиодов.
Чтобы лучше представлять себе, как работает технология Intel VROC, нужно познакомиться с еще одной технологией под названием Intel Volume Management Device (Intel VMD). Блок Intel VMD, совместимый с последними процессорами Intel Xeon Scalable, – это по сути встроенный контроллер, входящий в рут-комплекс PCIe процессора. Он позволяет в большей или меньшей степени виртуализировать HBA-карты, используемые для управления подключенными NVMe SSD. Это важно, поскольку Intel VMD предлагает решения для критических дисков, упрощающие обслуживание, но не снижающие надежность системы. Благодаря Intel VMD можно производить горячую замену NVMe SSD без прерывания работы сервера или его перезагрузки. Intel VMD переадресует события удаления и вставки шины PCIe специальным драйверам RAID-массива накопителей, которые осуществляют управление этими событиями и обеспечивают автовосстановление системы. В случае отказа выяснение – который из накопителей нужно заменить – также является критически важной задачей, представляющей определенную сложность в дата-центрах с десятками или сотнями дисков, которые не всегда стоят в отсеках от соответствующих производителей. Intel VMD поддерживает систему светодиодной сигнализации NVMe LED Management, которая отвечает соответствующим спецификациям для дисков с интерфейсами SATA и SAS с многолетней практикой использования; это помогает определить SSD, нуждающийся в замене. Кроме того, технология Intel VMD широко поддерживается в отрасли: например, компания VMware, специализирующаяся на технологиях виртуализации, предлагает поддержку NVMe драйвера Intel VMD в среде VMware ESXi 6.7, в том числе поддержку управляющих NVMe SSD в vSAN.
Технология Intel VROC базируется на Intel VMD, расширяя картину до RAID-массива NVMe SSD. В настоящее время один процессор Xeon Scalable может поддерживать до 12 непосредственно подключаемых к нему NVMe дисков и до шести RAID-массивов. Двухпроцессорные системы могут поддерживать соответственно 24 диска и 12 массивов. С использованием переключателей процессор может поддерживать до 48 SSD в системе. Intel VROC поддерживает тома данных и загрузочные тома – эти вещи исторически представляют определенную сложность для накопителей с NVMe. Настройки RAID доступны через BIOS или CLI; кроме того, Intel поддерживает как локальный менеджмент, так и удаленный – через RESTful-агент.
Технология Intel VROC продается в виде физического ключа – доступны три SKU. Лицензия Standard поддерживает уровни RAID 0/1/10, в том числе на SSD от сторонних производителей. Лицензия Premium включает также поддержку RAID 5. И еще предлагается лицензия Intel SSD Only, которая, как следует из наименования, поддерживает только диски Intel, но зато весь диапазон опций RAID.
Помимо лицензии, накопителей NVMe SSD и процессоров Xeon Scalable нужен совместимый сервер. Хотя Intel VROC широко поддерживается, некоторые производители серверов предпочитают этой более современной технологии свои собственные технологии управления дисками – на базе карт HBA. В данном обзоре мы остановили свой выбор на компании EchoStreams, все серверные линейки которой поддерживают Intel VROC.
Для своих компактных размеров модель сервера EchoStreams FlacheSAN1N10U-D5 обладает замечательной гибкостью. В нашей системной конфигурации сервер оснащен парой процессоров Intel 8180M, оперативной памятью объемом 64 ГБ и восемью двухтерабайтными NVMe SSD Intel DC P4510. Сервер предлагает три слота PCIe 3.0 x16, позволяющих максимально задействовать потенциал флэш-накопителей общей емкостью до 160 ТБ (10 16-терабайтных NVMe SSD), и три сетевые карты Ethernet 100 Гбит/с.
Конструкция корпуса допускает симметричную компоновку двух процессоров, NVMe SSD и сетевых карт. Возможны также заказные конфигурации с поддержкой других форматов SSD – 15- и 17-мм U.2 и внутренних M.2 SSD, а также Intel Optane. Наконец, можно сделать сервер с двумя 850-ваттными обычными (AC) блоками питания или высокоэффективным блоком питания 48VDC. Для нашей конфигурации с high-end процессорами Intel мощные блоки питания особенно актуальны.
Говоря о дополнительных преимуществах FlacheSAN1N10U-D5, компания EchoStreams указывает сети доставки материалов (CDN, Content Delivery Networks) как основную область применения этого сервера. В настоящее время заказчики используют эти серверы в дата-центрах или терминалах в качестве кэширующих устройств в системе доставки популярного контента конечным пользователям. Кроме того, эту платформу использует ряд университетов для высокопроизводительных вычислений (HPC) и решения сложных научно-исследовательских задач, где вычислительная мощность процессора и пропускная способность накопителей обеспечивают основное преимущество. Помимо этих сценариев, сервер успешно применяется в сфере медиаразвлечений для потоковой постобработки контента, в том числе – совместно с программным обеспечением, предназначенным для повышения эффективности NVMe-накопителей и высокоскоростных сетей.
Спецификации сервера FlacheSAN1N10U-UN
Форм-фактор | 1U |
Процессор | Intel Xeon Scalable, поддержка двух сокетов LGA3647 |
Чипсет | Intel C622 |
Оперативная память | до 1.5 ТБ DDR4 RDIMM/RDIMM/LRDIMM 2666/2400 МГЦ |
Кол-во слотов DIMM | до 16 |
Дисковые отсеки |
Восемь отсеков 2.5” U.2 NVMe с поддержкой горячей замены Два внутренних отсека M.2 NVMe для дисков ОС |
Интерфейсы I/O |
Два порта USB 3.0 Один порт VGA Один порт COM Два порта 1GbE Один порт 1GbE MGMT |
Слоты расширения |
Два слота PCIe 3.0 x16 (полный размер по высоте, половинный по длине) Один слот PCIe 3.0 x16 OCP 2.0 |
Бэкплейны | Пять бэкплейнов с двумя отсеками NVMe |
Поддерживаемые ОС |
Microsoft Windows Server 64-bit 2012/R2 Windows 2016 64-bit Linux RHEL 7.4 SUSE 11 SP4 x64 SUSE 12 SP2 x64 Ubuntu 16.04 x64 Ubuntu 17.04 x64 |
Питание |
Два БП AC/DC 850 Вт или БП повышенной эффективности 48VDC/DC Поддержка пяти 40-мм вентиляторов с функцией Smart Fan Control |
Массогабаритные параметры |
Д x Ш x Г: 27” x 19” x 1.75” Масса: 35 фунтов (15.876 кг, без дисковых накопителей) |
Условия эксплуатации |
Рабочая температура: от 0 до плюс 35 °C Температура хранения и транспортировки: от минус 20 до плюс 70 °C Влажность: от 5 до 95% без конденсации |
Пользовательский интерфейс и особенности настройки
Для настройки Intel VROC материнская плата предлагает не слишком замысловатый и достаточно дружественный пользовательский интерфейс. IT-администраторам, возможно, будет удобнее воспользоваться консольным вводом команд mdadm, и большая часть работы по установке и настройке Intel VROC будет проделана автоматически. IT-профессионалы без труда смогут использовать Intel VROC без загрузки разных дополнительных фишек. На экране BIOS пользователь видит физически доступные диски и может создавать свои RAID-тома.
Далее можно задать имя тома (в данном примере – Volume0), выбрать уровень RAID и включить опцию «RAID spanned over VMD Contr» для обоих VMD-контроллеров Intel.
Когда RAID-массив создан, пользователю предлагается набор действий, например, стереть данный RAID-том или сделать его загрузочным.
Наконец, пользователь может переустановить систему в состояние без RAID или удалить/переместить RAID-данные с дисков.
Когда система настроена и запущена в среде CentOS 7.4, конфигурация RAID-томов готова к использованию. Для томов уровня RAID5/10 вы можете посмотреть статистику фонового процесса инициализации с помощью команды mdstat или, при желании, вручную изменить всю RAID-группу целиком. На уровне BIOS большая часть рутинной работы по настройке и запуску RAID производится автоматически, но сюда не относятся операции удаления/перемещения, которые пользователь осуществляет на дополнительном уровне настройки.
Производительность
Тесты VDBench
Когда речь идет о тестировании накопителей, то тесты с реальными приложениями являются более предпочтительными по сравнению с синтетическими тестами. Но, хотя синтетические бенчмарки неидеальны с точки зрения их соответствия реальным рабочим нагрузкам, с точки зрения повторяемости тестовых задач и нормирования результатов они оказываются удобным инструментом для сравнительного тестирования конкурирующих аналогов. Эти бенчмарки предлагают широкий набор тестовых профилей – от типовых "краеугольных" тестов на перенос баз данных определенного размера до создания копий различных инфраструктур виртуализации рабочего стола (VDI). Во всех тестах используется один и тот же генератор нагрузки vdBench с программным движком, который обеспечивает автоматическую обработку и запись результатов большими кластерами. Это позволяет задавать одну и ту же нагрузку для целого ряда накопителей – как дисковых массивов, так и отдельных дисков.
Тестовые профили
- 4 KБ случайное чтение: 100% (только чтение), 128 потоков, скорость I/O 0-120%
- 4 KБ случайная запись: 100% (только запись), 64 потока, скорость I/O 0-120%
- 64 KБ последовательное чтение: 100% (только чтение), 16 потоков, скорость I/O 0-120%
- 64 KБ последовательная запись: 100% (только запись), 8 потоков, скорость I/O 0-120%
- Синтетические базы данных: SQL и Oracle
- Копирование VDI (полное копирование и создание связанных копий)
- восемь SSD в массиве JBOD;
- две группы по четыре SSD в массиве RAID0;
- две группы по четыре SSD в массиве RAID5;
- две группы по четыре SSD в массиве RAID10.
Представленные ниже данные – это результаты одной и той же восьмерки SSD, сконфигурированной в RAID-массив четырьмя различными способами, перечисленными выше. Это показывает возможности платформы во всем разнообразии RAID-конфигураций, поддерживаемых Intel VROC. Следует отметить, что массив RAID5 в данном обзоре везде демонстрирует относительно низкую скорость записи, что ожидаемо для этого уровня RAID, где применяется распределенное хранение кодов четности для восстановления данных при сбоях.
В тесте на 4-KБ случайное чтение все группы RAID вышли на пиковую скорость с задержками в пределах 1 мс (фактически все задержки находились в пределах 210 мкс). И у всех групп максимальная скорость попадает в интервал от 2.5 до 3 млн IOPS, а первое место занимает массив JBOD со скоростью 2944335 IOPS и задержкой 163 мкс.
Что касается 4-KБ случайной записи, то здесь мы такого единодушия среди различных конфигураций RAID-массивов уже не наблюдаем. Массив RAID5 занимает последнее место с пиковой скоростью 21921 IOPS и задержкой 936.7 мс. Другие группы выступили лучше, а первое место занял массив RAID0 с пиковой скоростью 1879180 IOPS и задержкой 1.35 мс.
Переходим к последовательной нагрузке. В 64-KБ чтении все RAID-группы стартовали мощно с менее чем миллисекундной задержкой; за пределы 1 мс вышел только массив JBOD на скорости около 330 тыс. IOPS (или 22 ГБ/с), а его пиковая скорость составила 363203 IOPS (22.7 ГБ/с) при задержке всего 1.4 мс.
В тесте на скорость последовательной записи группы RAID снова разделились, продемонстрировав очень разную производительность. И опять массив RAID5 выдохся в районе отметки 25 тыс. IOPS при задержке 4.3 мс, а опередил всех массив RAID0 со скоростью 124104 IOPS и задержкой 958 мкс.
Переходим к нагрузке SQL. До скорости примерно 1.4 млн IOPS все RAID-группы шли с задержкой менее 1 мс. В районе указанной отметки у массива RAID5 задержка начала резко возрастать при одновременном падении скорости. Остальные три массива продолжали работать с задержкой менее 1 мс и с такими показателями преодолели отметку 2 млн IOPS. Лучшие результаты снова продемонстрировал массив RAID0: его максимальная скорость составила 2519727 IOPS при задержке 1.45 мс.
В тесте SQL 90-10 мы видим лучший профиль задержки у массива RAID5 с наибольшим значением задержки 302 мкс, однако пиковая скорость при этом составила всего 436439 IOPS. Другие группы успели побить отметку 1.5 млн IOPS, прежде чем их задержка начала превышать 1 мс, а массивы JBOD и RAID10 вскоре после этого вышли на свой пик. Массив RAID0 финишировал с пиковой скоростью 2135362 IOPS и задержкой 1.54 мс.
Похожие результаты и в SQL 80-20: массив RAID5 демонстрирует наименьшие пиковые значения и задержки, и производительности – 345 мкс и 212980 IOPS. Другие группы прошли отметку 1 млн IOPS с задержкой менее 1 мс, после чего массивы JBOD и RAID10 быстро вышли на пик, а RAID0 дошел до отметки 1753622 IOPS с задержкой 1.7 мс.
В бенчмарках Oracle тоже никаких сюрпризов – распределение мест примерно такое же, как и выше. Массив RAID5 первым вышел на пиковую скорость – 61695 IOPS – при задержке 153 мкс. Другие группы с задержкой менее 1 мс практически вместе дошли до отметки 780 тыс. IOPS, после чего сначала отвалился массив RAID10 с пиковой скоростью 954567 IOPS и задержкой 2.63 мс, следом за ним – JBOD с пиковой скоростью 1274172 IOPS и задержкой 4.2 мс, и, наконец, RAID0 с пиковой скоростью 1472338 IOPS и задержкой 2.18 мс.
В Oracle 90-10 первым на пик вышел опять массив RAID5 со скоростью 406693 IOPS и задержкой 255 мкс. Другие массивы с задержкой в пределах 1 мс вышли за отметку 1.5 млн IOPS, за которой финишировали все в том же порядке: RAID10, JBOD и, наконец, RAID0 с чемпионской пиковой скоростью 2110799 IOPS и задержкой 1.55 мс.
В Oracle 80-20 массив RAID5 достиг своего пика на скорости 213479 IOPS с задержкой 327 мкс. Другие группы, прежде чем выйти на пик, успели перейти отметку 1 млн IOPS с задержкой в пределах 1 мс, причем массив RAID0 с такой задержкой дошел до скорости 1.65 млн IOPS, а его пиковая скорость составила 1757722 IOPS при задержке 1.63 мс.
Далее мы переходим к созданию копий VDI – полных и связанных ссылками. Здесь мы продолжаем наблюдать то же распределение результатов, в порядке возрастания пиковой скорости: RAID5, RAID10, JBOD и RAID0. В тесте VDI Full Clone Boot массив RAID5 финишировал первым с пиковой скоростью 288613 IOPS и задержкой 182 мкс. Остальные массивы держались в пределах миллисекундной задержки приблизительно до отметки 1.2 млн IOPS; из них первым на пик вышел массив RAID10 со скоростью 1217620 IOPS и задержкой 2.65 мс, затем – JBOD со скоростью 1314075 IOPS и задержкой 4.19 мс, и, наконец, последним финишировал массив RAID0 с пиковой скоростью 1400765 IOPS и задержкой 2.22 мс.
В тесте VDI FC Initial Login массив RAID5 вышел на пик очень быстро, разогнавшись только до 13296 IOPS при задержке 286 мкс. Остальные массивы достигли скорости 175 тыс. IOPS, прежде чем вышли за пределы миллисекундной задержки. Массив RAID0 держался в пределах 1мс до скорости 390 тыс. IOPS, а его пиковая скорость здесь составила 429692 IOPS при задержке 4.98 мс.
В тесте VDI FC Monday Login массив RAID5 достиг максимума своих возможностей на отметке 15 тыс. IOPS при задержке 262 мкс. Остальные RAID-конфигурации дружно прошли отметку 150 тыс. IOPS, прежде чем задержка начала приближаться к значению 1 мс; массивы RAID10 и JBOD на пиковой скорости имели довольно высокую задержку – 12.8 и 11.7 мс соответственно, хотя сама скорость при этом тоже была впечатляющей – 234431 и 341483 IOPS соответственно. Лучшую производительность продемонстрировал массив RAID0, чья максимальная скорость составила 435641 IOPS при задержке 5.67 мс.
В тестах VDI Linked Clone все RAID-массивы показали намного более сильные результаты. В тесте Boot массив RAID5 достиг пиковой скорости 543680 IOPS при задержке 407 мкс, RAID10 дошел до 782224 IOPS с задержкой 4.76 мс, JBOD – до 822555 IOPS с задержкой 11.52 мс, и RAID0 – до 820998 IOPS с задержкой 4.39 мс.
В тесте VDI LC Initial Login мы получаем показатели производительности в диапазоне от 10998 IOPS и 312 мкс задержки у массива RAID5 до 276814 IOPS и 7.88 мс задержки у массива RAID0.
И, наконец, в тесте VDI LC Monday Login мы продолжаем наблюдать уже знакомую картину: первым финиширует RAID5 с результатами 11591 IOPS и 315 мкс, следом за ним – RAID10 (155 тыс. IOPS и 1.2 мс), затем – JBOD (238 тыс. IOPS и 15.8 мс), и дальше всех – RAID0 (279332 IOPS и 8.06 мс).
Заключение
Итак, в качестве примеров, иллюстрирующих производительность технологии Intel VROC на платформе EchoStreams 1U, мы рассмотрели результаты тестирования четырех различных RAID-конфигураций, каждая из которых работает с совокупными данными восьми одинаковых NVMe SSD (модель Intel P4510). Можно с легкостью назвать "победителем" конфигурацию RAID0, но этот результат вполне объясняется принципом работы этого и других уровней RAID. Давайте начнем с нижней части турнирной таблицы; как можно было заметить с самого начала, массив RAID5 сильно теряет в скорости записи в связи с резервированием одного диска и распределенным хранением кодов четности – и это четко отражается на результатах. При записи в массив RAID10 диски синхронно дублируют друг друга, поэтому потери в скорости, связанные с избыточностью, существенно меньше по сравнению с RAID5. Еще немного быстрее массив JBOD (Just a Bunch Of Disks), который просто объединяет несколько физических дисков в один логический. Массив RAID0 лидирует по скорости, поскольку ориентирован именно на максимизацию производительности и использует преимущество распределенного чтения/записи данных сразу несколькими дисками (striping), однако при этом теряет в надежности, жертвуя возможностью восстановления данных при отказе одного из дисков. Но все приведенные здесь данные тестирования, с учетом особенностей функционала соответствующих опций RAID, подтверждают тот факт, что технология Intel VROC работает хорошо и на платформе с соответствующим уровнем аппаратного обеспечения дает закономерные и стабильные результаты.
Мы не будем подробно разбирать каждый результат в отдельности (четыре RAID-конфигурации дают в общей сложности 64 результата), а вместо этого выделим наиболее яркие моменты. В 4-KБ тестах массив JBOD достиг скорости чтения почти 3 млн IOPS с задержкой, не выходящей за пределы 1 мс, а массив RAID0 вышел на отметку 1.9 млн IOPS с задержкой всего 1.35 мс. В тестах на 64-КБ последовательное чтение/запись мы получили очень приличные скорости – 22.7 и 7.8 ГБ/с соответственно. В тестах SQL мы получили скорости 2.5 млн IOPS, 2.1 млн IOPS (тест 90-10) и 1.75 млн IOPS (тест 80-20) при задержке, не превышающей 1.7 мс. В тестах Oracle были получены скорости 1.47 млн IOPS, 2.1 млн IOPS (тест 90-10) и 1.76 млн IOPS (тест 80-20) при задержке, не превышающей 2.18 мс. Тесты VDI позволили выявить следующие показатели: FC Boot – 1.4 млн IOPS, FC Initial Login – 430 тыс. IOPS, FC Monday Login – 436 тыс. IOPS, LC Boot – 821 тыс. IOPS, LC Initial Login – 277 тыс. IOPS и LC Monday Login – 279 тыс. IOPS.
В конечном счете, технология Intel VROC позволяет производителям готовых систем (например, EchoStreams) упростить организацию RAID-массивов из NVMe SSD. В результате EchoStreams может предложить отличные показатели пропускной способности и задержки без сопутствующего усложнения и удорожания системы. Более того, благодаря дополнительному функционалу Intel VMD заказчики EchoStreams получают системы, отличающиеся большим удобством эксплуатации и обслуживания – они поддерживают горячую замену NVMe SSD, систему светодиодной сигнализации, позволяющую быстро определить неисправный NVMe диск, и опцию предварительно сконфигурированных загрузочных RAID-массивов. Пользовательские сценарии здесь весьма разнообразны, но очевидно, что наибольшие возможности эта система предоставляет сетям CDN; в целом она дает преимущества всем, кто использует RAID-массивы на уровне предприятий, применяя самые быстрые современные накопители и широко распространенные сетевые интерфейсы.
- Комментарии