Так или иначе, каждый из нас хоть раз в жизни слышал такие определения, как “RAID”, “RAID-массив”, “RAID-контроллер”, но вряд ли придавал этому серьезное значение, потому что рядовому ПК-боярину все это вряд ли интересно. А вот высоких скоростей от внутренних накопителей и безотказности их работы хочется всем и каждому. Ведь, какой бы мощной ни была начинка компьютера, скорость работы накопителя становится узким местом, если говорить о совокупном быстродействии ПК и сервера.
Так было ровно до того момента, пока на смену традиционным HDD не пришли современные NVMe SSD со сравнимой емкостью в 1 Тбайт и более. И если раньше в ПК чаще встречались связки SATA SSD + парочка емких HDD, то сегодня их начинает сменять другое решение — NVMe SSD + парочка емких SATA SSD. Если говорить о корпоративных серверах и “облаках”, многие уже успешно переехали на SATA SSD, просто потому что они быстрее обычных “жестянок” и способны обрабатывать большее количество операций ввода/вывода одновременно.
Однако отказоустойчивость системы все равно находится на достаточно низком уровне: мы не можем как в “Битве экстрасенсов” предугадать с точностью даже до недели, когда тот или иной твердотельный накопитель прикажет долго жить. И если HDD “умирают” постепенно, позволяя уловить симптомы и принять меры, то SSD “мрут” сразу и без предупреждений. И вот теперь самое время разобраться, зачем все это вообще нужно? Стоит ли организовывать RAID-массивы на базе твердотельных решений SATA SSD и NVMe SSD, и будет ли от этого серьезный профит?
Зачем нужен RAID-массив?
Само слово “массив” уже подразумевает то, что для его создания используется несколько накопителей (HDD и SSD), которые объединяются с помощью RAID-контроллера и распознаются ОС, как единое хранилище данных. Глобальная задача, которую позволяют решить RAID-массивы — минимизация времени доступа к данным, повышение скорости чтения/записи и надежности, которая достигается благодаря возможности быстрого восстановления в случае сбоя. К слову, для домашних бэкапов использовать RAID совсем не обязательно. А вот если у вас есть свой домашний сервер, к которому необходим постоянный доступ 24/7 — тут уже другое дело.
Существует свыше десятка уровней RAID-массивов, каждый из которых отличается количеством используемых в нем накопителей и имеет свои плюсы и минусы: например, RAID 0 позволяет получить высокую производительность без отказоустойчивости, RAID 1 — наладить автоматическое зеркалирование данных без прироста скорости, а RAID 10 объединяет в себе возможности вышеперечисленных. RAID 0 и 1 — самые простые (поскольку не требуют произведения программных вычислений) и, как следствие, — самые популярные. В конечном счете выбор в пользу того или иного уровня RAID зависит от возлагаемых на дисковый массив задач и возможностей RAID-контроллера.
Домашний и корпоративный RAID: в чем разница?
Основа любого современного бизнеса — большие объемы данных, которые должны надежно храниться на серверах компаний. А еще, как мы уже отмечали выше, к ним должен обеспечиваться постоянный доступ 24/7. Понятное дело, что наравне с “железом” важна и софтверная часть, но в данном случае мы говорим все-таки об оборудовании, которое обеспечивает надежное хранение и обработку информации. Никакой софт не спасет компанию от разорения, если “железное” оснащение не соответствует возложенным на него задачам.
Для этих задач любой производитель “железа” предлагает так называемые корпоративные устройства. У Kingston — это мощные твердотельные решения в лице SATA-моделей Kingston 450R (DC450R) и серии DC500, а также NVMe-моделей DC1000M U.2 NVMe, DCU1000 U.2 NVMe и DCP-1000 PCI-e, предназначенных для использования в ЦОД (центрах обработки данных) и суперкомпьютерах. Массивы из таких накопителей, как правило, используются в связке с аппаратными контроллерами.
Для потребительского же рынка (то есть для домашних ПК и NAS-серверов) доступны такие накопители как Kingston KC2000 NVMe PCIe, но в этом случае необязательно покупать аппаратный контроллер. Можно ограничиться встроенным в материнскую плату ПК или NAS-сервера, если вы конечно не планируете самостоятельно собрать домашний сервер для нетипичных задач (завести маленький домашний хостинг для друзей, к примеру). К тому же, домашние RAID-массивы, как правило, не предполагают наличие сотен и тысяч накопителей, ограничиваясь двумя, четырьмя и восемью устройствами (чаще SATA).
Виды и типы RAID-контроллеров
Существует три вида RAID-контроллеров, основанные на принципах реализации RAID-массивов:
1. Программные, в которых управление массивом ложится на CPU и DRAM (то есть исполнение программного кода происходит на процессоре).
2. Интегрированные, то бишь встроенные в материнские платы ПК или NAS-сервера.
3. Аппаратные (модульные), представляющие собой дискретные платы расширения для разъемов PCI/PCIe системных плат.
В чем их принципиальное отличие друг от друга? Программные RAID-контроллеры уступают интегрированным и аппаратным по производительности и отказоустойчивости, но при этом не требуют специального оборудования для работы. Однако важно убедиться, что процессор хост-системы является достаточно мощным для запуска программного обеспечения RAID, не оказывая негативного влияния на производительность приложений, которые также работают на хосте. Интегрированные контроллеры, как правило, оснащаются собственной кэш-памятью и задействуют некоторое кол-во ресурсов CPU.
А вот аппаратные обладают и собственной кэш-памятью, и встроенным процессором для выполнения программных алгоритмов. Обычно они позволяют реализовать все виды уровней RAID-массивов и поддерживают сразу несколько видов накопителей. Например, к современным аппаратным контроллерам компании Broadcom можно одновременно подключать SATA-, SAS- и NVMe-устройства, что позволяет не менять контроллер при апгрейде серверов: в частности, при переезде с SATA SSD на NVMe SSD контроллеры менять не придется.
Собственно, на этой ноте мы подошли к типологизации самих контроллеров. Если есть трехрежимные, должны быть и какие-то еще? В данном случае ответ на этот вопрос будет утвердительным. В зависимости от функций и возможностей RAID-контроллеры можно поделить на несколько типов:
1. Обыкновенные контроллеры с функцией RAID
Во всей иерархии это самый просто контроллер, который позволяет объединять HDD и SSD в RAID-массивы уровней “0”, “1” или “0+1”. Программно это реализовано на уровне прошивки. Однако, такие устройства вряд ли можно рекомендовать для использования в корпоративном сегменте, ведь у них отсутствует кэш и не поддерживаются массивы уровней “5”, “3” и т.п. А вот для домашнего сервера начального уровня они вполне подойдут.
2. Контроллеры, работающие в паре с другими RAID-контроллерами
Этот тип контроллеров может работать в паре с интегрированными контроллерами материнских плат. Реализовано это по следующему принципу: дискретный RAID-контроллер берет на себя решение “логических” задач, а встроенный — функции обмена данными между накопителями. Но есть нюанс: параллельная работа таких контроллеров возможна только на совместимых системных платах, а значит область их применения серьезно сужается.
3. Самостоятельные RAID-контроллеры
Эти дискретные решения содержат на борту все необходимые чипы для работы с серверами корпоративного класса, обладая собственным BIOS’ом, кэш-памятью и процессором для быстрой коррекции ошибок и вычисления контрольных сумм. К тому же они отвечают высоким стандартам надежности в плане изготовления и обладают высококачественными модулями памяти.
4. Внешние RAID-контроллеры
Нетрудно догадаться, что все перечисленные выше контроллеры являются внутренними и получают питание через разъем PCIe материнской платы. О чем это говорит? А о том, что выход из строя системной платы может привести к ошибкам в работе RAID-массива и потере данных. Внешние же контроллеры избавлены от этого недоразумения, так как размещаются в отдельном корпусе с независимым блоком питания. В плане надежности такие контроллеры обеспечивают самый высокий уровень хранения данных.
Broadcom, Microsemi Adaptec, Intel, IBM, Dell и Cisco — это лишь некоторые из компаний, которые предлагают аппаратные RAID-контроллеры в настоящее время.
Режимы работы RAID контроллеров SAS/SATA/NVMe
Основной задачей трехрежимных HBA- и RAID-контроллеров (или контроллеров с функцией Tri-Mode) является создание аппаратного RAID на базе NVMe. У компании Broadcom это умеют делать контроллеры 9400 серии: например, MegaRAID 9460-16i. Он относится к самостоятельному типу RAID-контроллеров, оснащен четырьмя разъемами SFF-8643 и, благодаря поддержке Tri-Mode, позволяет коннектить к себе SATA/SAS- и NVMe-накопители одновременно. К тому же это еще и один из самых энергоэффективных контроллеров на рынке (потребляет всего 17 Ватт энергии, при этом менее 1,1 Ватт на каждый из 16 портов).
Интерфейсом подключения служит PCI Express x8 версии 3.1, что позволяет реализовать пропускную способность на уровне 64 Гбит/с (в 2020 году ожидается появление контроллеров для PCI Express 4.0). В основе 16-портового контроллера лежит 2-ядерный чип SAS3516 и 72-битная DDR4-2133 SDRAM (4 Гбайт), а также реализована возможность подключения до 240 накопителей SATA/SAS-, либо до 24 NVMe-устройств. По части организации RAID-массивов поддерживаются уровни “0”, “1”, “5” и “6”, а также “10”, “50” и “60”. К слову, кэш-память MegaRAID 9460-16i и других контроллеров в серии 9400 защищена от сбоев напряжения дополнительным модулем CacheVault CVPM05.
В основе трехрежимной технологии лежит функция преобразования данных SerDes: преобразование последовательного представления данных в интерфейсах SAS/SATA в параллельную форму в PCIe NVMe и наоборот. То есть контроллер согласовывает скорости и протоколы, чтобы беспрепятственно работать с любым из трех типов устройств хранения. Это обеспечивает бесперебойный способ масштабирования инфраструктур центров обработки данных: пользователи могут использовать NVMe без существенных изменений в других конфигурациях системы.
Однако при планировании конфигураций с NVMe-накопителями, стоит учитывать, что NVMe-решения используют для подключения 4 линии PCIe, а значит каждый накопитель задействует все линии портов SFF-8643. Выходит, что напрямую к контроллеру MegaRAID 9460-16i можно подключить только четыре накопителя NVMe. Либо ограничиться двумя NVMe-решениями при одновременном подключении восьми SAS-накопителей (см. схему подключения ниже).
На рисунке показано использование разъема «0» (С0 / Connector 0) и разъема «1» для подключений NVMe, а также разъемов «2» и «3» для подключений SAS. Это расположение может быть изменено на обратное, но каждый накопитель x4 NVMe должен быть подключен с использованием соседних линий. Режимы работы контроллера устанавливается через конфигурационные утилиты StorCLI или Human Interface Infrastructure (HII), которая работает в среде UEFI.
Режим по умолчанию — профиль «PD64» (поддержка только SAS / SATA). Как мы уже говорили выше, всего профилей три: режим «SAS/SATA only mode» (PD240 / PD64 / PD 16), режим «NVMe only mode» (PCIe4) и смешанный режим, в котором могут работать все типы накопителей: «PD64-PCIe4» (поддержка 64 физических и виртуальных дисков с 4 NVMe-накопителями). В смешанном режиме значение задаваемого профиля должно быть таким – «ProfileID=13». К слову, выбранный профиль сохраняется в качестве ведущего и не сбрасывается даже при откате к заводским настройкам через команду Set Factory Defaults. Сменить его можно будет только вручную.
Стоит ли создавать RAID-массив на SSD?
Итак, мы уже поняли, что RAID-массивы – это залог высокого быстродействия. Но стоит ли собирать RAID из твердотельных накопителей для домашнего и корпоративного использования? Многие скептики говорят о том, что прирост в скорости получается не столь существенным, чтобы разоряться на NVMe-накопители. Но так ли это на самом деле? Вряд ли. Самым большим ограничением для использования SSD в RAID (как в домашних условиях, так и на корпоративном уровне) может стать только цена. Как ни крути, а стоимость гигабайта пространства у HDD значительно дешевле.
Подключение нескольких твердотельных “дисков” к контроллеру RAID для создания массива из SSD в определенных конфигурациях может оказать огромное влияние на производительность. Не стоит, однако, забывать, что максимальная производительность ограничена пропускной способностью самого контроллера RAID. Уровнем RAID, который предлагает лучшую скорость работы, является RAID 0.
Организация обычного RAID 0 с двумя SSD-накопителями, в которой используется метод разбиения данных на фиксированные блоки и их чередования между твердотельными хранилищами, приведет к удвоению производительности (если сравнивать со скоростями, которые выдает один SSD). При этом массив RAID 0 с четырьмя твердотельными накопителями будет уже в четыре раза быстрее, чем самый медленный SSD в массиве (в зависимости от ограничения пропускной способности на уровне контроллера RAID SSD).
Если исходить из простой арифметики, SATA SSD примерно в 3 раза быстрее традиционного SATA HDD. NVMe-решения еще эффективнее — в 10 раз и более. При условии, что два жестких диска в RAID’е нулевого уровня покажут удвоенную производительность, увеличив ее на 50%, два SATA SSD окажутся в 6 раз быстрее, а два NVMe SSD — в 20 раз быстрее. В частности, один накопитель Kingston KC2000 NVMe PCIe может достигать скорости последовательного чтения и записи до 3200 Мбайт/с, что в формате RAID 0 достигнет внушительных 6 Гбайт/с. А скорость чтения/записи случайных блоков размером 4 Кбайт превратится из 350 000 IOPS в 700 000 IOPS. Но… в то же время “нулевой” RAID не обеспечивает нам избыточности.
Можно сказать, что в домашних условиях избыточность хранилища обычно и не требуется, поэтому самой подходящей конфигурацией RAID для SSD действительно становится RAID 0. Это надежный способ получить значительное повышение производительности в качестве альтернативы использованию таких технологий, как твердотельные накопители на базе Intel Optane. А вот как поведут себя SSD-решения в самых популярных типах RAID (“1”, “5”, “10”, “50”) — мы поговорим в нашем следующем материале.
Данная статья подготовлена при поддержке наших коллег из Broadcom, которые предоставляют свои контроллеры инженерам Kingston для тестирования с накопителями SATA/SAS/NVMe корпоративного класса. Благодаря этому дружескому симбиозу, клиентам не приходится сомневаться в надежности и стабильности работы накопителей Kingston c HBA- и RAID-контроллерами производства Broadcom.
Дополнительную информацию о продуктах Kingston можно найти на официальном сайте компании.
ссылка на оригинал статьи https://habr.com/ru/company/kingston_technology/blog/482068/
Добавить комментарий