`

СПЕЦИАЛЬНЫЕ
ПАРТНЕРЫ
ПРОЕКТА

Архив номеров

BEST CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Собираем систему хранения с NVMe RAID

+55
голосов

Потенциал NVMe SSD остается нераскрытым, особенно в сетевых системах хранения.

Идеи передовых серверов хранения данных спотыкаются о построение RAID-массивов из NVMe-накопителей: с помощью трехрежимных (tri-mode) аппаратных RAID-контроллеров, полупрограммным Intel VROC или программными утилитами. Tri-mode контроллеры пропускают запросы I/O через стек SAS, ограничивают совокупную полосу доступа 8-16 линиями PCIe и противоречат исходной цели NVMe - убрать посредников между CPU и накопителями. Intel VROC специфичен, привязан к платформам и показывает невысокую продуктивность. Программные массивы под Linux собирают утилитой MDRAID, в ZFS-хранилищах - встроенным менеджером томов, но, как справедливо замечено в обзоре программных массивов из NVMe-устройств, cтандартных средств недостаточно для демонстрации возможностей NVMe.

Выбор программного ядра и базовой платформы

 

Пример специализированной ОС под системы хранения на SSD  - RAIDIX 5.x на основе программного модуля RAIDIX ERA. Производительность NVMe раскрывает использование параллельных вычислений без блокировок (lockless-архитектуры). Благодаря размещению данных на векторных регистрах многоядерных CPU достигается быстрый расчет контрольных сумм, без просадки производительности под смешанной нагрузкой и в режиме восстановления массива.

Cерверу хранения на NVMe SSD нужна подходящая база. Под задачу годится однопроцессорная платформа ASUS RS500A-E10-RS12-U с AMD EPYC 7xx2P: есть запас по ядрам CPU и RAM, в 1U помещается до 12 накопителей U.2 (SFF NVMe SSD) – таких как Western Digital Ultrastar DC SN640. У SSD этой линейки емкость от 800GB до 7.68TB, что уверенно покрывает запросы «горячего» хранения.

Наш сервер получился таким:
 
    • ASUS RS500A-E10-RS12-U 650W RPSU   
    • CPU AMD EPYC 7302P 16 cores 3.0GHz /155W   
    • 8 x DDR4-3200 32GB Kingston {KSM32RD4/32MEI}
    • 8 x 3.84 TB Western Digital Ultrastar SN640 U.2 SSD
    • Mellanox MCX416A-BCAT ConnectX-4 EN 40/56GbE Dual-Port x16
    • RAIDIX 5.0.1

Цели и подготовка

Собираем систему хранения с NVMe RAID

Нас интересует скорость отклика сервера хранения с NVMe RAID под управлением RAIDIX и производительность обмена данными c инициатором. Так как количество SSD невелико, создали RAID 5, на нем сформировали 4 LUN - чтобы иметь возможность распределения нагрузки на хранилище. Выбрали интерфейс Ethernet 40 Gb/s, с агрегацией портов (MPIO) на адаптерах Mellanox - для повышения пропускной способности канала. Mellanox поддерживает RDMA, прямое обращение к данным удалённого устройства без привлечения ОС клиента и хранилища. Активировали протокол iSER (iSCSI extensions for RDMA) – он позволяет передавать данные непосредственно в буферы SCSI и из них, без создания промежуточных копий. Исключаются накладные расходы на TCP/IP.

Тесты и результаты

Задержки обращения и производительность NVMe RAID на коротких запросах мы оценивали тестовой утилитой fio, пропускную способность в многопоточном доступе –  fio и frametest.

Тест fio удобен охватом профилей нагрузок. Наши метрики:
    • IOPs в произвольном доступе блоками 4k, при соотношении запросов чтения и записи 0/100, 30/70, 50/50, 70/30, 100/0;
    • задержки (latency) на тех же операциях;
    • пропускная способность (throughput) при обращении блоками 1М и глубиной очереди 1…32.

Произвольный доступ дал такую картину:

Собираем систему хранения с NVMe RAID

 

Собираем систему хранения с NVMe RAID

 

Собираем систему хранения с NVMe RAID

Около полумиллиона IOPS при среднем времени отклика меньше 1 мс – очень приличный показатель. Профиль нагрузок 30/70 характерен для виртуальной среды, 70/30 – для OLTP-приложений.

Оценки пропускной способности:

Собираем систему хранения с NVMe RAID

Скорость ~12ГБ/с получена в полнодуплексном режиме сетевых карт, на смешанном паттерне с преобладанием чтения. На практике нет чисто произвольной или последовательной нагрузки, есть смешанная. Мы теперь хотя бы знаем пределы достижимой производительности нашего сервера с NVMe RAID.

Утилита frametest моделирует параллельную рабочую нагрузку с большим размером блока данных. Ее используют для оценки пригодности системы хранения под работу с видео высокого разрешения –хранилище должно обслуживать множественные обращения с низкими задержками на стабильно высокой скорости, без провалов («гребенки») и потери кадров.

Тест чтения/записи несжатого видео 4К в четыре потока. Одна папка, 5000 кадров, размер кадра 50МБ:

Собираем систему хранения с NVMe RAID

Записали видео в четыре разные папки для тестов чтения. Чтение из четырех папок одновременно, четыре потока 4К:

Собираем систему хранения с NVMe RAID


Кому?

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

У программных NVMe RAID на специализированном управляющем ПО много попутных преимуществ - как поддержка RAID 7.3, фоновой инициализации и реконструкции. Выбором компонентной базы сервера и настроек под профиль  нагрузок пользователя можно распоряжаться в широких пределах.

Дізнайтесь більше про мікро-ЦОД EcoStruxure висотою 6U

+55
голосов

Напечатать Отправить другу

Читайте также

 

Slack подает жалобу на Microsoft и требует антимонопольного расследования от ЕС

 
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT