Lsi megaraid 9460 8i подключение nvme

Обновлено: 04.07.2024


В данной статье мы расскажем про разные способы организации RAID-массивов, а также покажем один из первых аппаратных RAID-контроллеров с поддержкой NVMe.

Все разнообразие применений технологии RAID встречается в серверном сегменте. В клиентском сегменте чаще всего используется исключительно программный RAID0 или RAID1 на два диска.

В этой статье будет краткий обзор технологии RAID, небольшая инструкция по созданию RAID-массивов с помощью трех разных инструментов и сравнение производительности виртуальных дисков при использовании каждого из способов.

Что такое RAID?

RAID (англ. Redundant Array of Independent Disks — избыточный массив независимых (самостоятельных) дисков) — технология виртуализации данных для объединения нескольких физических дисковых устройств в логический модуль для повышения отказоустойчивости и производительности.

Конфигурация дисковых массивов и используемые при этом технологии зависят от выбранного уровня RAID (RAID level). Уровни RAID стандартизированы в спецификации Common RAID Disk Data Format. Она описывает множество уровней RAID, однако самыми распространенными принято считать RAID0, RAID1, RAID5 и RAID6.

RAID0, или Stripes, — это уровень RAID, который объединяет два или более физических диска в один логический. Объем логического диска при этом равен сумме объемов физических дисков, входящих в массив. На этом уровне RAID отсутствует избыточность, а выход из строя одного диска может привести к потере всех данных в виртуальном диске.

Уровень RAID1, или Mirror, создает идентичные копии данных на двух и более дисках. Объем виртуального диска при этом не превышает объема минимального из физических дисков. Данные на виртуальном диске RAID1 будут доступны, пока хотя бы один физический диск из массива работает. Использование RAID1 добавляет избыточности, но является достаточно дорогим решением, так как в массивах из двух и более дисков доступен объем только одного.

Уровень RAID5 решает проблему дороговизны. Для создания массива с уровнем RAID5 необходимо как минимум 3 диска, при этом массив устойчив к выходу из строя одного диска. Данные в RAID5 хранятся блоками с контрольными суммами. Нет строгого деления на диски с данными и диски с контрольными суммами. Контрольные суммы в RAID5 — это результат операции XOR, примененной к N-1 блокам, каждый из которых взят со своего диска.

Хотя RAID-массивы повышают избыточность и предоставляют резервирование, они не подходят для хранения резервных копий.

После краткого экскурса по видам RAID-массивов можно переходить к устройствам и программам, которые позволяют собирать и использовать дисковые массивы.

Виды RAID-контроллеров

Существует два способа создать и использовать RAID-массивы: аппаратный и программный. Мы рассмотрим следующие решения:

  • Linux Software RAID.
  • Intel® Virtual RAID On CPU.
  • LSI MegaRAID 9460-8i.

Linux Software RAID

Программные RAID-массивы в семействе ОС Linux — достаточно распространенное решение как в клиентском сегменте, так и в серверном. Все, что нужно для создания массива, — утилита mdadm и несколько блочных устройств. Единственное требование, которое предъявляет Linux Software RAID к используемым накопителям, — быть блочным устройством, доступным системе.

Отсутствие затрат на оборудование и программное обеспечение — очевидное преимущество данного способа. Linux Software RAID организует дисковые массивы ценой процессорного времени. Список поддерживаемых уровней 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.

Стандартная лицензия VROC позволяет создавать дисковые массивы с 0, 1 и 10 уровнями RAID. Премиальная версия расширяет этот список поддержкой RAID5.

Технология Intel® VROC в современных материнских платах работает совместно с Intel® Volume Management Device (VMD), которая обеспечивает возможность горячей замены для накопителей с интерфейсом NVMe.


Intel® VROC со стандартной лицензией Настройка массивов производится через Setup Utility при загрузке сервера. На вкладке Advanced появляется пункт Intel® Virtual RAID on CPU, в котором можно настроить дисковые массивы.


Создание массива RAID1 на двух накопителях
Технология Intel® VROC имеет свои «козыри в рукаве». Дисковые массивы, собранные с помощью VROC, совместимы с Linux Software RAID. Это означает, что состояние массивов можно отслеживать в /proc/mdstat, а администрировать — через mdadm. Эта «особенность» официально поддерживается Intel. После сборки RAID1 в Setup Utility можно наблюдать синхронизацию накопителей в ОС:

Отметим, что через mdadm нельзя собирать массивы на VROC (собранные массивы будут Linux SW RAID), но можно менять в них диски и разбирать массивы.

LSI MegaRAID 9460-8i


Внешний вид контроллера LSI MegaRAID 9460-8i
RAID-контроллер является самостоятельным аппаратным решением. Контроллер работает только с накопителями, подключенными непосредственно к нему. Данный RAID-контроллер поддерживает до 24 накопителей с интерфейсом NVMe. Именно поддержка NVMe выделяет этот контроллер из множества других.


Главное меню аппаратного контроллера
При использовании режима UEFI настройки контроллера интегрируются в Setup Utility. В сравнении с VROC меню аппаратного контроллера выглядит значительно сложнее.


Создание RAID1 на двух дисках
Объяснение настройки дисковых массивов на аппаратном контроллере является достаточно тонкой темой и может стать поводом для полноценной статьи. Здесь же мы просто ограничимся созданием RAID0 и RAID1 с настройками по умолчанию.

