Что такое RAID-массивы на NVMe?

Производительность компьютеров в любом сегменте часто упирается в скорость чтения-записи данных с накопителей. Это одна из основных причин массового перехода на диски SSD, имеющие показатели минимум в 3-5 раз выше, чем HDD. Отчасти из-за этого стали появляться и такие устройства, как рейд-массивы. Они позволяли собирать относительно скоростные системы даже на устаревших винчестерах.

Что Такое Raid Массивы На Nv Me

И это не единственное преимущество технологии RAID. Ее вторая ключевая задача – увеличение надежности подсистемы хранения данных, включая возможность сохранения информации даже при аппаратной неисправности одного из накопителей. На практике такие возможности часто миксуют, что особенно заметно в серверном секторе. Клиентские же системы обычно представляют собой «простое склеивание» пары дисков в единый кластер для роста скорости или объединения их объема.

Что такое RAID-массив, его особенности

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

Распространено 4 варианта (маркируются цифрами):

  • 0 — предполагает чередование дисков при записи-чтении данных и дает рост скорости почти в 2 раза по сравнению со штатным значением одиночного накопителя. Отказоустойчивость не растет, речь идет только о повышенной производительности.
  • 1 — зеркальное отображение дисков, вдвое улучшающее показатель отказоустойчивости. Но это никак не влияет на скорость обмена данными с накопителем. При неисправности диска система сохраняет работоспособность, а после его замены зеркальность восстанавливают.
  • 5 — комбинированный вариант с чередованием записи-чтения и сохранением информации по четности данных. Система требует установки минимум 3 дисков. Она отличается более высокой скоростью чтения, уровнем безопасности, но чуть меньшей скоростью записи.
  • 10 — сочетание RAID 0 и RAID 1. Комплекс включает количество дисков, кратное 4. Первая пара накопителей чередуется друг с другом и зеркально отражается на второй, создавая единый массив с высокой производительностью и отказоустойчивостью.

Создают массивы RAID из SSD или HDD. Желательно использовать одинаковые модели одного производителя, но формально никаких ограничений нет. Если речь идет о ЦОД или просто крупной серверном предприятии, обычно рекомендации исполняются. Ведь выгоднее взять оптовую партию одинаковых накопителей на оснащение компьютеров и создание резерва на случай технических неполадок (примерно так происходит и на cloud.timeweb.com). При модернизации чаще меняют весь блок, чтобы обнулить его ресурс.

Есть два способа создать RAID-массив. Первый заключается в установке специальных драйверов (программного обеспечения). Второй — в установке специальной платы для аппаратного управления работой. Такие чипы давно интегрируют на материнки даже домашнего сегмента, но ими все равно управляет центральный процессор. Оптимально использовать внешние контроллеры, которые выполняют максимум функций аппаратным способом.

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

В общем случае модульный RAID-контроллер подключают к свободной шине PCI-E. На его борту имеется собственная кэш-память, используемая для промежуточного хранения считываемых или записываемых данных. Она работает под управлением собственного микроконтроллера, на платах даже устанавливают резервные источники питания (блок BBU, Battery Backup Unit) или флеш-память с суперконденсатором.

В качестве примера рассмотрим несколько популярных решений:

  1. Linux Software RAID.
  2. Intel Virtual RAID On CPU.
  3. LSI MegaRAID 9460-8i.

Стоит сразу отметить, что компания Intel интегрирует RAID в чипсет. При выборе такого варианта нужно учитывать, что не все серверное программное обеспечение воспринимает VROC (или Virtual RAID On CPU) в качестве аппаратного модуля. Например, его официально не поддерживает гипервизор VMWare ESXi, хотя формально контроллер является аппаратным блоком, пусть и внутри чипсета.

Linux Software RAID

Программные RAID-массивы разного уровня распространены на компьютерах под управлением операционных систем Linux (бесплатных, коммерческих релизов). Их настраивают как на домашних либо офисных ПК, так и на серверах, где нужно получить улучшение характеристик при небольшом бюджете. Все, что понадобится для создания массива RAID, — это утилита mdadm. Единственное условие для ее применения заключается в постоянной доступности подключаемых накопителей.

Речь идет о стационарных дисках, внешние (сменные) не подойдут. Также нужно учитывать, что подобная организация массивов заберет часть процессорной мощности, общая производительность системы немного упадет. Перечень поддерживаемых уровней RAID, текущее состояние имеющихся дисковых блоков отражено в файле mdstat, расположенном в корне каталога procf. Например:

root@server:~# cat /proc/mdstat 
Personalities : [linear] [multipath] [raid0] [raid1] [raid10] 
unused devices: <none>

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

root@server:~# modprobe raid456
root@server:~# cat /proc/mdstat 
Personalities : [linear] [multipath] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] 
unused devices: <none>

Все операции с полученным RAID осуществляются через утилиту Linux mdadm. Она консольная, поэтому придется смириться с ручным вводом команд вместо управления мышкой и кликов кнопок в графическом интерфейсе. Сборка массива производится всего одной командой:

mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/nvme1n1 /dev/nvme2n1

