nvme raid mode что это в биосе gigabyte

Программный RAID раскрывает возможности NVMe для enterprise-задач

Основные положения

Появление протокола NVMe расширило горизонты возможностей для систем хранения данных. Новые накопители не только сохраняют все полезные свойства традиционных SSD, но и демонстрируют совершенно новый уровень производительности и времени отклика.

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

При этом повсеместное распространение NVMe-накопителей имеет ряд объективных ограничений, с которыми сталкиваются все производители СХД и системные интеграторы. Для enterprise-сегмента критически важным является отказоустойчивость массива и использование технологии NVMe-oF для его сетевого подключения к клиентам.

Существующие программные и аппаратные технологии создания отказоустойчивых массивов либо используют чрезмерную избыточность в виде зеркалирования, либо теряют до 65% производительности при работе в RAID 5 или RAID 6. При этом далеко не все из них имеют возможность реализовать функционал сетевого доступа к накопителям через NVMe-oF.

RAIDIX ERA является программным массивом, который разрабатывался с учетом всех особенностей NVMe. Благодаря ряду технологических инноваций и внимательному отношению к возможностям нового протокола, наш программный RAID способен продемонстрировать в RAID 6 до 97% суммарной производительности накопителей, обеспечивая минимальное время задержки даже в условиях смешанных нагрузок.

В этом документе мы рассмотрим основные особенности протокола NVMe, оценим его сильные стороны и недостатки, расскажем о возможностях RAIDIX ERA и сценариях его использования с различными типами прикладных приложений.

Возможности и ограничения протокола NVMe

Протокол NVMe (Non-Volatile Memory Express) — это первый протокол, созданный специально для работы с твердотельными накопителями. Традиционные SAS и SATA разрабатывались с учетом сложной механики жесткого диска. Эти протоколы используют большое количество служебных команд, необходимых для корректного управления подвижными элементами и их бесперебойную работу.

Для flash-памяти такие команды обычно сложны и избыточны. SAS и SATA протоколы обращаются к данным на SSD по процедуре работы с жесткими дисками, которая не учитывает физические особенности flash-памяти. Протокол NVMe, наоборот, опирается на эти особенности и использует их для достижения максимальной производительности.

Высокая скорость и низкая задержка

VMe работает на основе интерфейса PCIe. Протокол использует набор PCIe команд, с помощью которых приложения взаимодействуют с центральным процессором. Благодаря этому между накопителем и CPU нет уровня HBA, который увеличивает data path за счет преобразования SAS/SATA команды в PCIe.

Рисунок 1. Сравнение программных интерфейсов AHCI и NVMe

Помимо этого контроллер NVMe-накопителя поддерживает до 65 тысяч очередей передачи данных в процессор, каждая из которых может содержать более 65 тысяч команд. В SATA/SAS интерфейсах возможна лишь одна очередь с 32 или 254 командами соответственно.

Такие характеристики позволяют NVMe SSD снизить уровень задержки в два раза и в несколько раз увеличить скорость чтения и записи на случайных и смешанных нагрузках по сравнению с традиционными SSD. Благодаря этому NVMe-накопители являются основой для эффективной работы с требовательными бизнес-приложениями и такими технологиями как AI & ML, OLTP, Edge-computing и др.

NVMe-oF для сетевого доступа к данным

NVMe SSD имеет неоспоримые преимущества над SATA/SAS SSD при прямом размещении в сервере на шине PCIe. Но локальное использование накопителей подходит далеко не для всех бизнес-задач: при нем не выполняются минимальные требования по отказоустойчивости, и существуют ограничения по масштабированию и гибкости распределения ресурсов.

Поэтому технологию стоит оценивать также в контексте сетевого использования, где из-за распространения протоколов предыдущего поколения NVMe не может демонстрировать свою эффективность. Для решения этой задачи разработано расширение NVMe-oF (NVMe Over Fabric), которое позволяет использовать NVMe с транспортом Ethernet, Fiber Channel или InfiniBand.

NVMe-oF позволяет приложению на сервере взаимодействовать с внешним NVMe-массивом практически с локальным уровнем задержки. Технология предполагает также сохранение высокой производительности в сети, но на данным этапе это ограничивается возможностями сетевых адаптеров.