Диски, подключенные в аппаратный контроллер, не видны операционной системе. Вместо этого контроллер «маскирует» все RAID-массивы под SAS-накопители. Накопители, подключенные в контроллер, но не входящие в состав дискового массива, не будут доступны ОС.


Несмотря на маскировку под SAS-накопители, массивы с NVMe будут работать на скорости PCIe. Однако такая особенность позволяет загружаться с NVMe в Legacy.

Тестовый стенд

Каждый из способов организации дисковых массивов имеет свои физические плюсы и минусы. Но есть ли разница в производительности при работе с дисковыми массивами?

Для достижения максимальной справедливости все тесты будут проведены на одном и том же сервере. Его конфигурация:

  • 2x Intel® Xeon® 6240;
  • 12x DDR4-2666 16 GB;
  • LSI MegaRAID 9460-8i;
  • Intel® VROC Standard Hardware Key;
  • 4x Intel® SSD DC P4510 U.2 2TB;
  • 1x Samsung 970 EVO Plus M.2 500GB.

Тестирование

В первую очередь проверим задержки при работе с диском. Тест выполняется в один поток, размер блока 4 КБ. Каждый тест длится 5 минут. Перед началом для соответствующего блочного устройства выставляется none в качестве планировщика I/O. Команда fio выглядит следующим образом:


Из результатов fio мы берем clat 99.00%. Результаты приведены в таблице ниже.

Случайное чтение, мкс Случайная запись, мкс
Диск 112 78
Linux SW RAID, RAID0 113 45
VROC, RAID0 112 46
LSI, RAID0 122 63
Linux SW RAID, RAID1 113 48
VROC, RAID1 113 45
LSI, RAID1 128 89

Помимо задержек при обращении к данным, хочется увидеть производительность виртуальных накопителей и сравнить с производительностью физического диска. Команда для запуска fio:


Производительность измеряется в количестве операций ввода-вывода. Результаты представлены в таблице ниже.

Случайное чтение 1 поток, IOPS Случайная запись 1 поток, IOPS Случайное чтение 128 потоков, IOPS Случайная запись 128 потоков, IOPS
Диск 11300 40700 453000 105000
Linux SW RAID, RAID0 11200 52000 429000 232000
VROC, RAID0 11200 52300 441000 162000
LSI, RAID0 10900 44200 311000 160000
Linux SW RAID, RAID1 10000 48600 395000 147000
VROC, RAID1 10000 54400 378000 244000
LSI, RAID1 11000 34300 229000 248000
Легко заметить, что использование аппаратного контроллера дает увеличение задержек и просадку по производительности в сравнении с программными решениями.

Заключение

Использование аппаратных решений для создания дисковых массивов из двух дисков выглядит нерационально. Тем не менее, существуют задачи, где использование RAID-контроллеров оправдано. С появлением контроллеров с поддержкой интерфейса NVMe у пользователей появляется возможность использовать более быстрые SSD в своих проектах.

RAID-массивы на NVMe

В данной статье мы расскажем про разные способы организации RAID-массивов, а также покажем один из первых аппаратных RAID-контроллеров с поддержкой NVMe.

Все разнообразие применений технологии RAID встречается в серверном сегменте. В клиентском сегменте чаще всего используется исключительно программный RAID0 или RAID1 на два диска.

В этой статье будет краткий обзор технологии RAID, небольшая инструкция по созданию RAID-массивов с помощью трех разных инструментов и сравнение производительности виртуальных дисков при использовании каждого из способов.

Что такое RAID?

Википедия дает исчерпывающее определение технологии RAID:

RAID (англ. Redundant Array of Independent Disks — избыточный массив независимых (самостоятельных) дисков) — технология виртуализации данных для объединения нескольких физических дисковых устройств в логический модуль для повышения отказоустойчивости и производительности.

Конфигурация дисковых массивов и используемые при этом технологии зависят от выбранного уровня RAID (RAID level). Уровни RAID стандартизированы в спецификации Common RAID Disk Data Format. Она описывает множество уровней RAID, однако самыми распространенными принято считать RAID0, RAID1, RAID5 и RAID6.

RAID0, или Stripes, — это уровень RAID, который объединяет два или более физических диска в один логический. Объем логического диска при этом равен сумме объемов физических дисков, входящих в массив. На этом уровне RAID отсутствует избыточность, а выход из строя одного диска может привести к потере всех данных в виртуальном диске.

Уровень RAID1, или Mirror, создает идентичные копии данных на двух и более дисках. Объем виртуального диска при этом не превышает объема минимального из физических дисков. Данные на виртуальном диске RAID1 будут доступны, пока хотя бы один физический диск из массива работает. Использование RAID1 добавляет избыточности, но является достаточно дорогим решением, так как в массивах из двух и более дисков доступен объем только одного.

Уровень RAID5 решает проблему дороговизны. Для создания массива с уровнем RAID5 необходимо как минимум 3 диска, при этом массив устойчив к выходу из строя одного диска. Данные в RAID5 хранятся блоками с контрольными суммами. Нет строгого деления на диски с данными и диски с контрольными суммами. Контрольные суммы в RAID5 — это результат операции XOR, примененной к N-1 блокам, каждый из которых взят со своего диска.

Хотя RAID-массивы повышают избыточность и предоставляют резервирование, они не подходят для хранения резервных копий.

После краткого экскурса по видам RAID-массивов можно переходить к устройствам и программам, которые позволяют собирать и использовать дисковые массивы.

Виды RAID-контроллеров

Существует два способа создать и использовать RAID-массивы: аппаратный и программный. Мы рассмотрим следующие решения:

  • Linux Software RAID.
  • Intel® Virtual RAID On CPU.
  • LSI MegaRAID 9460-8i.

Отметим, что решение Intel® работает на чипсете, из-за чего возникает вопрос, аппаратное это решение или программное. Так, например, гипервизор VMWare ESXi считает VROC программным и не поддерживает официально.

Linux Software RAID

Программные RAID-массивы в семействе ОС Linux — достаточно распространенное решение как в клиентском сегменте, так и в серверном. Все, что нужно для создания массива, — утилита mdadm и несколько блочных устройств. Единственное требование, которое предъявляет Linux Software RAID к используемым накопителям, — быть блочным устройством, доступным системе.

Отсутствие затрат на оборудование и программное обеспечение — очевидное преимущество данного способа. Linux Software RAID организует дисковые массивы ценой процессорного времени. Список поддерживаемых уровней 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.

Стандартная лицензия VROC позволяет создавать дисковые массивы с 0, 1 и 10 уровнями RAID. Премиальная версия расширяет этот список поддержкой RAID5.

Технология Intel® VROC в современных материнских платах работает совместно с Intel® Volume Management Device (VMD), которая обеспечивает возможность горячей замены для накопителей с интерфейсов NVMe.


Intel® VROC со стандартной лицензией

Настройка массивов производится через Setup Utility при загрузке сервера. На вкладке Advanced появляется пункт Intel® Virtual RAID on CPU, в котором можно настроить дисковые массивы.


Создание массива RAID1 на двух накопителях

Технология Intel® VROC имеет свои «козыри в рукаве». Дисковые массивы, собранные с помощью VROC, совместимы с Linux Software RAID. Это означает, что состояние массивов можно отслеживать в /proc/mdstat, а администрировать — через mdadm. Эта «особенность» официально поддерживается Intel. После сборки RAID1 в Setup Utility можно наблюдать синхронизацию накопителей в ОС:

Отметим, что через mdadm нельзя собирать массивы на VROC (собранные массивы будут Linux SW RAID), но можно менять в них диски и разбирать массивы.

LSI MegaRAID 9460-8i


Внешний вид контроллера LSI MegaRAID 9460-8i

RAID-контроллер является самостоятельным аппаратным решением. Контроллер работает только с накопителями, подключенными непосредственно к нему. Данный RAID-контроллер поддерживает до 24 накопителей с интерфейсом NVMe. Именно поддержка NVMe выделяет этот контроллер из множества других.


Главное меню аппаратного контроллера

При использовании режима UEFI настройки контроллера интегрируются в Setup Utility. В сравнении с VROC меню аппаратного контроллера выглядит значительно сложнее.


Создание RAID1 на двух дисках

Объяснение настройки дисковых массивов на аппаратном контроллере является достаточно тонкой темой и может стать поводом для полноценной статьи. Здесь же мы просто ограничимся созданием RAID0 и RAID1 с настройками по умолчанию.

Диски, подключенные в аппаратный контроллер, не видны операционной системе. Вместо этого контроллер «маскирует» все RAID-массивы под SAS-накопители. Накопители, подключенные в контроллер, но не входящие в состав дискового массива, не будут доступны ОС.

Несмотря на маскировку под SAS-накопители, массивы с NVMe будут работать на скорости PCIe. Однако такая особенность позволяет загружаться с NVMe в Legacy.

Тестовый стенд

Каждый из способов организации дисковых массивов имеет свои физические плюсы и минусы. Но есть ли разница в производительности при работе с дисковыми массивами?

Для достижения максимальной справедливости все тесты будут проведены на одном и том же сервере. Его конфигурация:

  • 2x Intel® Xeon® 6240;
  • 12x DDR4-2666 16 GB;
  • LSI MegaRAID 9460-8i;
  • Intel® VROC Standard Hardware Key;
  • 4x Intel® SSD DC P4510 U.2 2TB;
  • 1x Samsung 970 EVO Plus M.2 500GB.

Тестируемыми выступают P4510, из которых одна половина подключена к материнской плате, а вторая — к RAID-контроллеру. На M.2 установлена операционная система Ubuntu 20.04, а тесты будут выполняться при помощи fio версии 3.16.

Тестирование

В первую очередь проверим задержки при работе с диском. Тест выполняется в один поток, размер блока 4 КБ. Каждый тест длится 5 минут. Перед началом для соответствующего блочного устройства выставляется none в качестве планировщика I/O. Команда fio выглядит следующим образом:

Из результатов fio мы берем clat 99.00%. Результаты приведены в таблице ниже.

Случайное чтение, мкс Случайная запись, мкс
Диск 112 78
Linux SW RAID, RAID0 113 45
VROC, RAID0 112 46
LSI, RAID0 122 63
Linux SW RAID, RAID1 113 48
VROC, RAID1 113 45
LSI, RAID1 128 89

Помимо задержек при обращении к данным, хочется увидеть производительность виртуальных накопителей и сравнить с производительностью физического диска. Команда для запуска fio:

Случайное чтение 1 поток, IOPS Случайная запись 1 поток, IOPS Случайное чтение 128 потоков, IOPS Случайная запись 128 потоков, IOPS
Диск 11300 40700 453000 105000
Linux SW RAID, RAID0 11200 52000 429000 232000
VROC, RAID0 11200 52300 441000 162000
LSI, RAID0 10900 44200 311000 160000
Linux SW RAID, RAID1 10000 48600 395000 147000
VROC, RAID1 10000 54400 378000 244000
LSI, RAID1 11000 34300 229000 248000
Легко заметить, что использование аппаратного контроллера дает увеличение задержек и просадку по производительности в сравнении с программными решениями.

Заключение

Использование аппаратных решений для создания дисковых массивов из двух дисков выглядит нерационально. Тем не менее, существуют задачи, где использование RAID-контроллеров оправдано. С появлением контроллеров с поддержкой интерфейса NVMe у пользователей появляется возможность использовать более быстрые SSD в своих проектах.


Серия MegaRAID 94xx Broadcom включает ряд контроллеров на 8 или 16 внутренних или внешних портов. Подключение NVMe накопителей к контроллеру допускается только по внутренним каналам.
Контроллер позволяет подключить до 1024 SAS/SATA и до 24 NVMe устройств.
Непосредственно к контроллеру подключается до 4 штук NVMe накопителей. PCIe коммутатор расширяет это количество до 24 штук.

Основные характеристики контроллеров MegaRAID 94xx Broadcom

ПараметрMegaRAID
9460-16i
MegaRAID
9460-8i
MegaRAID
9480-8i8e
MegaRAID
9440-8i
К-во каналов16 внутренних8 внутренних8 внутренних
8 внешних
8 внутренних
К-во устройств
SAS/SATA/NVMe
SAS/SATA: 240,
NVMe: прямое подключение 8шт x2 или 4шт x4, расширение до 24 x2 или x4
SAS/SATA: 240,
NVMe: прямое подключение 4шт x2 или 2шт x4, расширение до 24 x2 или x4
SAS/SATA: 240,
NVMe: прямое подключение 4шт x2 или 2шт x4, расширение до 24 x2 или x4
SAS/SATA: 63,
NVMe: прямое подключение 4шт x2 или 2шт x4, расширение до 24 x2 или x4
Скорость передачи по каналу PCIe / SAS / SATA8 ГТ/с
12 Гб/с
6 Гб/с
8 ГТ/с
12 Гб/с
6 Гб/с
8 ГТ/с
12 Гб/с
6 Гб/с
8 ГТ/с
12 Гб/с
6 Гб/с
Кэш4 GB, 2133 MHz, DDR4
SDRAM
2 GB, 2133 MHz, DDR4
SDRAM
4 GB, 2133 MHz, DDR4
SDRAM
отсутствует
Хост-интерфейс,
пропускная способность гигатранзакций в сек.
x8 PCIe 3.1,
64 ГТ/с
x8 PCIe 3.1,
64 ГТ/с
x8 PCIe 3.1,
64 ГТ/с
x8 PCIe 3.1,
64 ГТ/с
Разъемы интерфейса4шт SFF-8643 x42шт SFF-8643 x42шт SFF-8643 x4, 2шт SFF-8644 x42шт SFF-8643 x4
Потребляемая мощность, Вт171417,710

Поддержка NVMe

Контроллеры MegaRAID 94xx Broadcom поддерживают спецификацию универсального канала SFF-TA-1001 (Universal Link definition), которая позволяет работать в трех режимах (SATA, SAS, NVMe) по SAS кабелям.
Трех-режимные контроллеры MegaRAID 94xx поддерживают подключение накопителей через объединительную плату корпуса с SAS экспандерами и PCIe коммутаторами.
Контроллеры позволяют смешивать SAS, SATA и NVMe накопители в одном виртуальном диске, но на практике этого делать не рекомендуется.

Подключение

Варианты подключения NVMe устройств к контроллеру серии MegaRAID 94xx приводятся на следующих рисунках:


Прямое подключение x2 NVMe накопителей.
На рисунке показаны восемь дисков x2 NVMe, подключенных непосредственно к контроллеру через объединительную плату (backplane).

Используются соединительные кабели SFF-8643 (x8 Mini SAS HD) – SFF-8639 U.2 Enabler


Прямое подключение x4 NVMe накопителей.
На рисунке показаны четыре диска x4 NVMe, подключенных непосредственно к контроллеру через объединительную плату (backplane).

Используются соединительные кабели SFF-8643 (x8 Mini SAS HD) – 2x SFF-8654 SlimLine или SFF-8643 (x8 Mini SAS HD) – 2x SFF-8611 OCuLink в зависимости от разъема на объединительной плате.


Прямое комбинированное подключение x4 NVMe и x1 SAS накопителей к 16-портовому контроллеру.
Два 4-портовых разъема используются для соединения с двумя x4 NVMe накопителями. К двум 4-портовым разъемам подключены восемь x1 SAS дисков.

Используются интерфейсные кабели:
SFF-8643 (x8 Mini SAS HD) – 2x SFF-8611 OCuLink для подключения двух NVMe накопителей (зеленым);
Два кабеля SFF-8643 (x8 Mini SAS HD) – SFF-8643 (x8 Mini SAS HD) для подключения восьми SAS дисков.

Управление подключенными накопителями NVMe производится обычными утилитами контроллера, которые используются для управления SAS JBOD-массивом.
Контроллер позволяет объединять подключенные NVMe накопители в RAID так же, как SAS диски.


В данной статье мы расскажем про разные способы организации RAID-массивов, а также покажем один из первых аппаратных RAID-контроллеров с поддержкой NVMe.

Все разнообразие применений технологии RAID встречается в серверном сегменте. В клиентском сегменте чаще всего используется исключительно программный RAID0 или RAID1 на два диска.

В этой статье будет краткий обзор технологии RAID, небольшая инструкция по созданию RAID-массивов с помощью трех разных инструментов и сравнение производительности виртуальных дисков при использовании каждого из способов.

Что такое RAID?


Википедия дает исчерпывающее определение технологии RAID:

RAID (англ. Redundant Array of Independent Disks — избыточный массив независимых (самостоятельных) дисков) — технология виртуализации данных для объединения нескольких физических дисковых устройств в логический модуль для повышения отказоустойчивости и производительности.

Конфигурация дисковых массивов и используемые при этом технологии зависят от выбранного уровня RAID (RAID level). Уровни RAID стандартизированы в спецификации

Виды RAID-контроллеров


Существует два способа создать и использовать RAID-массивы: аппаратный и программный. Мы рассмотрим следующие решения:

  • Linux Software RAID.
  • Intel® Virtual RAID On CPU.
  • LSI MegaRAID 9460-8i.

Отметим, что решение Intel® работает на чипсете, из-за чего возникает вопрос, аппаратное это решение или программное. Так, например, гипервизор VMWare ESXi считает VROC программным и не поддерживает официально.

Linux Software RAID


Программные RAID-массивы в семействе ОС Linux — достаточно распространенное решение как в клиентском сегменте, так и в серверном. Все, что нужно для создания массива, — утилита mdadm и несколько блочных устройств. Единственное требование, которое предъявляет Linux Software RAID к используемым накопителям, — быть блочным устройством, доступным системе.

Отсутствие затрат на оборудование и программное обеспечение — очевидное преимущество данного способа. Linux Software RAID организует дисковые массивы ценой процессорного времени. Список поддерживаемых уровней 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.

Стандартная лицензия VROC позволяет создавать дисковые массивы с 0, 1 и 10 уровнями RAID. Премиальная версия расширяет этот список поддержкой RAID5.

Технология Intel® VROC в современных материнских платах работает совместно с Intel® Volume Management Device (VMD), которая обеспечивает возможность горячей замены для накопителей с интерфейсов NVMe.


Intel® VROC со стандартной лицензией
Настройка массивов производится через Setup Utility при загрузке сервера. На вкладке Advanced появляется пункт Intel® Virtual RAID on CPU, в котором можно настроить дисковые массивы.


Создание массива RAID1 на двух накопителях
Технология Intel® VROC имеет свои «козыри в рукаве». Дисковые массивы, собранные с помощью VROC, совместимы с Linux Software RAID. Это означает, что состояние массивов можно отслеживать в /proc/mdstat, а администрировать — через mdadm. Эта «особенность» официально поддерживается Intel. После сборки RAID1 в Setup Utility можно наблюдать синхронизацию накопителей в ОС:

Отметим, что через mdadm нельзя собирать массивы на VROC (собранные массивы будут Linux SW RAID), но можно менять в них диски и разбирать массивы.

LSI MegaRAID 9460-8i


Внешний вид контроллера LSI MegaRAID 9460-8i
RAID-контроллер является самостоятельным аппаратным решением. Контроллер работает только с накопителями, подключенными непосредственно к нему. Данный RAID-контроллер поддерживает до 24 накопителей с интерфейсом NVMe. Именно поддержка NVMe выделяет этот контроллер из множества других.


Главное меню аппаратного контроллера
При использовании режима UEFI настройки контроллера интегрируются в Setup Utility. В сравнении с VROC меню аппаратного контроллера выглядит значительно сложнее.


Создание RAID1 на двух дисках
Объяснение настройки дисковых массивов на аппаратном контроллере является достаточно тонкой темой и может стать поводом для полноценной статьи. Здесь же мы просто ограничимся созданием RAID0 и RAID1 с настройками по умолчанию.

Диски, подключенные в аппаратный контроллер, не видны операционной системе. Вместо этого контроллер «маскирует» все RAID-массивы под SAS-накопители. Накопители, подключенные в контроллер, но не входящие в состав дискового массива, не будут доступны ОС.

Несмотря на маскировку под SAS-накопители, массивы с NVMe будут работать на скорости PCIe. Однако такая особенность позволяет загружаться с NVMe в Legacy.

Тестовый стенд


Каждый из способов организации дисковых массивов имеет свои физические плюсы и минусы. Но есть ли разница в производительности при работе с дисковыми массивами?

Для достижения максимальной справедливости все тесты будут проведены на одном и том же. Его конфигурация:

  • 2x Intel® Xeon® 6240;
  • 12x DDR4-2666 16 GB;
  • LSI MegaRAID 9460-8i;
  • Intel® VROC Standard Hardware Key;
  • 4x Intel® SSD DC P4510 U.2 2TB;
  • 1x Samsung 970 EVO Plus M.2 500GB.

Тестируемыми выступают P4510, из которых одна половина подключена к материнской плате, а вторая — к RAID-контроллеру. На M.2 установлена операционная система Ubuntu 20.04, а тесты будут выполняться при помощи fio версии 3.16.

Тестирование


В первую очередь проверим задержки при работе с диском. Тест выполняется в один поток, размер блока 4 КБ. Каждый тест длится 5 минут. Перед началом для соответствующего блочного устройства выставляется none в качестве планировщика I/O. Команда fio выглядит следующим образом:

Из результатов fio мы берем clat 99.00%. Результаты приведены в таблице ниже.

Случайное чтение, мкс Случайная запись, мкс
Диск 112 78
Linux SW RAID, RAID0 113 45
VROC, RAID0 112 46
LSI, RAID0 122 63
Linux SW RAID, RAID1 113 48
VROC, RAID1 113 45
LSI, RAID1 128 89

Помимо задержек при обращении к данным, хочется увидеть производительность виртуальных накопителей и сравнить с производительностью физического диска. Команда для запуска fio:

Производительность измеряется в количестве операций ввода-вывода. Результаты представлены в таблице ниже.

Случайное чтение 1 поток, IOPS Случайная запись 1 поток, IOPS Случайное чтение 128 потоков, IOPS Случайная запись 128 потоков, IOPS
Диск 11300 40700 453000 105000
Linux SW RAID, RAID0 11200 52000 429000 232000
VROC, RAID0 11200 52300 441000 162000
LSI, RAID0 10900 44200 311000 160000
Linux SW RAID, RAID1 10000 48600 395000 147000
VROC, RAID1 10000 54400 378000 244000
LSI, RAID1 11000 34300 229000 248000

Легко заметить, что использование аппаратного контроллера дает увеличение задержек и просадку по производительности в сравнении с программными решениями.

Заключение


Использование аппаратных решений для создания дисковых массивов из двух дисков выглядит нерационально. Тем не менее, существуют задачи, где использование RAID-контроллеров оправдано. С появлением контроллеров с поддержкой интерфейса NVMe у пользователей появляется возможность использовать более быстрые SSD в своих проектах.


Дисковая NVMe подсистема серверов на платформе Intel Purley


Наконец–то появились в продаже необходимые компоненты для серверов на базе новой платформы Intel Purley. Это 1U и 2U серверные платформы от Intel, долгожданные процессоры Intel Xeon Scalable, RAID контроллеры Tri-Mode SerDes, кабели OCuLink и 2,5" SSD диски c интерфейсом PCIe NVMe. Таким образом, уже с начала 4го квартала 2017 года доступны к заказу серверы VIST Netline на Intel Purley предоставляющие возможность нашим заказчикам получить все преимущества от использования новейших технологий. Как показали последние несколько недель, наибольший интерес у заказчиков вызывает поддержка в новых платформах твердотельных дисков форм-фактора 2,5” c интерфейсом PCIe NVMe. Поэтому именно особенностям дисковой подсистемы в новых серверах посвящается эта статья.

Преимущества 2,5" PCIe NVMe твердотельных дисков


SSD диски с SATA интерфейсом имеют производительность в последовательном чтении порядка 500-550 МБ/сек, у SAS SSD порядка 1000-1800 МБ/сек. На рынке достаточно давно представлены более производительные - 1800-2800 МБ/сек и значительно более дорогие SSD в виде плат вставляемых в разъем PCIe, но их нельзя включить в RAID, да и количество PCIe плат в сервере ограничено, как минимум, количеством свободных PCIe разъемов. 2,5” диски с интерфейсом PCIe NVMe, например Intel серии DC P4500, имеют невероятную производительность по последовательному чтению – 3260-3290 МБ/сек при вполне разумной стоимости. Цены на 2,5” PCIe NVMe SSD сравнимы с ценами SATA дисков аналогичного объема: так SSDPE2KX010T701 DC P4500 1TB, 2.5”, PCIe 3.1 x4

45K руб., а SSDPE2KX020T701 DC P4500 2TB, 2.5”, PCIe 3.1 x4

63K руб. При этом 2,5” PCIe NVMe SSD быстрее SATA SSD в 5-6 раз и имеют более низкое энергопотребление.

Уровень задержек у 2,5” PCIe NVMe SSD значительно ниже, чем у дисков с другими интерфейсами (см. картинку слева - открывается крупнее в новом окне). Это обеспечивается тем, что эти SSD работают «ближе» к процессору.

Итак, суммируя: PCIe NVMe SSD имеют более высокую производительность, самый низкий уровень задержек, отличную ценовую эффективность, возможность объединения в массивы RAID и хорошую масштабируемость, т.к. устанавливаются в стандартные дисковые корзины серверов.

Дисковые корзины серверов с поддержкой PCIe NVMe



В корзине со стороны дисков: универсальные дисковые разъемы U.2, SFF-8639

В серверах на платформе Intel Purley 2,5” PCIe NVMe SSD вставляются в стандартные 2,5”/3,5” дисковые корзины наряду с дисками SAS/SATA. Причем в один и тот же слот можно устанавливать диски с любым из этих интерфейсов. Чтобы обеспечить совместимость, объединительная плата (бэкплейн) дисковой корзины со стороны дисков оснащена универсальными многофункциональными разъемами SFF-8639 формат U.2 позволяющими подключать SAS/SATA/PCIe NVMe диски. Для дисков SAS/SATA достаточно использовать разъемы SFF-8482 или SFF-8680 с меньшим числом контактов, чем SFF-8639. Обратите внимание: имеются реализации бэкплейнов, где только часть дисковых слотов оборудованы разъемами SFF-8639, а в остальные дисковые слоты оснащены разъемами SFF-8482 или SFF-8680 и туда можно устанавливать только диски SAS/SATA.


В корзине со стороны системной платы: разъемы OCuLink, стандарт SFF-8611


На обратной дискам стороне платы бэкплейна вместе с традиционными разъемами HDmSAS, к которым подключались кабели с разъемами SFF-8643, появились новые разъемы OCuLink, к которым подключаются кабели с разъемами SFF-8611. Причем, если через один разъем HDmSAS можно получить доступ к 4м SAS/SATA дискам (поэтому для 8ми дисковых платформ достаточно 2 разъема – SAS/SATA Drives 0-3 и 4-7), то через OCuLink разъем подключается только один диск PCIe NVMe. На бэкплейне 8ми дисковой корзины имеется 8 разъемов OCuLink для 8ми PCIe NVMe SSD обозначенные как PCIe_SSD0 - PCIe_SSD7. Ниже на картинке бэкплейны 1U и 2U платформ R1208, R2208.

Понятно, что в 2U платформах с большим числом 2,5” 8ми местных дисковых корзин, таких как Intel R2208+8 и R2224, количество OCuLink разъемов будет соответственно 16 и 24 шт.

Обратите внимание: в серверных платформах Intel с корзинами 3,5”/2,5” не все дисковые слоты поддерживают установку PCIe NVMe SSD. Так 2U платформа R2312WFxxx позволяет подключать в корзину только 2 шт. PCIe NVMe диска (слоты 10 и 11), а платформы Intel R2308WFxxx R1304WFxxx работают только с SAS/SATA дисками и не поддерживает PCIe NVM подключение.

Подключение кабелей OCuLink от дисковой корзины

Кабели HDmSAS дисков SAS/SATA подключаются также как и в предыдущих поколениях серверных платформ Intel, а вот кабели установленные в разъемы OCuLink дисковой корзины можно далее подключить 3мя способами:

  • в системную плату сервера напрямую;
  • в дополнительную плату 4х или 8ми портового PCIe коммутатора;
  • в RAID контроллер Tri-mode.

Рассмотрим все эти 3 варианта подключения подробнее (картинки ниже по клику открываются крупнее в новом окне):


1. В системных платах Intel семейства S2600WF встроены 4х PCIe OCuLink разъема обозначенные, также как на бэкплейне: PCIe_SSD0 - PCIe_SSD3. Причем PCIe_SSD0 и PCIe_SSD1 подключены к процессору CPU1, а PCIe_SSD2 и PCIe_SSD3 к процессору CPU2. Таким образом, если в сервере установлен только один процессор, можно к системной плате подключить только 2 PCIe NVMe SSD диска.

Для прямого подключения в Intel платформах моделей R1208, R2208, R2208+8 и R2224 нужны кабели «straight OCuLink SFF-8611 - right angle OCuLink SFF-8611», например AXXCBL700CVCR или аналогичные им кабели с прямым и угловым разъемами длинами 470, 530 и 800 мм. Для платформ R2312WFxxx рекомендуются кабели AXXCBL600CVCR.

2. Платы 4х или 8ми портовых PCIe коммутаторов устанавливаются в PCIe cлоты riser карт (плат расширения) сервера и имеют соответственно 4 и 8 разъемов PCIe OCuLink. Очевидно, что эти платы предназначены для платформ R2208, R2208+8 и R2224, где в дисковых корзинах много OCuLink портов, а также имеется большое количество PCIe слотов на 3х riser картах. Обратите внимание, если в сервере установлен только один процессор, то часть PCIe слотов на riser'ах будет недоступна.

Плата 4х портового PCI коммутатора AXXP3SWX08040 низкопрофильная MD2 с шиной PCIe Gen3 x8, а 8ми портового коммутатора AXXP3SWX08080 полноразмерная с такой же PCIe ши ной.

Для подключения OСuLink портов дисковой корзины к OCuLink разъемам плат PCI коммутаторов используются следующие кабели: A2U4PSWCXCXK1 и A2U4PSWCXCXK2 для 4х портового PCI коммутатора

и комплекты из 2х кабелей: A2U8PSWCXCXK1 , A2U8PSWCXCXK2 и A2U8PSWCXCXK3 для 8ми портового PCI коммутатора.

Для управления NVMe дисками, подключенными напрямую к системной плате или к платам PCI коммутаторов, используется технология Intel Volume Management Device for NVMe. Intel VMD обеспечивает корректную работу светодиодных индикаторов на дисковых картриджа и поддержку горячей замены NVMe SSD. Эта функция включается в BIOS системной платы (по умолчанию она выключена). Intel VMD работает только с NVMe SSD подключенными напрямую к процессорам, и не поддерживает работу через PCI линии чипсета PCH системной платы, например с устройствами подключенными в слоты формата M.2. Горячая замена для плат PCI коммутаторов не предусмотрена. Подробнее o Intel VMD в этом документе на стр. 63.

Функционал Intel VMD может быть дополнен технологией Intel Virtual RAID on Chip NVMe RAID. Intel VROC использует технологию RSTe 5.0 для создания программных RAID массивов уровней 0/1/10/5 и позволяет загружать операционную систему с таких массивов. Для работы Intel VROC необходимо установить в системную плату приобретаемый отдельно аппаратный ключ VROCSTANMOD или VROCPREMMOD соответственно со стандартными или премиум функциями Intel RSTe 5.0. При использовании технологии Intel VROC следует обращать внимание на имеющиеся ограничения по расстановке NVMe и SAS/SATA дисков в дисковой корзине. Подробнее o правилах расстановки дисков для работы Intel VROC в этом документе на стр. 94.


