С RAID1 и RAID10 все в порядке. При использовании RAID0 производительность одинакова с двумя жесткими дисками, но с четырьмя жесткими дисками она на 20 % ниже теоретической. Опять же, недостаточная производительность контроллера в плане IOPS является одним из факторов.
Технология Intel VROC – виртуальная организация RAID-массива на процессоре
Современные твердотельные накопители с интерфейсом NVMe быстро завоевывают признание в центрах обработки данных и становятся основой технологии передачи данных в критически важных приложениях. Интерфейс NVMe обеспечивает более быстрое выполнение флэш-памяти, благодаря чему узкие места в производительности, присущие интерфейсам SATA и SAS, уходят в прошлое. Однако флэш-ускорение ставит новые задачи по организации и управлению хранением данных, и эти задачи бросают вызов традиционным серверным решениям, использующим RAID-контроллеры (HBA) в виде карт расширения. Для управления NVMe SSD на серверах Intel предлагает простое решение — Virtual RAID on CPU или технологию Intel VROC (Virtual RAID on CPU).
Благодаря этой технологии SSD можно адресовать непосредственно к центральному процессору, что полностью устраняет необходимость в картах HBA. Это значительно упрощает как трафик, так и оборудование, необходимое для максимизации производительности NVMe SSD на серверах. В дополнение к оперативной конфигурации RAID, технология Intel VROC предоставляет предприятиям ряд практических решений для обслуживания RAID, включая предварительный выбор загрузочных RAID-массивов, поддержку горячей замены и настройку светодиодных индикаторов тревоги.
Чтобы лучше понять, как работает технология Intel VROC, стоит узнать о другой технологии под названием Intel Volume Management Device (Intel VMD). Intel VMD, совместимый с новейшими процессорами Intel Xeon Scalable, по сути, представляет собой встроенный контроллер, который является частью корневого кластера процессоров PCIe. Это позволяет в большей или меньшей степени виртуализировать HBA, используемые для управления подключенными твердотельными накопителями NVMe. Это важно, поскольку Intel VMD предоставляет критически важные дисковые решения, которые упрощают обслуживание без ущерба для надежности системы. Благодаря Intel VMD диски NVMe SSD можно заменять в горячем режиме, не вызывая простоя или перезагрузки сервера. Intel VMD перенаправляет события удаления и вставки шины PCIe на специальные драйверы RAID-накопителей, которые управляют этими событиями и обеспечивают автоматическое восстановление системы. В случае сбоя поиск диска для замены также является критически важной задачей, что представляет определенную сложность в центрах обработки данных с десятками или сотнями дисков, которые не всегда расположены на соответствующих площадках поставщиков. Intel VMD поддерживает управление светодиодами NVMe, отвечающими соответствующим спецификациям для дисков SATA и SAS с многолетним опытом работы; это помогает выявить SSD, нуждающиеся в замене. Кроме того, технология Intel VMD широко поддерживается в отрасли: Компания VMware, специализирующаяся на виртуализации, например, обеспечивает поддержку драйвера Intel VMD NVMe в средах VMware ESXi 6.7, включая поддержку управления NVMe SSD в vSAN.
Технология Intel VROC основана на технологии Intel VMD и распространяет образ на RAID-массив NVMe SSD. В настоящее время один процессор Xeon Scalable может поддерживать до 12 подключенных напрямую дисков NVMe и до шести RAID-массивов. Системы с двумя процессорами могут поддерживать 24 жестких диска или 12 массивов. С помощью коммутаторов процессор может поддерживать до 48 твердотельных накопителей в системе. Intel VROC поддерживает тома данных и загрузочные тома — в прошлом эти вещи представляли определенную сложность для накопителей NVMe. Конфигурация RAID-массивов возможна через BIOS или интерфейс командной строки (CLI). Кроме того, Intel поддерживает как локальное управление, так и удаленное управление через агент RESTful.
Пользовательский интерфейс и особенности настройки
Для настройки Intel VROC материнская плата предлагает не слишком сложный и вполне дружественный интерфейс. ИТ-администраторам может показаться более удобным использовать команду консольного ввода mdadm, и большая часть работы по установке и настройке Intel VROC будет выполнена автоматически. ИТ-специалисты могут легко использовать Intel VROC без загрузки различных дополнительных функций. Экран BIOS отображает физически доступные жесткие диски и позволяет пользователям создавать собственные тома RAID.
Затем можно назначить имя тома (в данном примере Volume0), выбрать уровень RAID и включить опцию «RAID spanned over VMD Contr» для обоих контроллеров Intel VMD.
После создания RAID-массива пользователь может выбрать ряд действий, например, удалить этот том RAID или загрузить его.
Наконец, пользователь может переустановить систему в режиме без RAID или удалить/переместить данные RAID с жестких дисков.
После настройки и запуска системы в среде CentOS 7.4 конфигурация томов RAID готова к использованию. Для томов RAID5/10 можно использовать команду mdstat для просмотра статистики о процессе инициализации в фоновом режиме или, при желании, вручную изменить всю группу RAID. На уровне BIOS большинство рутинных задач по настройке и загрузке RAID выполняются автоматически, но не операции удаления/перемещения, выполняемые пользователем на дополнительном уровне конфигурации.
Производительность
Тесты VDBench
Для тестов драйверов тестирование с использованием реальных приложений предпочтительнее, чем синтетическое тестирование. Синтетические эталоны не идеальны с точки зрения их соответствия реальным рабочим нагрузкам, но с точки зрения повторяемости и нормализации они являются полезным инструментом для сравнения конкурирующих продуктов. Эти эталоны предлагают широкий спектр профилей тестирования, от общих тестов «capstone» для миграции баз данных определенного размера до репликации различных инфраструктур настольных систем виртуализации (VDI). Во всех тестах используется один и тот же генератор нагрузки vdBench с программным механизмом для автоматической обработки и записи результатов в больших кластерах. Это позволяет задать одинаковую нагрузку для ряда накопителей — как массивов жестких дисков, так и отдельных жестких дисков.
- Случайное чтение 4K: 100% (только чтение), 128 потоков, скорость ввода/вывода 0-120%.
- Случайное чтение 4 КБ: 100% (только запись), 64 потока, скорость ввода/вывода 0-120%.
- Последовательное чтение 64 КБ: 100% (только чтение), 16 потоков, скорость ввода/вывода 0-120%.
- Последовательная запись 64 КБ: 100% (только запись), 8 потоков, скорость ввода/вывода 0-120%.
- Синтетические базы данных: SQL и Oracle
- Репликация VDI (полная копия и связанные копии)
- Восемь твердотельных накопителей в массиве JBOD,
- Две группы по четыре SSD в RAID0,
- Две группы по четыре SSD в RAID5,
- Две группы по четыре SSD в RAID10.
Ниже приведены результаты работы тех же восьми SSD, сконфигурированных в RAID-массив четырьмя вышеупомянутыми способами. Это показывает возможности платформы в разнообразии конфигураций RAID, поддерживаемых Intel VROC. Следует отметить, что RAID5 имеет относительно низкую скорость записи в этом тесте, что вполне ожидаемо для этого уровня RAID, который использует распределенное хранение кода четности для восстановления данных после сбоев.
В тесте случайного чтения 4K все группы RAID достигли скорости в пределах 1 мс (на самом деле, все задержки были в пределах 210 мс), и все группы достигли пика между 2,5 и 3 миллионами IOPS, при этом JBOD занял первое место с 2944335 IOPS и задержкой 163 мс.
Что касается случайной записи 4K, то мы больше не наблюдаем такой согласованности между различными конфигурациями RAID. RAID5 занял последнее место с максимальной производительностью 21921 IOPS и задержкой 936,7 мс. Другие группы справились лучше, и RAID0 занял первое место с 1879180 IOPS и задержкой 1,35 мс.
Двигаясь дальше, мы рассмотрим последовательную нагрузку. При чтении 64K все группы RAID-массивов начали работу с задержкой менее одной миллисекунды; только массив JBOD превысил 1 мс при скорости около 330k IOPS (или 22 ГБ/с), а максимальная скорость составила 363203 IOPS (22,7 ГБ/с) при задержке всего 1,4 мс.
В этом документе рассматриваются ключевые особенности протокола NVMe, оцениваются его сильные и слабые стороны, а также объясняются возможности RAIDIX ERA и сценарии его использования для различных типов приложений.
Возможности и ограничения протокола NVMe
Протокол Non-Volatile Memory Express (NVMe) — это первый протокол, специально разработанный для использования с твердотельными накопителями. Традиционные диски SAS и SATA были разработаны с учетом сложной механики жестких дисков. Эти протоколы используют большое количество служебных команд для надлежащего управления движущимися частями и обеспечения бесперебойной работы.
При использовании флэш-памяти эти команды обычно сложны и избыточны. Протоколы SAS и SATA осуществляют доступ к данным на SSD с помощью технологий HDD, которые не учитывают физические характеристики флэш-памяти. Протокол NVMe, с другой стороны, полагается на эти свойства и использует их для достижения максимальной производительности.
Высокая скорость и низкая задержка
VMe работает с интерфейсом PCIe. Протокол использует набор инструкций PCIe, которые приложения используют для связи с центральным процессором. Это устраняет уровень HBA между жестким диском и центральным процессором, что увеличивает путь передачи данных за счет преобразования команды SAS/SATA в PCIe.
Рисунок 1: Сравнение интерфейсов программирования AHCI и NVMe.
Кроме того, контроллер хранения NVMe может поддерживать до 65 000 очередей данных к процессору, каждая из которых содержит более 65 000 инструкций. Интерфейсы SATA/SAS могут поддерживать только одну очередь из 32 или 254 инструкций.
Эти особенности позволяют твердотельным накопителям NVMe вдвое снизить задержку и многократно увеличить скорость чтения и записи при случайных и смешанных нагрузках по сравнению с традиционными твердотельными накопителями. Это делает твердотельные накопители NVMe основой для эффективной работы с требовательными корпоративными приложениями и технологиями, такими как AI&ML, OLTP, edge computing и др.
NVMe-oF для сетевого доступа к данным
Твердотельные накопители NVMe имеют неоспоримые преимущества перед твердотельными накопителями SATA/SAS при установке непосредственно на сервер на шине PCIe. Однако использование локальных дисков подходит не для всех бизнес-приложений: Она не отвечает минимальным требованиям по отказоустойчивости и имеет ограничения по масштабируемости и гибкости распределения ресурсов.
Поэтому технологию также следует оценивать в контексте использования сети, где NVMe не может доказать свою эффективность из-за распространения протоколов предыдущего поколения. Для решения этой проблемы было разработано расширение NVMe-oF (NVMe Over Fabric), позволяющее использовать NVMe с транспортом Ethernet, Fibre Channel или InfiniBand.
NVMe-oF позволяет приложению на сервере взаимодействовать с внешним массивом NVMe с почти локальной задержкой. Технология также требует высокой производительности сети, но на данном этапе она ограничена возможностями сетевых адаптеров.
Поэтому, чтобы в полной мере воспользоваться преимуществами NVMe в корпоративном сегменте, необходима поддержка NVMe-oF со стороны других элементов существующей инфраструктуры.
Программный RAID для NVMe
Когда речь идет об использовании NVMe вне клиентских устройств, почти во всех сценариях требуется RAID-массив для защиты данных в случае отказа жесткого диска. Это можно сделать с помощью программных средств на уровне операционной системы или аппаратных RAID-контроллеров, к которым подключены диски. Учитывая стоимость жестких дисков, разумным выбором будет RAID 5 или RAID 6.
Однако в этом случае потребуются ресурсы для расчета контрольных сумм, и общая производительность массива будет значительно ниже, чем общая производительность дисков.
1 NVMe | 6 NVMe | 6 NVMe в RAID 6 |
800 000 IOps | 4,800,000 IOps | До 2 400 000 IOps |
В компании Raidix разработали RAIDIX ERA, собственное программное обеспечение RAID для NVMe и SSD, в котором расчет четности учитывает ключевые особенности нового протокола. Это позволяет массиву обеспечивать до 97% общей производительности NVMe.
1 NVMe | 6 NVMe | 6 NVMe в RAID 6 (RAIDIX ERA) |
800 000 IOps | 4,800,000 IOps | 4,600,000 IOps |
Быстрый RAID для Linux
RAIDIX ERA — это модуль ядра Linux, который создает дисковый массив и делает его доступным для клиента как блочное устройство. Благодаря поддержке POSIX API он универсален, поэтому приложения или файловые системы не требуют изменений.
RAIDIX ERA использует технологию параллельных вычислений и беззамковую архитектуру для снижения барьеров внутри массива, что позволяет составному RAID-массиву достигать 10 миллионов IOps и 55 GBps. Массив отличается высокой производительностью и низкой задержкой (< 0.5ms) даже в режиме смешанной нагрузки.
Для обеспечения отказоустойчивости RAIDIX ERA предлагает различные уровни RAID: RAID 1/0/5/6/7.3/50/60/70. При отказе диска массив испытывает минимальное снижение производительности, которое не влияет на работу приложения. Это достигается благодаря инновационному подходу к вычислению векторов при кодировании стиранием.
Рисунок 2: Снимок терминала с результатами тестирования RAIDIX ERA.
Сравнение RAIDIX ERA с другими решениями
Мы разработали RAIDIX ERA с четким пониманием того, что продукт должен быть не только производительным, но и простым в использовании. Поэтому он работает практически на любом серверном оборудовании, не привязан к конкретной марке диска и может быть легко интегрирован в существующее аппаратное и программное решение.
RAIDIX ERA также решает основную проблему программных массивов — чрезмерное потребление вычислительных ресурсов системы. При максимальной производительности массива загрузка процессора составляет не более 20%, а для эффективной работы требуется менее 4 ГБ оперативной памяти. RAIDIX ERA также предоставляет возможность установить скорость потребления оперативной памяти для наиболее эффективного использования системы.
Использование RAIDIX ERA для enterprise-приложений
RAIDIX ERA превращает хранилище NVMe в быстрый, отказоустойчивый массив. Он хорошо подходит для требовательных корпоративных приложений, где задержка и пропускная способность напрямую влияют на производительность внутренней инфраструктуры.
Базы данных для аналитики и исследований
Аналитика больших данных является ключевым аспектом эффективного управления в современных крупных предприятиях и масштабных фундаментальных исследованиях.
Большинство аналитических приложений для таких задач имеют типичную картину загрузки памяти: небольшие и регулярные запросы на запись и постоянные запросы на чтение больших блоков данных. Благодаря высокой пропускной способности (до 55 ГБ/с) RAIDIX ERA позволяет базам данных быстрее передавать требуемые наборы данных аналитическим приложениям. Это повышает общую эффективность всего процесса и сокращает время, необходимое для получения результатов анализа.
Обработка транзакций в режиме реального времени (OLTP)
OLTP-приложения являются одним из важнейших технологических решений в финансовом секторе, в автоматизированных производственных цепочках крупных компаний, в бухгалтерских системах и в системах планирования ресурсов. Что касается инфраструктуры, то для эффективной работы этих приложений требуется низкое время отклика и быстрая обработка множества небольших запросов.
Массив NVMe на базе RAIDIX ERA в качестве внутреннего устройства обеспечивает минимальное время отклика на запросы транзакций и позволяет приложению выполнять больше операций в секунду. Кроме того, производительность остается высокой даже при высокой смешанной рабочей нагрузке.
Производство видео в разрешении 8K
Распространение разрешения 8K, технологии HDR и более высокой частоты кадров — до 60 кадров в секунду — значительно повысило требования к техническому оснащению студий постпроизводства. Хранение видео является здесь самым узким местом, поскольку пропускная способность не только влияет на комфорт и скорость работы экипажа, но и защищает от возможной потери изображения в процессе постпроизводства.
RAIDIX ERA используется в качестве подсистемы хранения данных в решениях для видеопроизводства, обеспечивая высокую производительность чтения/записи для одновременных операций из нескольких монтажных комплексов. Использование RAIDIX ERA позволяет избежать задержек при совместном редактировании и предотвратить возможную потерю кадров во время монтажа.
Edge-компьютинг в IoT
Периферийные или краевые вычисления — это вариант Интернета вещей (IoT), в котором вычислительные ресурсы распределенной системы размещаются в непосредственной близости от датчиков и сенсорных устройств активного объекта. Эта технология используется в беспилотных автомобилях и позволяет искусственному интеллекту получать информацию о дорожных условиях с минимальной задержкой.
RAIDIX ERA используется в беспилотных автомобилях как часть вычислительной платформы. Программное обеспечение управляет массивом NVMe и обеспечивает минимальную задержку и высокую производительность даже при ограниченном количестве дисков.
RAIDIX ERA превращает хранилище NVMe в быстрый, отказоустойчивый массив. Он хорошо подходит для требовательных корпоративных приложений, где задержка и пропускная способность напрямую влияют на производительность внутренней инфраструктуры.
Тестирование 1. Масштабирование производительности при увеличении числа накопителей NVMe. Расчет необходимой мощности процессорной подсистемы
Для тестирования мы использовали двухпроцессорный сервер SuperMicro на базе процессора Intel Xeon Scalable, операционной системы Windows Server 2019 и твердотельного накопителя Intel DC 4610 NVMe емкостью 6,4 ТБ с заявленной производительностью чтения с произвольным доступом 640 kIOPS (блоки 4K). Накопители были подключены через четырехпортовый адаптер NVMe PCIe 3.0 x16.
В этом и последующих тестах мы измеряли производительность только в режиме случайного доступа для чтения, поскольку в этом режиме достигается максимальное количество операций ввода-вывода в секунду. В массиве RAID жесткие диски не подключались; тест проводился в режиме JBOD. Производительность измерялась с помощью утилиты Iometer.
Сначала мы определили, как изменяется производительность жесткой дисковой подсистемы при увеличении количества дисков с одного до четырех и отключении VMD. Мы измерили две различные модели процессоров:
- Два процессора Intel Xeon Gold 6128 (6 ядер на процессор, номинальная мощность 3,4 ГГц),
- Два процессора Intel Xeon Gold 6130 (16 ядер на процессор, тактовая частота 2,1 ГГц).
Результаты испытаний показаны на следующем графике.
С процессорами Intel Xeon Gold 6130 общая производительность модулей увеличивается линейно, при этом загрузка процессора (синяя линия) составляет менее 50 % для четырех модулей.
С процессорами Intel Xeon Gold 6128 производительность на 10-25% ниже во всех случаях, а загрузка процессора составляет 100% (красная линия) при использовании четырех дисков. Очевидно, что производительности этих процессоров недостаточно для полного использования дисков.
По результатам тестирования можно сделать вывод, что с увеличением количества дисков NVMe общая производительность увеличивается в несколько раз при условии достаточной мощности процессора.
Попробуем сформулировать правило для определения необходимой мощности процессора, когда известна общая мощность накопителя.
В следующей таблице приведены результаты тестирования процессора Intel Xeon Gold 6130.
Количество жестких дисков | Общая производительность (kIOPS) | Загрузка процессора (%) |
1 | 680 | 12.7 |
2 | 1410 | 25.2 |
3 | 2140 | 37.9 |
4 | 2720 | 50.4 |
Из таблицы видно, что с увеличением количества модулей общая мощность и общая загрузка процессора увеличиваются линейно. При использовании четырех дисков нагрузка на ЦП составляет 50% от общих ресурсов подсистемы ЦП. Этот уровень нагрузки является оптимальным для дисковой подсистемы, поскольку у центрального процессора достаточно свободных ресурсов для других операций. Даже при такой загрузке процессора производительность модулей не снижается.
Тестирование 2. Влияние технологии VMD на производительность накопителей NVMe.
Мы провели этот и следующие тесты на платформе Intel R1208WF с двумя процессорами Intel Xeon Silver 4114 (10 ядер на процессор, номинальная мощность 2,2 ГГц) и жесткими дисками Intel DC P4510 объемом 1 ТБ с заявленной производительностью чтения/записи 465 kIOPS (блоки 4K). Диски были подключены непосредственно к разъемам OCuLink на материнской плате сервера, а не через карту расширения, как это было в первом тесте.
Целью теста было посмотреть, как влияет на производительность подсистемы жесткого диска включение режима VMD.
Как и в первом тесте, мы измерили общую производительность дисков, не объединяя их в RAID-массив. Результаты с отключенным и включенным VMD показаны на следующем графике.
Как мы видим, поддержка VMD не бесплатна — потери производительности составляют от 10 до 25 %. Тем не менее, он обеспечивает горячую замену дисков, правильную работу светодиодных индикаторов состояния дисков и поддержку RAID-массивов.
Примечания. Более высокая производительность, чем указанная, объясняется тем, что Intel указывает производительность дисков в «устойчивом состоянии», когда диск заполнен на 100%, в то время как мы тестировали новые диски прямо из коробки.
Тестирование 3. Производительность RAID-массивов на базе технологии VMD
Теперь давайте посмотрим на производительность RAID-массивов, созданных с помощью технологии VMD. Мы протестировали RAID0 и RAID1 с двумя дисками и RAID0 и RAID 10 с четырьмя дисками. Для наглядности в диаграммы были включены данные второго теста без RAID-массива (режим JBOD).
Производительность чтения при случайном доступе (100%):
Производительность RAID-массива при чтении сравнима с производительностью одиночного диска.
Производительность записи при случайном доступе (100%):
Здесь изображение лучше. При использовании двух жестких дисков в RAID0 производительность вдвое выше, чем у одного диска, а при использовании RAID1 она также высока (данные записываются дважды на оба жестких диска при зеркалировании, поэтому производительность как у одного диска). При использовании четырех жестких дисков производительность уже не соответствует теории, хотя и здесь картина гораздо лучше, чем при чтении. В режиме RAID алгоритмы VMD, похоже, пока имеют предел производительности в 700 kIOPS.
Вывод: RAID-массивы, основанные на технологии VMD, обеспечивают преимущества в производительности только при операциях записи.
RAIDIX ERA использует технологию параллельных вычислений и беззамковую архитектуру для снижения барьеров внутри массива, что позволяет составному RAID-массиву достигать 10 миллионов IOps и 55 GBps. Массив отличается высокой производительностью и низкой задержкой (< 0.5ms) даже в режиме смешанной нагрузки.
Группа из 12 NVMe SSD (JBOD)
Другая отправная точка — несколько жестких дисков, которые еще не объединены в массив. Это необходимо для сравнения производительности. JBOD — это массив жестких дисков без полос (в отличие от RAID0), в котором единое логическое пространство хранения последовательно распределяется по жестким дискам.
Сравнительные результаты IOPS для одного твердотельного накопителя NVMe и группы из 12 накопителей представлены в таблице и на графике ниже:
4k чтение/запись | 0/100 | 5/95 | 35/65 | 50/50 | 65/35 | 95/5 | 100/0 |
12xNVMe | 1 363 079 | 1 562 345 | 1 944 105 | 2 047 612 | 2 176 476 | 3 441 311 | 4 202 364 |
1xNVMe | 84 018 | 91 394 | 117 272 | 133 059 | 175 087 | 281 131 | 390 969 |
Производительность одного и двенадцати NVMe SSD, IOPS для операций блоками 4k
Производительность 12-дисковой NVMe-подсистемы увеличивается почти линейно с ростом числа дисков: последовательная запись 1 МБ — 8612 МБ/с. Последовательное чтение 1 МБ — 20481 МБ/с. Последовательная запись 128 Кб — 7500 Мб/с. Последовательное чтение 128 Кб — 20400 МБ/с.
Программные RAID средствами ОС и файловой системы
Стоимость решения: низкая (бесплатно). Операционная система: Linux. Производительность: приемлемая (RAID0, предпочтение чтению), низкая (RAID5, 6, предпочтение записи). Используется: Кэш, системный кэш, основная память малой емкости и зеркальная защита (RAID1, RAID10).
Производительность программных реализаций RAID рассматривается в статье «Сравнение производительности программного обеспечения RAID».
Наиболее благоприятными являются решения, основанные на утилите mdadm операционной системы Linux и интегрированных функциях файловой системы ZFX. С точки зрения производительности, только RAID0 mdadm можно рекомендовать для использования в качестве кэша или временного диска, а RAID6 mdadm — для основного хранилища с 90-100% операций чтения.
Решение на Intel VROC
Стоимость решения: низкая. Операционная система. Производительность: средняя (RAID0, 1, 10), низкая (RAID5) Используется: Кэш, системный кэш, первичное хранилище.
Не очень дорогие (15-30 тыс.) на уровне водителя. Позволяет использовать RAID0, 1, 10 (стандартная конфигурация) или даже RAID5 (премиум).
На графике ниже показаны результаты тестирования системы из 24 твердотельных накопителей Ultrastar DC SN620 NVMe в массиве RAID5 с Intel VROC.
IOPS для 24 NVMe SSD Ultrastar DC SN620 Ultrastar DC SN620 в массиве RAID5 с Intel VROC, 4k
IOPS очень резко падает (в восемь раз), когда соотношение чтения и записи составляет 90/10. Еще трехкратное падение происходит при увеличении коэффициента записи до 30%.
Еще одно исследование производительности систем NVMe представлено в журнале StorageReview. Была протестирована система с восемью твердотельными накопителями Intel DC P4510 NVMe под управлением Intel VROC.
Презентация имеет другую систему координат и другое представление результатов. Вывод статьи таков: «Intel VROC реализован правильно и обеспечивает ожидаемые результаты на хорошо спроектированной платформе». Однако в сводку не включена производительность RAID5, так как она низкая.
Вот один из слайдов из результатов теста «SQL 90-10» (чтение-запись).
Результаты тестирования производительности VROC с сайта https://www.storagereview.com/intel_virtual_raid_on_cpu_vroc_review/
Стоимость решения: низкая. Операционная система. Производительность: средняя (RAID0, 1, 10), низкая (RAID5) Используется: Кэш, системный кэш, первичное хранилище.
Обзор и тестирование материнской платы Gigabyte X399 Aorus Gaming 7 (страница 8)
Процессоры AMD Ryzen Threadripper предлагают не только мощные ядра, но и отличную связь с периферийными устройствами. Благодаря этому производители материнских плат выпустили для платформы Socket TR4 решения с богатым набором функций, превосходящие конкурентов. На этот раз мы рассмотрим модель, которую сама компания называет бескомпромиссным решением для требовательных пользователей.
Страницы продуктов
Тестовый стенд
Gigabyte X399 Aorus Gaming 7 тестировалась со следующей конфигурацией:
Используемая испытательная установка состояла из следующих компонентов:
- Процессор: AMD Ryzen Threadripper 1950X (образец для разработки),
- Система охлаждения: кулер Thermaltake Water 3.0 Ultimate (CL-W007-PL12BL-A),
- Термоинтерфейс: Arctic Cooling MX-2,
- Оперативная память:
- 2 x 4GB G.Skill Ripjaws V DDR4-4000 (19-21-21-41 1.35V; Samsung E-Die; F4-4000C19D-8GVK),
- 2 x 4GB Samsung DDR4-2133 (15-15-15-36; 1.20V; Samsung E-Die; M378A5143EB1-CPBD0),
- SmartBuy Splash 2 240GB (88NV1120 + TLC 3D 384GB Micron + V3.4),
- Toshiba OCZ Trion 150 960GB (Phison S10 + 15-нм 128Gbit TLC TogleNAND Toshiba + SAFZ12.3; из этого обзора),
- 2 x Samsung SM961 128GB (Samsung Polaris + MLC 3D V-NAND Samsung + CXZ7300Q; из этого отчета),
Практическая эксплуатация
Итак, сборка RAID-массива. Работа для любопытных экспериментаторов, не меньше. Сам процесс довольно длительный и неоднозначный, с рядом неочевидных сюрпризов.
Установите два твердотельных накопителя (их также можно установить через адаптеры в слоты PEG, если они формата M.2). Войдите в BIOS. В разделе «Chipset» измените параметр «NVMe RAID mode» на «Enabled», а в разделе «BIOS» измените параметр «CSM Support» на «Disabled».
Кстати, последнее действие одновременно отключает загрузку жестких дисков, размеченных в режиме MBR. После этого вы сможете загружаться только с жестких дисков GPT. Нажмите F10 и Enter на клавиатуре, сохраните изменения и перезагрузите систему.
Вернитесь в BIOS и найдите новый подраздел RAIDXpert2 Configuration Utility в разделе Peripherals, введите его, а затем Array Management:
Выберите Создать массив.
Select RAID Level — выберите нужный режим (наша цель — самый скоростной RAID0), Select Physical Disk переводит нас в подраздел, где нам нужно выбрать тип носителя (SSD) и включить наши два PCIe SSD (выберите Enabled), затем сохраните изменения, нажав Apply Changes.
Затем вернитесь к предыдущему подразделу и нажмите кнопку Create Array (Создать массив).
В результате мы получаем массив.
На этом процесс завершен, но мы можем просмотреть другие подразделы, потому что их много.
После процесса настройки и подготовки массива в BIOS мы начинаем установку Windows 10 x64 Fall Creators Updates, выделяя два диска на этапе выбора места установки.
Различные применения технологии RAID находят в сегменте серверов. Клиентский сегмент использует исключительно программное обеспечение RAID0 или RAID1 на двух дисках.
Что такое RAID?
RAID (Redundant Array of Independent Disks) — это технология виртуализации данных, которая объединяет несколько физических жестких дисков в один логический диск для повышения отказоустойчивости и производительности.
Конфигурация массивов жестких дисков и соответствующие технологии зависят от выбранного уровня RAID. Уровни RAID стандартизированы в спецификации Common RAID Disk Data Format. Существует множество уровней RAID, но наиболее распространенными являются RAID0, RAID1, RAID5 и RAID6.
RAID0 или Stripes — это уровень RAID, который объединяет два или более физических диска в один логический диск. Объем логического диска равен сумме объемов физических дисков, составляющих массив. Этот уровень RAID не имеет избыточности, и отказ одного жесткого диска может привести к потере всех данных на виртуальном жестком диске.
RAID1 или зеркальный уровень создает идентичные копии данных на двух или более жестких дисках. Размер виртуального жесткого диска не превышает минимальный размер физического жесткого диска. Данные на виртуальном жестком диске RAID1 доступны до тех пор, пока работает хотя бы один физический жесткий диск в массиве. Использование RAID1 обеспечивает дополнительную избыточность, но является довольно дорогим, поскольку в массивах с двумя и более жесткими дисками доступна только емкость одного жесткого диска.
Уровень RAID5 решает проблему стоимости. Для создания массива RAID5 требуется минимум 3 жестких диска, и массив устойчив к выходу из строя одного жесткого диска. Данные в RAID5 хранятся в блоках с контрольной суммой. Строгого разделения между дисками данных и контрольных сумм не существует. Контрольные суммы RAID5 являются результатом операции XOR, применяемой к N-1 блокам, каждый из которых поступает с отдельного жесткого диска.
Хотя массивы RAID увеличивают избыточность и обеспечивают резервирование, они не подходят для резервного копирования данных.
После краткого обсуждения типов RAID-массивов мы можем перейти к устройствам и программному обеспечению, которые позволяют создавать и использовать массивы жестких дисков.
Виды RAID-контроллеров
Существует два способа создания и использования RAID-массивов: Аппаратное и программное обеспечение. Мы рассмотрим следующие решения:
- Программное обеспечение Linux RAID.
- Intel® Virtual RAID на центральном процессоре.
- LSI MegaRAID 9460-8i.
Linux Software RAID
Программное обеспечение RAID в семействе операционных систем Linux является довольно распространенным решением как в клиентском, так и в серверном пространстве. Все, что вам нужно для создания массива, — это утилита mdadm и несколько блочных устройств. Единственное требование, которое Linux Software RAID предъявляет к используемым дискам, заключается в том, что в системе должно быть доступно блочное устройство.
Тот факт, что нет затрат на оборудование или программное обеспечение, является явным преимуществом этого метода. Программный RAID в Linux организует дисковые массивы за счет процессорного времени. Список поддерживаемых уровней RAID и текущее состояние дискового массива можно найти в файле mdstat в корневом каталоге procfs:
Поддержка уровня RAID добавляется, например, путем добавления соответствующего модуля ядра:
Все операции с дисковыми массивами выполняются с помощью утилиты командной строки mdadm. Дисковый массив собирается с помощью одной команды:
После выполнения этой команды в системе появляется блочное устройство /dev/md0, представляющее собой виртуальный жесткий диск.
Intel® Virtual RAID On CPU
Intel® VROC Standard Hardware Key Intel® Virtual RAID On CPU (VROC) — это программно-аппаратная технология для создания RAID-массивов с чипсетами Intel®. Эта технология в основном доступна на материнских платах, поддерживающих процессоры Intel® Xeon® Scalable. По умолчанию VROC недоступен. Для активации требуется аппаратный лицензионный ключ VROC.
Стандартная лицензия ВРОК позволяет создавать RAID-массивы уровней 0, 1 и 10. В премиум-версии этот список расширен и включает RAID5.
Технология Intel® VROC на современных материнских платах работает с устройством Intel® Volume Management Device (VMD), которое обеспечивает возможность горячей замены для дисков NVMe.
Intel® VROC со стандартными лицензионными массивами настраивается с помощью утилиты Setup Utility при запуске сервера. На вкладке Advanced отображается Intel® Virtual RAID on CPU, где можно настроить дисковые массивы.
Создание массива RAID1 на двух дисках Технология Intel® VROC имеет множество хитростей в своем рукаве. Массивы жестких дисков, созданные с помощью VROC, совместимы с программным обеспечением Linux RAID. Это означает, что состояние массивов можно отслеживать в /proc/mdstat и управлять ими через mdadm. Эта «функция» официально поддерживается компанией Intel. После создания RAID1 в программе установки вы можете наблюдать синхронизацию дисков в операционной системе:
Обратите внимание, что вы не можете создавать массивы в ВРОК с помощью mdadm (созданные массивы являются Linux SW RAID), но вы можете изменять диски в них и декомпозировать массивы.
LSI MegaRAID 9460-8i
RAID-контроллер LSI MegaRAID 9460-8i представляет собой отдельное аппаратное решение. Контроллер работает только с жесткими дисками, которые подключены к нему напрямую. Этот RAID-контроллер поддерживает до 24 дисков с интерфейсом NVMe. Поддержка NVMe — это то, что отличает этот контроллер от многих других.
Тестовый стенд
Конечно, у каждого способа организации дисковых массивов есть свои плюсы и минусы. Но есть ли разница в производительности при работе с дисковыми массивами?
Для обеспечения максимальной справедливости все тесты проводятся на одном и том же сервере. Конфигурация:
- 2x Intel® Xeon® 6240,
- 12x DDR4-2666 16 ГБ,
- LSI MegaRAID 9460-8i,
- Стандартный аппаратный ключ Intel® VROC,
- 4x Intel® SSD DC P4510 U.2TB,
- 1x Samsung 970 EVO Plus M.2 500GB.