08.02.2021

RAID-масиви на NVMe. Варіанти створення. Порівняння продуктивності.

Розглянемо варіанти об'єднання NVMe SSD в RAID і продуктивність кожного рішення.

 

масиви


Доступні чотири варіанти побудови системи:
- програмний засобами ОС;
- програмно-апаратний Intel VROC;
- апаратний контролер Broadcom MegaRAID;
- програмно-яке визначається сховище (SDS).

У загальній «картині» системи зберігання не варто забувати, що швидкісні можливості інтерфейсу - це важливий, але тільки один з безлічі параметрів, що впливають на загальну продуктивність.
Корпоративне основне сховище зобов'язані бути захищеним надмірністю - це не обговорюється. Інша справа - що ціна (в широкому сенсі, не тільки «вартість») захищеності повинна розглядатися в комплексі. Принцип всіх часів і народів: «Швидко, дешево, надійно - вибери два з трьох!» ніхто не відміняв.

Варіанти будівництва RAID масиву з накопичувачів NVMe істотно розрізняються за вартістю реалізації та продуктивності.

У нашому випадку, коли підсистема NVMe є швидкісний частиною системи зберігання сервера або групи серверів, продуктивність є наріжним каменем. Інакше - навіщо взагалі городити город?

Максимальну швидкість NVMe накопичувачі показують при безпосередньому підключенні до хост-контролера.

Без особливих втрат відбувається об'єднання накопичувачів в RAID0, що базується на драйвери хост-контролера або функціях операційної системи.
Продуктивність в RAID0 зростає практично пропорційно кількості накопичувачів.
Тож не дивно, що накопичувачі в RAID0 представляються в тестах продуктивності систем в маркетингових матеріалах, оскільки дозволяють показати «красиві» цифри.

Однак, в реальному житті організаціям частіше потрібно основне сховище з захистом від втрати даних. А це значить - RAID1, 5, 6, 50, 60.

Отже, дивимося плюси-мінуси варіантів, взявши до уваги попередні міркування про необхідному рівні RAID.

Показники продуктивності підсистеми NVMe

У різних тестах використовуються SSD різних виробників і різні платформи тестування. Але інформаційна база зараз не настільки велика, щоб зібрати воєдино дані по всіх варіантах використання конкретного накопичувача. Доводиться користуватися тим - що є. Важливо розуміти якісні зміни параметрів.

Як показники продуктивності для NVMe SSD і підсистеми NVMe в цілому прийнятий ряд метрик, що показують швидкісні характеристики для різних сценаріїв навантаження.


- IOPS (Input / Output Operations Per Second) - кількість операцій введення / виводу в секунду. Це показник швидкості системи на випадкових коротких запитах. Він залежить від розміру блоку, внутрішнього устрою накопичувача і налаштувань хост-контролера;
- середня і максимальна затримка передачі. Час, витрачений підсистемою зберігання на отримання запиту і підготовку відповіді. Багато в чому визначається внутрішнім пристроєм контролера накопичувача. Середня затримка змиритися на блоках трьох розмірів (8KiB, 4KiB, 0.5KiB) і в трьох співвідношеннях читання / запис (100/0, 65/35, 0/100) при глибині черги = 1;
- пропускна здатність системи. Показник швидкості послідовного читання / запису. Вимірюється на операціях з блоками великого розміру - 128k і 1m. Цей параметр більше відноситься до тестування накопичувачів і показує максимальну швидкість видачі послідовних даних без обмежень з боку інтерфейсу. У тестах пропускна здатність розглядається з точки зору впливу на неї програмного забезпечення.

Ці показники відносяться до «синтетичним» тестовим системам. Група тестових програм намагається прив'язати показники продуктивності до реального застосування. Вони емулюють «середні по лікарні» сценарії, наприклад, для баз даних або навантаження, створювану пулом віртуальних машин.

Окремий NVMe SSD

Нам потрібна відправна точка. Якась грубка, від якої можна танцювати.

Показники тестів швидкості Intel SSD DS D3700 Series взяті у колег з Рейдікс .

Тестувався 800GB SSD в 2.5 "виконанні з інтерфейсом PCIe 3.0 2 × 2. В основі - MLC технологія флеш.

У таблиці вимір IOPS 800GB Intel DC D3700 Series накопичувача.
Значення IOPS зменшуються майже пропорційно розміру блоку переданих даних (391 000 - 1 700). Генерується при цьому потік даних, який є твором цих величин, залишається, практично, постійним.
Динаміка кривої спадання IOPS при збільшенні частки запитів на запис (391 000 - 84 000) менш крута, але призводить до зниження показника в 4,6 рази. Це пояснюється внутрішньою логікою і процесами читання / запису власне накопичувача SSD і до інтерфейсу не має відношення.

табличка

Для більш наочного уявлення, дані виведені в діаграмі:

 

111

IOPS одиночного NVMe накопичувача

 

Затримка також залежить від розміру блоку і співвідношення Читання / Запис, але масштаб змін значно менше.

Середня затримка накопичувача 800GB Intel DC D3700 Series в залежності від розміру блоку і частки запитів на читання в мілісекундах:

табличка 2

111

Середня затримка одиночного NVMe накопичувача

Максимальна затримка в мілісекундах:

табличка 3

Пропускна здатність підсистеми з одним NVMe SSD:

Тепер ми представляємо як розмір блоку і співвідношення Читання / Запис впливають на швидкісні показники накопичувача NVMe. Надалі можна розглядати скорочені результати випробувань (щоб не захаращувати великою кількістю цифр), а в деяких випадках оціночно екстраполювати результати неповних випробувань на поєднання параметрів, з яким тести не проводилися.

Група з 12 NVMe SSD (JBOD)

Ще одна відправна точка - кілька накопичувачів не об'єднаних ні в який масив. Вона потрібна для порівняння продуктивності. JBOD - група накопичувачів без чергування (на відміну від RAID0), в якому єдине логічне простір розподілено по жорстких дисків послідовно.

Порівняльні результати за показником IOPS для одного NVMe SSD і групи з 12 наведені в таблиці і показані на діаграмі нижче:

табличка 4

11111

Продуктивність одного і дванадцяти NVMe SSD, IOPS для операцій блоками 4k

 

Пропускна здатність NVMe підсистеми з 12 накопичувачів практично лінійно збільшується пропорційно їх числа:

Програмні RAID засобами ОС і файлової системи

Вартість рішення: низька (безкоштовно).
ОС: Linux.
Продуктивність: прийнятна (RAID0, переважне читання), невисока-низька (RAID5, 6, висока частка записи).
Застосування: сховище тимчасової інформації, кеш системи, основне сховище невеликої ємності із захистом дзеркалом (RAID1, RAID10).

Рішення, побудовані на утиліті mdadm операційної системи Linux і на вбудованих засобах файлової системи ZFX найдешевші. За продуктивністю тільки RAID0 mdadm можна рекомендувати для використання в якості кеш або тимчасового накопичувача і RAID6 mdadm для основного сховища з 90-100% часткою операцій читання.

Рішення на Intel VROC

Вартість рішення: низька.
ОС: Linux, Windows.
Продуктивність: середня (RAID0, 1, 10), невисока (RAID5).
Застосування: сховище тимчасової інформації, кеш системи, основне сховище.

Це не дуже дороге (15 - 30 тисяч рублів) програмне рішення на рівні драйвера. Дозволяє формувати RAID0, 1, 10 (стандартна конфігурація) або в тому числі RAID5 (преміум).

На діаграмі нижче представлені результати тестів системи з 24 NVMe SSD Ultrastar DC SN620, об'єднаних в RAID5 за допомогою Intel VROC.

11111

IOPS для 24 NVMe SSD Ultrastar DC SN620, об'єднаних в RAID5 за допомогою Intel VROC, 4k

 

Показник IOPS дуже різко (у вісім разів) падає при співвідношенні Читання / Запис 90/10. Ще в три рази - при збільшенні частки записи до 30%.

Випробовувалася система з вісьмома Intel DC P4510 NVMe SSD під управлінням Intel VROC.

У презентації інші системи координат і інше уявлення результатів.
Висновок, виведений виданням: «Intel VROC реалізований добре і забезпечує очікувані результати на добре спроектованої платформі».
При цьому, правда, в резюме замовчуються досягнення в RAID5, оскільки вони невисокі.

Нижче - один зі слайдів з підсумками тесту «SQL 90-10» (читання-запис)

111111

RAID масив на SAS / SATA / NVMe контролері

Вартість рішення: невисока.
ОС: Linux, Windows.
Продуктивність: порівнянна з рішенням на VROC.
Застосування: основне сховище з захистом (RAID5, RAID6).

MegaRAID допускає пряме підключення до 4 накопичувачів або більшу кількість через комутатор. Його має сенс ставити в систему в двох випадках:

  1. 1) сервер не підтримує NVMe інтерфейс;
  2. 2) не хочеться забирати потужності центральних процесорів для непрофільної завантаження.

Для реалізації рішення крім власне контролера потрібно корпус або корзина в корпус для установки SSD обраного форм-фактора (як правило, U.2, але є рішення навіть для M.2 накопичувачів - кошики ICY DOCK, наприклад) і набір відповідних кабелів.

Про рівень продуктивності нових контролерів від самого виробника відомо лише дуже загальне: «затримка знижена на 50%, продуктивність збільшена на 60% в порівнянні з попереднім поколінням контролерів»

Програмно-яке визначається сховище (SDS).

Вартість рішення: висока.
ОС: Linux, Windows.
Продуктивність: висока.
Застосування: Масштабоване основне сховище великої ємності із захистом даних від втрати. Високошвидкісне сховище для групи серверів.

SDS використовує потужності сучасних процесорів і розподіл навантаження між вузлами. За рахунок цього SDS може показувати продуктивність, значно перевищує можливості апаратних дискових контролерів.
З урахуванням того, що апаратних NVMe RAID контролерів, м'яко кажучи, небагато, доводиться мірятися з тим - що є.

1111111

 IOPS для системи з 12шт Intel DC D3700
RAIDZ (аналог RAID6 в файлової системі ZFS)
RAID6 засобами mdadm Linux
RAID5 засобами mdadm Linux
RAID6 засобами RAIDIX ERA
Сумарна максимальна швидкість 12 накопичувачів - апаратний межа

 

На наступній діаграмі - порівняння того ж RAIDIX ERA з Intel VROC на сервері з 24х Ultrastar DC SN620 3.2TB об'єднаних в RAID5.

11111111

IOPS для 24х Ultrastar DC SN620 в RAID5
RAIDIX ERA RAID5, 4k
Intel VROC RAID5, 4k

 

висновок

Використання апаратних рішень для створення дискових масивів з двох дисків виглядає нераціонально. Проте, існують завдання, де використання RAID-контролерів виправдано. З появою контролерів з підтримкою інтерфейсу NVMe у користувачів з'являється можливість використовувати більш швидкі SSD в своїх проектах.

-

Server Shop дає гарантію на обладнання. Все відправлене обладнання підтримується 100% повним контролем якості, і це тільки одна з причин, по якій клієнти продовжують повертатися до нас для задоволення своїх потреб в ІТ-обладнанні. З Server Shop ви купуєте душевний спокій.