При построении систем хранения данных под управлением специализированным ПО важную роль играет правильный подбор оборудования.
Все начинается с понимания архитектуры решения.
На данный момент можно выделить три наиболее популярных подхода:
1. Решения с единым набором накопителей и одним и более контроллерами
Накопители, установленные в шасси или внешнюю корзину доступны всем контроллерам хранилища.
Два независимых контроллера работают с RAID-контроллером и подменяют друг друга. Такие СХД являются решениями блочного и файлового типа.
2. Решения без общего набора накопителей (shared nothing)
Накопители установлены локально в серверы, объединенные сетью. Отказоустойчивость достигается благодаря репликации данных или помехоустойчивому кодированию.
Такая архитектура лежит в основе хранилищ совершенно разного типа, но наиболее распространена она у объектных и файловых продуктов.
Кстати, они не всегда являются строго консистентными решениями.
3. Дезагрегированный подход
Накопители вынесены наружу в высокопроизводительные сетевые EBOF и предоставляются контроллерам по требованию.
Нет смысла спорить о плюсах и минусах каждого подхода без привязки к конкретным требованиям и задачам.
RAIDIX 5.1 разрабатывался для построения систем первого типа.
Данная архитектура позволяет строить унифицированные (Unified) СХД, обладающие следующими характеристиками:
Полезный объем хранения до 10 PB.
Производительность доступа к HDD-Only конфигурациям 22GBps.
Производительность доступа к AFA конфигурациям до 30GBps и 5 000 000 IOps.
Поддержка блочных протоколов FC/iSCSI/iSER/SRP.
Поддержка файловых протоколов NFS/SMB/AFP.
Обеспечение доступности данных достигается благодаря технологии RAID, а для больших объемов данных наиболее актуален специально разработанный RAID N+M.
Более подробно о характеристиках ПО и его возможностях можно прочитать здесь.
При построении СХД на основе ПО RAIDIX 5.1 мы обращаем внимание на следующие вопросы:
1. Поддерживаемые CPU
Для достижения характеристик производительности нам требуется определенное количество ядер и тактовая частота. Даже при том, что наш движок — один из самых легковесных на рынке, только на работы для достижения серьезных результатов недостаточно CPU начального уровня.
Для решений RAIDIX рекомендуется CPU Intel Xeon Scalable второго поколения.
Bronze — до 36 HDD.
Silver — до 128 HDD.
Gold — от 129 HDD.
Gold — для всех AFA систем.
2. Поддерживаемая память
Подробнее про то, как у нас работает кэш, вы можете прочитать здесь.
Отдельно «сайзится» память при наличии SSD-кэша.
Объем кэша второго уровня ограничен и при высокой нагрузке есть шанс быстро исчерпать ресурсы накопителей. По этой причине у нас используется лог-структурированный подход к записи на кэширующий том. Одним из его недостатков являются повышенные требования к объему оперативки.
3. Поддерживаемые карты расширения
RAIDIX часто используют именно для построения высокопроизводительных «молотилок» большого объема.
Нам важны:
Интерфейсы от контроллеров к дисковым накопителям.
Выделенные интерфейсы на синхронизацию WriteBack кэша в СХД на основе жестких дисков.
Интерфейсы доступа к СХД.
Кроме непосредственно разъемов для установки карт важно их расположение и форм-фактор поддерживаемых устройств (некоторые карты возможно установить только в FHFL-слоты).
Также иногда случается, что некоторые устройства нуждаются в дополнительном питании (например, NVIDIA BlueField 2). Это нужно учитывать.
4. Компоненты сервера с вращающимися частями должны быть задублированы и желательно поддерживать горячую замену
Вообще охлаждению сервера и разводке питания нужно уделять особое внимание. Когда наши партнеры не заботились об этом в достаточной мере, у них порой бывали серьезные проблемы.
Будучи производителями софта, мы тратим много времени на работу с аппаратными компонентами или просим наших партнеров делать это при разработке линейки СХД.
Обычно полноценная сертификация занимает около месяца. В ее рамках мы проверяем наличие в дистрибутивах RAIDIX необходимых драйверов, процесс установки, возможность мониторинга компонент, стабильность длительной работы под максимальной нагрузкой и производительность.
Хотя эти процессы максимально автоматизированы, они все равно весьма трудозатратны. Но мы идем на это для того, чтобы наши партнеры и клиенты были уверены в характеристиках решения.
А давайте теперь разберем примеры построения СХД на основе серверной платформы, которая недавно оказалась в нашей лаборатории.
Система состоит из двух частей: платформы AIC SB203-UR и JBOD J4078-01
Начнем с платформы:
Серверная платформа предназначена для функционирования управляющего сервера СХД.
Для полноценной системы нам нужно использовать два узла, подключенных к дисковой полке по SAS и связанных между собой по Infiniband для синхронизации кэшей, а еще eth для heartbeat — для управления и взаимодействия.
Некоторые партнеры могут использовать такие платформы в качестве простых решений, используя восемь локальных накопителей и подключенный внешний JBOD. Но такой подход вряд ли можно назвать оптимальным.
Сзади системы находятся два блока питания с возможностью горячей замены.
Здесь два слота 2,5” для установки операционной системы (а мы всегда рекомендуем зеркалировать установочный диск).
Видны слоты под карты расширения.
Ethernet-порты и управляющий порт BMC.
Порты 10G на основе контроллера южного моста Intel PCH (C622) Разъемы — SFP+.
В системе — два сокета (Socket P0 (LGA-3647 Socket) с возможностью установки CPU Intel Xeon Scalable второго поколения с TDP до 205W.
На каждый сокет у нас есть шесть каналов памяти с двумя DIMM на канал.
Несложно подсчитать, что общее количество слотов — 24.
Максимальная частота поддерживаемой памяти — DDR4 2933. А общий ее объем может достигать 3TB, чего, конечно, более чем достаточно для любых инсталляций RAIDIX.
Охлаждается система с помощью пяти вентиляторов, поддерживающих горячую замену.
В комплекте к системе идут два райзера, которые имеют по два слота PCIe x8
Всего в системе у нас шесть PCIe x8 слотов.
Четыре из их — LP, и два — FHHL.
Еще у нас есть возможность установить два 2,5” накопителя внутри системы без возможности горячей замены.
Очевидно, что такие платформы — не для создания дешевых low-end систем. Она будет хороша для систем среднего класса с большим объемом данных.
Примерами проектов являются:
Крупные проекты по видеонаблюдению: города, транспортные хабы, крупные предприятия.
Работа с медиа-контентом: постпродакшн, цветокоррекция.
Высокопроизводительные вычисления.
Backup-таргет для крупных СРК.
Теперь посмотрим на дисковую полку.
J4078-01 оборудована двумя экспандерами с возможностью горячей замены и позволяет установить до 78 накопителей в форм-фактор 4U. При этом длина полки составляет всего 810 миллиметров.
На каждый экспандер у нас есть по 4 Mini-SAS порта 12G - SFF8664
Также у каждого экспандера есть свой management-порт.
В основе идет «бродкомовский» чип SAS35x48.
Нам пришла полка с накопителями от компании Toshiba.
Здорово, что компания AIC пошла по правильному пути и стала делать салазки, не требующие работы с отверткой для установки и замены дисков :)
Для охлаждения дисковой полки используется 8 вентиляторов в шасси и по одному маленькому в каждом экспандере.
Тесты
Для того, чтобы протестировать систему, мы доукомплектовали ее следующим оборудованием:
CPU: 2x Intel(R) Xeon(R) Silver 4214R CPU @ 2.40GHz.
Память: 4х Micron 64GB PC4-21300 DDR4-2666MHz Registered ECC.
Контроллер: Broadcom 9400-16e.
В качестве интерфейса синхронизации кэшей использовались VPI HCA NVIDIA ConnectX-6.
Установлена версия ПО RAIDIX 5.1.
В JBOD установлены накопители от Toshiba.
Дисковые полки подключены крест-накрест к контроллерам для того, чтобы обеспечить максимальную производительность и стабильность даже при отказе контроллеров.
Настроен wide port на 8 линий.
В качестве интерфейсов доступа использовались встроенные контроллеры.
Далее мы кратко опишем сценарии тестов:
1. Тесты на совместимость
Установка ПО и определение компонент — pass.
Определение экспандеров и дисков — pass.
Создание массивов и томов — pass.
Проверка возможности управления LED-индикаторами — pass.
Проверка работоспособности frontend интерфейсов — pass.
2. Тесты на отказоустойчивость
Штатные перезагрузки контроллеров — pass.
Нештатные перезагрузки контроллеров — pass.
Отключение экспандеров — pass.
Отключение sas-контроллеров и кабелей — pass.
Отключение и замена дисков — pass.
3. Замеры эксплуатационных характеристик
Максимальное энергопотребление дисковой полки — 1000W.
Максимальная температура дисков под нагрузкой — 37С.
Максимальный уровень шума — 102dB.
4. Максимальный уровень производительности для потоковых задач
Созданы два массива уровня 7.3 на 39 накопителей.
На весь объем накопителей созданы тома и настроен ALUA доступ к томам.
Размер блока — 128k.Запись — 4126 MBps.
Чтение — 4098 MBps.
Запись при отказе двух накопителей — 4215 MBps.
Чтение при отказе двух накопителей — 4095 MBps.
Запись при восстановлении двух накопителей — 4180 MBps.
Чтение при восстановлении двух накопителей — 4088 MBps.
Максимальная производительность ограничена имеющимися 4 портами 10Gb, подключенных к серверу, генерирующему нагрузку.
На клиенте был установлена ОС Oracle Linux c ядром 5.4.
Конфигурационный файл fio:
[global]
blocksize=128k
bwavgtime=100000
direct=1
iodepth=16
ioengine=libaio
numjobs=16
runtime=3600
rw=rw
rwmixread=0
group_reporting
offset_increment=50G
random_generator=tausworthe64
time_based
[job]
filename=/dev/sde
При отсутствии ограничений со стороны хоста интерфейса данное сочетание платформы и JBOD способно обеспечить производительность до 13 GBps на чтение и запись.
Достичь такой уровень производительности возможно, установив контроллеры Ethernet 100G (например, от NVIDIA) или Fibre Channel.
Благо, разъемов PCIe хватает.
5. Тесты на стабильность
Стабильность системы в течении одной недели под максимальной нагрузкой при поочередном отключении и включении элементов — pass.
Теперь попробуем составить решения под конкретные задачи.
Задача 1. Система хранения данных для студии цветокоррекции
Интерфейс доступа — FC 16G.
Объем — 1PB.
Производительность доступа (RW) — 5GBps.
Контроллеры хранения:
Платформа — 2x SB203-UR.
CPU — 4x Intel(R) Xeon(R) Silver 4214R CPU @ 2.40GHz.
RAM — 24GB.
SAS HBA 2 x Broadcom 9400-16e.
Cache sync — 2 x NVIDIA ConnectX 5 VPI DualPort.
FrontEnd 4 x Qlogic QLE2672.
JBOD XJ1-40781-02.
Накопители 78 x Toshiba MG08 16 Тб MG08SCA16TE SAS.
Четыре адаптера FC выбраны, чтобы гарантировать производительность даже при отказе одного из контроллеров.
Все накопители объединены в два RAID 7.3 (34+3) и четыре диска оставлены под hot spare.
Массивы отданы разным контроллерам для равномерной обработки нагрузки.
Задача 2. Видеоархив объемом 4PB для финансового учреждения
Архив подключен к 6 видеорегистраторам.
Суммарное количество FullHD каналов — 600.
Заказчик хотел видеть стабильную производительность на запись не ниже 5GBps.
Контроллеры хранения:
Платформа — 2 x SB203-UR.
CPU — 4x Intel(R) Xeon(R) Gold 5120 CPU @ 2.20GHz.
RAM — 128GB.
SAS HBA 4x Broadcom 9400-16e.
Cache sync — 2x NVIDIA ConnectX 5 VPI DualPort.
JBOD 4x XJ1-40781-02.
Накопители 312 x Toshiba MG08 16 Тб MG08SCA16TE SAS.
FrontEnd 4x Intel X520-DA2.
В данной системе также будет использоваться RAID 7.3 и hotspare-накопители.
Выводы
Сочетание серверной платформы и 78-дискового JBOD позволит строить серьезные хранилища для задач, которые характеризуются большими объемами и интенсивным доступом к ним. Испытания показали, что системы работают без нареканий, проблем со стабильностью и охлаждением нет. Пожалуй, основной минус — очень высокое потребление JBOD (около 400 ВТ при отсутствии накопителей).