По завершении процедуры в системе появится блочное устройство /dev/md0, которое представляет собой виртуальный диск. Отдельно взятые накопители станут невидимыми, к ним уже нельзя обращаться отдельно, как ранее. Все операции с данными, считывание-запись, автоматически будут направляться через драйвер RAID-массива.

Intel Virtual RAID On CPU

Intel VROC – программно-аппаратная технология, используемая в чипсетах известного производителя. Ее интегрируют в материнские платы, выпускаемые под установку процессоров Intel Xeon Scalable. Это технология становится доступной на компьютере только после установки и активации ключа лицензии VROC. Он поддерживается операционными системами Windows 2016, 2012 R2, 10, 7 SP2, а также Linux Red Hat Enterprise 7.3, SUSE Linux Enterprise 12 SP3 (или выше).

Технические характеристики ключа:

  1. Поддерживает до 24 устройств.
  2. Позволяет работать с уровнями RAID 0, 1, 10.
  3. Премиальная версия открывает доступ к RAID 5.

Технология Intel VROC работает только на материнских платах, поддерживающих горячую замену NVMe-дисков, составляющих RAID. Называется она VDM или Volume Management Device. За счет применения этой функции пользователь может заменить неисправный накопитель без прекращения работы компьютера («на горячую»).

Настройка массивов осуществляется через программу управления BIOS – CMOS Setup Utility. Она запускается при помощи горячей клавиши, например DEL, F2, F9 или F10 (зависит от модели матплаты, включения-отключения интегрированного контроллера и сборки массива). При первом запуске на экран выводится сообщение, подобное приведенному ниже:

root@server:~# cat /proc/mdstat 
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md126 : active raid1 nvme2n1[1] nvme1n1[0]
      1855832064 blocks super external:/md127/0 [2/2] [UU]
      [>....................]  resync =  1.3% (24207232/1855832064) finish=148.2min speed=205933K/sec
md127 : inactive nvme1n1[1](S) nvme2n1[0](S)
      10402 blocks super external:imsm
unused devices: <none>

Небольшим минусом технологии VROC еще является неполная поддержка управления через утилиту Linux mdadm. В ней доступны функции замены физических дисков между собой и разборки массивов. При модернизации компьютера с установкой новых накопителей придется сначала собрать RAID через BIOS, и только затем появится возможность управления внутри Linux. В Windows для этого используют утилиту, поставляемую в комплекте с драйверами.

LSI MegaRAID 9460-8i

Теперь рассмотрим полностью аппаратный контроллер NVMe RAID — плату с интерфейсом PCI-Express x8, поддерживающую подключение 8 накопителей с портом SAS/SATA. Он выделяется на фоне множества аналогов поддержкой технологии NVMe, представляющей перспективное решение для серверов разного уровня.

Особенности RAID Controller NVMe MegaRAID 9460-8i:

  1. При включенном UEFI настройки переносятся в Setup Utility.
  2. По сравнению с VROC меню внешнего контроллера несколько сложнее.
  3. Практически весь функционал по настройке содержится в нем.

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

Особенность этого контроллера — SSD из RAID-массива маскируются, операционная система их не видит. Вместо них отображается один SAS-накопитель. Понятно, что скорость считывания и записи данных будет соответствовать характеристикам порта, куда диски подключены. Если один или несколько накопителей не были подключены к массиву, доступа к ним у пользователя не будет ни в самой ОС, ни через служебные утилиты.

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

Применение технологии NVMe (Non-Volatile Memory Express) обосновано увеличенной полосой пропускания, обеспечиваемой стандартным интерфейсом PCIe. Она использует все преимущества твердотельных накопителей, ведь все чаще RAID собирают из SSD. Например, протокол передачи данных здесь работает подобно архитектуре высокопроизводительных процессоров (параллельные пути, малые задержки и пр.).

Он поддерживает до 64 000 очередей глубиной в 64 000 записи каждая, в то время как устаревшая уже технология AHCI имеет возможность отправки только 32 команд на одну очередь. В драйверах предыдущего поколения контроллеров используется большое количество циклов с задержкой в 6 микросекунд. В NVMe используют короткие циклы с задержкой всего в 2,8 микросекунды. Это значительный показатель в плане роста производительности.

Принято сравнивать следующие значения:

  1. IOPS (Input/Output Operations Per Second) — количество операций ввода/вывода в секунду.
  2. Средняя и максимальная задержка передачи — время ответа хоста на запросы операций.
  3. Пропускная способность системы — скорость последовательного чтения/записи.

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

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

Telegram
VK
Скопировать ссылку
Что такое персональные данные (ПДн), как их обрабатывать и защищать
Что такое персональные данные (ПДн), как их обрабатывать и защищать
Что такое JAMstack
Что такое JAMstack

Зарегистрируйтесь и начните пользоваться
сервисами Timeweb Cloud прямо сейчас

15 лет опыта
Сосредоточьтесь на своей работе: об остальном позаботимся мы
165 000 клиентов
Нам доверяют частные лица и компании, от небольших фирм до корпораций
Поддержка 24/7
100+ специалистов поддержки, готовых помочь в чате, тикете и по телефону