Поэтому для полноценного использования протокола NVMe в enterprise-сегменте важнейшим условием является поддержка 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 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 использует технологию параллелизации вычислений и lockless-архитектуру для снижения барьеров внутри массива, благодаря чему собранный RAID может демонстрировать скорость работы до 10M IOps и 55 GBps. Массив сохраняет высокую производительность и низкую задержку ( Рисунок 2. Скриншот терминала с результатами тестирования RAIDIX ERA

Читайте также:  сколько дней до события калькулятор

Сравнение RAIDIX ERA с другими решениями

Мы разрабатывали RAIDIX ERA с четким пониманием того, что продукт должен быть не только производительным, но и удобным для использования. Именно поэтому он свободно работает практически на любом серверном оборудовании, не привязан к какому-то определенному бренду накопителей и легко встраивается в состав уже существующего программно-аппаратного решения.

Также в RAIDIX ERA решена главная проблема программных массивов — чрезмерное потребление вычислительных ресурсов системы. При максимальной производительности массива нагрузка на CPU не превышает 20%, а для эффективной работы требуется менее 4 GB оперативной памяти. Также для более эффективного использования системы в RAIDIX ERA предусмотрена возможность выставления процента потребления RAM.

Аппаратный RAID-контроллер Программный RAID RAIDIX ERA
Производительность Средняя Средняя Высокая
Приобретение оборудования Да Нет Нет
Физический износ и моральное устаревание Да Нет Нет
Неограниченное кол-во подключаемых накопителей Нет Да Да
Поддержка NVMe-oF Нет Да Да
Использование ресурсов RAM Высокое Низкое
Использование ресурсов CPU Высокое Низкое
Настройка приоритета использования вычислительных ресурсов Нет Да
Совместимость с различными серверными платформами Нет Да Да
Совместимость с накопителями любых производителей Нет Да Да
Легкая интеграция в решение другого вендора Нет Опционально Да

Использование RAIDIX ERA для enterprise-приложений

RAIDIX ERA позволяет создавать из NVMe-накопителей быстрый массив с высокими показателями отказоустойчивости. Он хорошо подходит для работы с требовательными enterprise-приложениями, эффективность которых напрямую зависит от времени задержки и пропускной способности back-end инфраструктуры.

Базы данных для аналитики и исследований

Анализ больших массивов данных является ключевым аспектом эффективного управления в крупных современных предприятиях и при проведении масштабных фундаментальных исследований.

Большинство аналитических приложений для таких задач имеют характерный паттерн нагрузки на систему хранения: небольшие и регулярные запросы на запись и постоянные запросы на чтение больших блоков данных. За счет высокой пропускной способности (до 55 ГБ/с) RAIDIX ERA позволяет базам данных быстрее передавать аналитическим приложениям запрашиваемые массивы данных. Это повышает итоговую эффективность всего процесса и сокращает время получения аналитических результатов.

Обработка транзакций в режиме реального времени (OLTP)

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

NVMe-массив на базе RAIDIX ERA в качестве back-end устройства обеспечивает минимальное время отклика для транзакционных запросов и позволяет приложению выполнять большее количество операций в секунду. Помимо этого, он сохраняет высокую производительность даже в условиях интенсивных смешанных нагрузок.

Производство видео в разрешении 8K

Распространение разрешения 8K, технология HDR и повышение частоты кадров до 60 fps серьезно увеличили требования к технологическому оснащению пост-продакшн студий. Хранилище видеоматериала является в нем узким местом, от пропускной способности которого зависит не только комфорт и скорость работы команды, но и защита от возможной потери кадров при монтаже.

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

Edge-компьютинг в IoT

Периферийные вычисления или Edge-компьютинг представляет собой один из вариантов организации интернета вещей (IoT, Internet of Things). В нем вычислительные ресурсы распределенной системы размещаются в непосредственной близости от датчиков и сенсоров действующего объекта. Такая технология используется в беспилотных автомобилях и позволяет искусственному интеллекту получать сведения о дорожной ситуации с минимальной задержкой.

RAIDIX ERA применяется в беспилотных автомобилях в качестве компонента вычислительной платформы. ПО управляет NVMe-массивом и позволяет демонстрировать минимальный уровень задержки и высокую производительность даже с ограниченного количеств накопителей.

Заключение

Протокол NVMe работает на основе шины PCIe, используя более подходящий для flash-накопителей набор команд. Это дает возможность передавать данные через 65 тысяч параллельных потоков и избегать дополнительных барьеров при работе с запросами приложения.

Чтобы сохранить максимум производительности NVMe-накопителей в отказоустойчивом массиве, мы разработали RAIDIX ERA — программный RAID, который демонстрирует высокую скорость работы и низкую задержку даже в условиях интенсивной смешанной нагрузки. Продукт легко встраивается в программную среду существующих систем и способен работать с широким перечнем серверным платформ и накопителей.

Применение RAIDIX ERA в enterprise-сегменте открывает бизнесу доступ к преимуществам передовых технологий без лишних затрат на избыточную инфраструктуру. Для производителей СХД и системных интеграторов RAIDIX ERA является простым и доступным способом получить технологическое преимущество при создании производительных NVMe-решений.

Источник

Варианты создания RAID на NVMe SSD. Сравнение производительности

Этот раздел адресуется тем, кто планирует систему со скоростным хранилищем большой емкости. Когда требуемый объем содержит группу NVMe SSD, объединенных в RAID массив.
Рассмотрим варианты объединения NVMe SSD в RAID и производительность каждого решения.
Доступны четыре варианта построения системы:
— программный средствами ОС;
— программно-аппаратный Intel VROC;
— аппаратный контроллер Broadcom MegaRAID;
— программно-определяемое хранилище (SDS).

Сценарии использования накопителя или массива NVMe SSD накопителей приведены в отдельной заметке.

В общей «картине» системы хранения не стоит забывать, что скоростные возможности интерфейса — это важный, но только один из множества параметров, влияющих на общую производительность.
Корпоративное основное хранилище ОБЯЗАНО быть защищенным избыточностью — это не обсуждается. Другое дело — что цена (в широком смысле, не только «стоимость») защищенности должна рассматриваться в комплексе. Принцип всех времен и народов: «Быстро, дешево, надежно — выбери два из трех!» никто не отменял.

Читайте также:  Трескается брус что делать

Варианты строительства RAID массива из накопителей NVMe существенно различаются по стоимости реализации и производительности.

В нашем случае, когда подсистема NVMe является скоростной частью системы хранения сервера или группы серверов, производительность ставится во главу угла. Иначе — зачем вообще городить огород?

Максимальную скорость NVMe накопители показывают при непосредственном подключении к хост-контроллеру.

Без особенных потерь происходит объединение накопителей в RAID0, базирующееся на драйверах хост-контроллера или функциях операционной системы.
Производительность в RAID0 растет практически пропорционально количеству накопителей.
Не удивительно, что накопители в RAID0 представляются в тестах производительности систем в маркетинговых материалах, поскольку позволяют показать «красивые» цифры.

Однако, в реальной жизни организациям чаще требуется основное хранилище с защитой от потери данных. А это значит — RAID1, 5, 6, 50, 60.

Итак, смотрим плюсы-минусы вариантов, приняв во внимание предыдущие рассуждения об требуемом уровне RAID.

Показатели производительности подсистемы NVMe

В разных тестах используются SSD различных производителей и разные платформы тестирования. Но информационная база сейчас не настолько обширна, чтобы собрать воедино данные по всем вариантам использования конкретного накопителя. Приходится пользоваться тем — что есть. Важно понимать качественные изменения параметров.

В качестве показателей производительности для NVMe SSD и подсистемы NVMe в целом принят ряд метрик, показывающих скоростные характеристики для различных сценариев нагрузки (параметры и методики их измерения описаны в спецификации SNIA):
IOPS (Input/Output Operations Per Second) — количество операций ввода/вывода в секунду. Это показатель скорости системы на случайных коротких запросах. Он зависит от размера блока, внутреннего устройства накопителя и настроек хост-контроллера;
средняя и максимальная задержка передачи. Время, затраченное подсистемой хранения на получение запроса и подготовку ответа. Во многом определяется внутренним устройством контроллера накопителя. Средняя задержка замеряется на блоках трех размеров (8KiB, 4KiB, 0.5KiB) и в трех соотношениях чтение/запись (100/0, 65/35, 0/100) при глубине очереди =1;
пропускная способность системы. Показатель скорости последовательного чтения/записи. Измеряется на операциях с блоками большого размера — 128k и 1m. Этот параметр больше относится к тестированию накопителей и показывает максимальную скорость выдачи последовательных данных без ограничений со стороны интерфейса. В тестах пропускная способность рассматривается с точки зрения влияния на нее программного обеспечения.

Эти показатели относятся к «синтетическим» тестовым системам. Группа тестовых программ пытается привязать показатели производительности к реальному применению. Они эмулируют «средние по больнице» сценарии, например, для баз данных или нагрузку, создаваемую пулом виртуальных машин.

Отдельный NVMe SSD

Нам нужна отправная точка. Какая-то печка, от которой можно плясать.

Показатели тестов скорости Intel SSD DC D3700 Series взяты у коллег из Рэйдикс (https://habr.com/ru/company/raidix/blog/420837/).
Тестировался 800GB SSD в 2.5″ исполнении с интерфейсом PCIe 3.0 2×2. В основе — MLC технология флеш.

В таблице измерение IOPS 800GB Intel DC D3700 Series накопителя.
Значения IOPS убывают почти пропорционально размеру блока передаваемых данных (391 000 — 1 700). Генерируемый при этом поток данных, который является произведением этих величин, остается, практически, постоянным.
Динамика кривой убывания IOPS при увеличении доли запросов на запись (391 000 — 84 000) менее крутая, но приводит к снижению показателя в 4,6 раза. Это объясняется внутренней логикой и процессами чтения/записи собственно накопителя SSD и к интерфейсу не имеет отношения.

Block size /
R/W
0/100 5/95 35/65 50/50 65/35 95/5 100/0
4k 84 018 91 394 117 272 133 059 175 087 281 131 390 969
8k 42 603 45 736 58 980 67 321 101 357 171 317 216 551
16k 21 619 22 835 29 704 33 821 52 553 89 731 108 347
32k 10 929 11 322 14 787 16 811 26 578 47 185 50 671
64k 5 494 5 672 7 343 8 286 13 130 23 884 27 249
128k 2 748 2 805 3 618 4 295 6 507 11 998 13 631
1m 352 355 451 685 830 1 574 1 703

Для более наглядного представления, данные выведены в диаграмме:

IOPS одиночного NVMe накопителя

Задержка также зависит от размера блока и соотношения Чтение/Запись, но масштаб изменений значительно меньше.

Средняя задержка накопителя 800GB Intel DC D3700 Series в зависимости от размера блока и доли запросов на чтение в миллисекундах:

Block size/
R/W
100/0 65/35 0/100
4k 0,027 0,072 0,099
8k 0,030 0,093 0,122
16k 0,047 0,137 0,164

Средняя задержка одиночного NVMe накопителя

Максимальная задержка в миллисекундах:

Block size/
R/W
100/0 65/35 0/100
4k 1,510 4,715 6,985
8k 1,409 4,312 7,000
16k 1,106 4,644 7,007

Пропускная способность подсистемы с одним NVMe SSD:
1MB последовательная запись — 634 MBps.
1MB последовательное чтение — 1707 MBps.
128kB последовательная запись — 620 MBps.
128kB последовательное чтение — 1704 MBps.

Теперь мы представляем как размер блока и соотношение Чтение/Запись влияют на скоростные показатели накопителя NVMe. В дальнейшем можно рассматривать сокращенные результаты испытаний (чтобы не загромождать обилием цифр), а в некоторых случаях оценочно экстраполировать результаты неполных испытаний на сочетание параметров, с которым тесты не проводились.

Группа из 12 NVMe SSD (JBOD)

Еще одна отправная точка — несколько накопителей не объединенных ни в какой массив. Она нужна для сравнения производительности. JBOD — группа накопителей без чередования (в отличие от RAID0), в котором единое логическое пространство распределено по жёстким дискам последовательно.

Читайте также:  парфюмер актеры первая жертва

Сравнительные результаты по показателю IOPS для одного NVMe SSD и группы из 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

Пропускная способность NVMe подсистемы из 12 накопителей практически линейно увеличивается пропорционально их числу:
1MБ последовательная запись — 8612 MBps.
1MБ последовательное чтение — 20481 MBps.
128Kб последовательная запись — 7500 MBps.
128Kб последовательное чтение — 20400 MBps.

Программные RAID средствами ОС и файловой системы

Стоимость решения: низкая (бесплатно).
ОС: Linux.
Производительность: приемлемая (RAID0, преимущественное чтение), невысокая-низкая (RAID5, 6, высокая доля записи).
Применение: хранилище временной информации, кэш системы, основное хранилище небольшой емкости с защитой зеркалом (RAID1, RAID10).

Производительность программных реализаций RAID массива рассмотрена в заметке «Сравнение производительности программных RAID«.

Решения, построенные на утилите mdadm операционной системы Linux и на встроенных средствах файловой системы ZFX самые дешевые. По производительности только RAID0 mdadm можно рекомендовать для использования в качестве кэш или временного накопителя и RAID6 mdadm для основного хранилища с 90-100% долей операций чтения.

Решение на Intel VROC

Стоимость решения: низкая.
ОС: Linux, Windows.
Производительность: средняя (RAID0, 1, 10), невысокая (RAID5).
Применение: хранилище временной информации, кэш системы, основное хранилище.

Это не очень дорогое (15 — 30 тысяч рублей) программное решение на уровне драйвера. Позволяет формировать RAID0, 1, 10 (стандартная конфигурация) или в том числе RAID5 (премиум).

На диаграмме ниже представлены результаты тестов системы из 24 NVMe SSD Ultrastar DC SN620, объединенных в RAID5 при помощи Intel VROC.

IOPS для 24 NVMe SSD Ultrastar DC SN620, объединенных в RAID5 при помощи Intel VROC, 4k

Показатель IOPS очень резко (в восемь раз) падает при соотношении Чтение/Запись 90/10. Еще в три раза — при увеличении доли записи до 30%.

Еще одно исследование производительности NVMe системы представлено на StorageReview
Испытывалась система с восемью Intel DC P4510 NVMe SSD под управлением Intel VROC.

В презентации другие системы координат и другое представление результатов.
Вывод, выведенный изданием: «Intel VROC реализован хорошо и обеспечивает ожидаемые результаты на хорошо спроектированной платформе».
При этом, правда, в резюме умалчиваются достижения в RAID5, поскольку они невысоки.

Ниже — один из слайдов с итогами теста «SQL 90-10» (чтение-запись)

Результаты тестов производительности VROC с ресурса https://www.storagereview.com/intel_virtual_raid_on_cpu_vroc_review/

RAID массив на SAS/SATA/NVMe контроллере

Стоимость решения: невысокая.
ОС: Linux, Windows.
Производительность: сравнима с решением на VROC.
Применение: основное хранилище с защитой (RAID5, RAID6).

Контроллеры Broadcom описаны в разделе Оборудование. MegaRAID допускает прямое подключение до 4 накопителей или большее количество через коммутатор. Его имеет смысл ставить в систему в двух случаях: 1) сервер не поддерживает NVMe интерфейс; 2) не хочется забирать мощности центральных процессоров для непрофильной загрузки.

Для реализации решения помимо собственно контроллера (30 — 70 тыс. руб.) требуется корпус или корзина в корпус для установки SSD выбранного форм-фактора (как правило, U.2, но есть решения даже для M.2 накопителей — корзины ICY DOCK, например) и набор соответствующих кабелей.

Тестов производительности контроллера Broadcom в паре с NVMe накопителями практически не опубликовано. Мы представляем сравнительные тесты с VROC: Сравнение производительности Tri-Mode Broadcom MegaRAID 9460-16i и Intel VROC.

Про уровень производительности новых контроллеров от самого производителя известно лишь очень общее: «задержка снижена на 50%, производительность увеличена на 60% по сравнению с предыдущим поколением контроллеров». (https://www.broadcom.com/solutions/enterprise-storage/nvme)

Программно-определяемое хранилище (SDS).

Стоимость решения: высокая.
ОС: Linux, Windows.
Производительность: высокая.
Применение: Масштабируемое основное хранилище большой емкости с защитой данных от потери. Высокоскоростное хранилище для группы серверов.

Программно-определяемое хранилище — отдельная обширная тема. Она рассматривается в разделе Программно-определяемое хранилище.

SDS использует мощности современных процессоров и распределение нагрузки между узлами. За счет этого SDS может показывать производительность, значительно превышающую возможности аппаратных дисковых контроллеров.
С учетом того, что аппаратных NVMe RAID контроллеров, мягко говоря, немного, приходится меряться с тем — что есть.

Есть сравнительные тесты RAIDIX ERA компании Рэйдикс с программными RAID на сервере с 12х Intel DC D3700 SSD (материалы Flash Memory Summit 2018)

IOPS для системы из 12шт Intel DC D3700
RAIDZ (аналог RAID6 в файловой системе ZFS)
RAID6 средствами mdadm Linux
RAID5 средствами mdadm Linux
RAID6 средствами RAIDIX ERA
Суммарная предельная скорость 12 накопителей — аппаратный предел

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

На следующей диаграмме — сравнение того же RAIDIX ERA с Intel VROC на сервере с 24х Ultrastar DC SN620 3.2TB объединенных в RAID5.

IOPS для 24х Ultrastar DC SN620 в RAID5
RAIDIX ERA RAID5, 4k
Intel VROC RAID5, 4k

Некоторые тесты производительности различных решений на NVMe SSD приводятся в NVMe хранилище. Тесты производительности.

Источник

Обучающий онлайн портал