При построении систем хранения данных под управлением специализированным ПО важную роль играет правильный подбор оборудования. 

Все начинается с понимания архитектуры решения.

На данный момент можно выделить три наиболее популярных подхода:

1. Решения с единым набором накопителей и одним и более контроллерами

Накопители, установленные в шасси или внешнюю корзину доступны всем контроллерам хранилища.

Два независимых контроллера работают с RAID-контроллером и подменяют друг друга. Такие СХД являются решениями блочного и файлового типа.

2. Решения без общего набора накопителей (shared nothing)

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

Такая архитектура лежит в основе хранилищ совершенно разного типа, но наиболее распространена она у объектных и файловых продуктов.

Кстати, они не всегда являются строго консистентными решениями. 

3. Дезагрегированный подход 

Накопители вынесены наружу в высокопроизводительные сетевые EBOF и предоставляются контроллерам по требованию. 

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

RAIDIX 5.1 разрабатывался для построения систем первого типа.

Данная архитектура позволяет строить унифицированные (Unified) СХД,  обладающие следующими характеристиками:

  1. Полезный объем хранения до 10 PB.

  2. Производительность доступа к HDD-Only конфигурациям 22GBps.

  3. Производительность доступа к AFA конфигурациям до 30GBps и 5 000 000 IOps.

  4. Поддержка блочных протоколов FC/iSCSI/iSER/SRP.

  5. Поддержка файловых протоколов NFS/SMB/AFP.

  6. Обеспечение доступности данных достигается благодаря технологии 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 кэша в СХД на основе жестких дисков.

  • Интерфейсы доступа к СХД.

Пример SAS-контроллера от Broadcom
Пример SAS-контроллера от Broadcom

Кроме непосредственно разъемов для установки карт важно их расположение и форм-фактор поддерживаемых устройств (некоторые карты возможно установить только в 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 ВТ при отсутствии накопителей).

Комментарии (11)


  1. Flidermouse
    04.08.2021 17:35
    -2

    Заголовок зачётный!


    1. Flidermouse
      05.08.2021 14:40

      Ну вот, прогнулись и поменяли. Жаль.


      1. raidixteam Автор
        05.08.2021 23:58

        Не расстраивайтесь! У нас впереди еще много заголовков. А за комплимент выше спасибо :)


      1. ksr123
        08.08.2021 17:18

        А как было?


  1. Nnnnoooo
    04.08.2021 17:58
    +10

    И еще один кликбейтный заголовок не имеющий отношения к самой статье


  1. vakhramov
    04.08.2021 18:09

    >основной минус — очень высокое потребление

    да уж, врубил хранилку от IBM дома, 750 ватт на 24 диска получилось, ещё и взлетают как квадрокоптер


    1. raidixteam Автор
      05.08.2021 23:59

      Приличная у вас система. И сравнение, конечно, небанальное!


  1. quituku
    05.08.2021 11:05

    Подскажите, какие модели дисков использовались в тестах.


    1. raidixteam Автор
      05.08.2021 11:06

      Конкретной с этой полкой использовали TOSHIBA MG07SCA12TE 12Tb


  1. Speccyfan
    10.08.2021 17:49

    Не понял, fio запустили, а где результаты по IOPS? slat?


    1. raidixteam Автор
      13.08.2021 14:50

      Мы тестировали только потоковые операции, а адекватные результаты по IOPS и latency так не получить. В будущем обязательно протестируем random на гибридных, all-flash или all-NVMe системах, и тогда уже можно будет рассказать про IOPS и latency :)