3. Tri- Mode SerDes RAID контроллеры SAS/SATA/PCIe NVMe. Единственными на сегодня RAID контроллерами с поддержкой NVMe SSD являются контроллеры от компании Broadcom/LSI серии MegaRAID 94XX. Следует ожидать появления в продаже контроллеров от Intel на базе тех же контроллеров Broadcom/LSI. А вот от компании Microsemi/Adaptec пока ожидать таких контроллеров не стоит. По неофициальной информации следующая 9 серия Microsemi/Adaptec не будет поддерживать NVMe SSD, и лишь в 10й серии (конец 2018г ?) такая поддержка возможно появится. Потратив много времени и сил на переход на приобретенный ранее программный стэк от HP, компания Microsemi/Adaptec похоже потеряла лидерство и проиграла рынок NVMe SSD по крайней мере на год.

RAID контроллеры Broadcom/LSI серии MegaRAID 94XX получили название Tri-Mode SERDES. Tri-Mode - 3х режимные, из-за одновременной поддержки дисков с 3мя интерфейсами SAS, SATA и PCIe NVMe. А аббревиатура SerDes (Serializer/Deserializer) говорит о необходимости преобразования последовательного представления информации в интерфейсах SAS/SATA в параллельную форму в PCIe NVMe и наоборот. Стоит отметить, что при создании серии MegaRAID 94XX компания Broadcom/LSI впервые в своих RAID контроллерах перешла на процессоры ARM вместо PowerPС, что позволило при непревзойденной производительности (6840 МБ/с и 1,7M IOPS) значительно снизить энергопотребление и нагрев чипов. MegaRAID 9460-16i потребляют менее 1,1 Вт на порт (17,7 Вт против 23,2 Вт у 16 портового MegaRAID 93XX контроллера). Broadcom/LSI заявляет о значительном повышении производительности у новых контроллеров при работе только с SAS/SATA по сравнению с предыдущими контроллерами MegaRAID 93XX. Линейка Broadcom/LSI MegaRAID 94XX выглядит так: MegaRAID 9460-16i, MegaRAID 9460-8i, MegaRAID 9440-8i и MegaRAID 9480-8i8e. Поскольку недорогой MegaRAID 9440-8i – не является аппаратным RAID контроллером и поэтому не поддерживает защиту кэш памяти CacheVault, MegaRAID 9480-8i8e с 8ю внешними портами, а NVMe SSD не поддерживаются при установке их в дисковые полки JBOD, стоит ожидать в типовых конфигурациях наибольшую востребованность контроллеров MegaRAID 9460-16i и MegaRAID 9460-8i. Оба эти контроллера оборудованы разъемами, соответственно 4мя и 2мя, под кабели SFF-8643, и требуют кабелей с разъемами OCuLink для подключения к бэкплейну дисковой корзины.


Например таких: Intel AXXCBL700HDCV комплект из двух кабелей 1х dual SFF-8643 - 2х Oculink SFF-8611, 0.7m.

Сразу же по разъемам кабелей видно, что к MegaRAID 9460-8i можно подключить максимум 2 диска NVME PCIe x4, а к MegaRAID 9460-16i - максимум 4 SSD NVME PCIe x4.


Учитывая производительность PCIe х4 NVMe SSD, и то что сам RAID контроллер работает через шину PCIe3.1x8, бОльшее ко личество NVME SSD полностью «выбирает» пропускную способность шины PCIe.

В текущей прошивке MegaRAID 94ХХ не поддерживается режим совместной работы NVME SSD и дисков SAS/SATA, но, начиная с прошивки версии 7.3 (октябрь-ноябрь 2017г) такая поддержка объявлена. Указанные сроки кажутся вполне реальными, т.к. имеющаяся уже сегодня инженерная прошивка MegaRAID 94ХХ успешно работает в режиме mixed mode при совместной работе 2x NVMe и 6х SAS/SATA дисков в одной корзине.

Контроллеры MegaRAID 9460-8i и MegaRAID 9460-16i оснащены соответственно 2я и 4я ГБ кэш памяти DDR4-2133 (процессоры могут поддерживать до 8 ГБ кэша, и есть сведения о возможном выходе контроллера 9460-16i с 8ГБ кэш памяти), которую можно защитить от сбоев электропитания модулем CacheVault CVPM05 устанавливаемым дополнительно. Заявленное значение MTBF для контроллеров MegaRAID 94XX более 3 млн. часов при температуре 40°С.

Дисковая подсистема серверных платформ Intel Purley стала революционной, впрочем, наряду и с другими подсистемами этой платформы. Да, и в своей предыдущей платформе Grantley, корпорация Intel предлагала специальный комплект A2U44X25NVMEDK для серверов 2U с корзиной на 8х 2,5” дисков из которых 4 места предназначались для NVMe SSD, но это было проприетарное нестандартное решение, без поддержки горячей замены и практическом отсутствии на ИТ рынке аппаратных RAID контроллеров с поддержкой PCIe NVMe. Лишь начиная с Intel Purley, NVMe SSD полноценно заняли свое место в дисковой подсистеме серверов, что позволяет уже сейчас воспользоваться всеми преимуществами от новейших технологий.

Для получения подробной информации, пожалуйста, обращайтесь в отдел продаж.

© Александр Матвеев, 2017 Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.

директор по развитию бизнеса ООО «Вист СПб»

Читайте также: