У цьому блозі обговорюються основні особливості Dell EMC Ready Solutions for HPC BeeGFS Storage , про які було нещодавно оголошено. Це третій блог із серії, присвячений високопродуктивному рішенню для зберігання даних BeeGFS. У першому блозі було оголошено про випуск рішення. У другому блозі обговорювалася масштабованість готових рішень Dell EMC для зберігання HPC BeeGFS. Він надав детальну інформацію про базові конфігурації, гнучкі масштабовані конфігурації та фактичну виміряну продуктивність послідовного читання/запису різних конфігурацій, демонструючи, що масштабованість є лінійною щодо кількості серверів у рішенні. У поточному блозі буде висвітлено використання "StorageBench", вбудованого тесту BeeGFS.
BeeGFS - це файлова система з відкритим вихідним кодом, яку можна завантажити з www.beegfs.io. Це паралельна файлова система, яка розподіляє дані між кількома об'єктами зберігання. Це програмно-визначене сховище, яке відокремлює логічну файлову систему від базового обладнання зберігання, дозволяючи користувачеві визначати, як і де зберігаються дані. Програмне забезпечення файлової системи включає корпоративні функції, такі як висока доступність, квотування та списки контролю доступу. Ключовими особливостями BeeGFS є простота використання, масштабованість і гнучкість. Простота його використання пов'язана з тим, що всі серверні компоненти є демонами простору користувача, тоді як клієнт є модулем ядра, який не вимагає жодних патчів до самого ядра. Всі компоненти BeeGFS можна встановлювати і оновлювати без перезавантаження сервера. Таким чином, ми можемо додавати клієнтів і сервери до існуючої системи без будь-яких простоїв. Додавши сервери та диски, продуктивність та ємність файлової системи можна масштабувати більше у блозі, посилання на який наведено тут. BeeGFS підтримує кілька дистрибутивів Linux і призначений для роботи з будь-якою локальною файловою системою, сумісною з POSIX. BeeGFS також підтримує запуск декількох екземплярів даної служби на одному сервері.
Готові рішення Dell EMC для зберігання даних HPC BeeGFS використовують усі ключові функції файлової системи BeeGFS і розроблені для високої продуктивності. Рішення використовує роздільники PowerEdge R740xd для зберігання та обслуговування/обробки метаданих і даних. Кожен сервер PowerEdge R740xd має 24 твердотільні накопичувачі Intel P4600 NVMe ємністю 1,6 ТБ, які вважаються другим великим стрибком у технології накопичувачів, причому SSD є першим. У середовищах HPC простір для подряпин часто може бути обмежуючим фактором. Він може бути занадто маленьким або занадто повільним. Dell EMC Ready Solutions for HPC BeeGFS Storage призначений для використання в якості скретч-рішення і обслуговує скретч-сховище з використанням файлової системи BeeGFS.
BeeGFS включає в себе два вбудованих інструменту бенчмаркінгу, які можуть допомогти охарактеризувати або оцінити мережу або сховище: NetBench і StorageBench відповідно. При включеному режимі NetBench сервери будуть відкидати отримані запити на запис замість того, щоб записувати дані. Аналогічно, у випадку запитів на читання, замість читання з базової файлової системи, клієнтам будуть надсилатися лише буфери пам'яті. Режим NetBench призначений для тестування пропускної здатності мережевої потокової передачі незалежно від базових дисків. З іншого боку, StorageBench призначений для вимірювання потокової пропускної здатності базової файлової системи незалежно від продуктивності мережі. StorageBench – це бенчмарк об'єктів зберігання даних, який не використовує мережу. Команда storage-bench просто надсилає запит цільовим сховищам, щоб почати запис/читання даних. При цьому ми усуваємо вплив мережі. Вихідні дані, які ми отримуємо від сховища, є найкращою продуктивністю, якої може досягти система, якщо продуктивність мережі ідеальна. Цей блог ілюструє, як StorageBench можна використовувати для порівняння продуктивності різних цілей зберігання і, таким чином, виявлення дефектних або неправильно налаштованих цілей.
StorageBench не використовує змонтовану файлову систему. Коли ми запускаємо StorageBench, на файл припадає лише одна ціль. Storagebench створює каталог на кожному об'єкті зберігання в системі, де створюються тестові файли, що дорівнює кількості тестових потоків. Дані передаються безпосередньо на нього, щоб показати низький рівень пропускної здатності, доступний для кожного об'єкта зберігання. Без будь-якого мережевого зв'язку чергування файлів неможливо змоделювати. Таким чином, результати бенчмарку сховища досить порівнянні з клієнтським вводу-виводом з відключеним чергуванням. Коли запускаються фактичні тести, файл розподіляється між 4 цілями зберігання, якщо використовується шаблон чергування за замовчуванням.
З метою тестування різних цілей зберігання використовувалися малі та середні конфігурації, описані в блозі про масштабованість Dell EMC BeeGFS Storage Solution. Обидві конфігурації мають однакову кількість цілей метаданих, налаштованих у RAID 1. Вони відрізняються конфігурацією RAID об'єктів зберігання. У той час як невелика конфігурація має сховище, цілі, налаштовані в RAID 0 з 6 дисків, середня конфігурація має цілі сховища, налаштовані в RAID 10 з 6 дисків. Цілі сховища, налаштовані для малих і середніх налаштувань, наведено в таблиці нижче.
Таблиця 1 Конфігурація тестового стенду | ||
---|---|---|
Конфігурації | Середній - RAID 10 для цілей зберігання | Малий - RAID 0 для цілей зберігання |
Кількість цільових метаданих | 6 | 6 |
Кількість екземплярів сервісу метаданих | 6 | 6 |
Кількість серверів зберігання даних | 5 | 2 |
Кількість об'єктів зберігання | 22 | 10 |
Кількість сервісів зберігання даних на сервер | 4 | 4 |
Кількість послуг зберігання на зону NUMA | 2 | 2 |
Кількість цілей на екземпляр служби зберігання даних | 2 | 2 |
Примітка: Наведена вище конфігурація носія призначена лише для перевірки пропускної здатності об'єктів зберігання, налаштованих у різних конфігураціях RAID за допомогою інструменту StorageBench.
Тест сховища запускається та контролюється за допомогою інструменту beegfs-ctl. Пакунок beegfs-utils надає інструмент командного рядка beegfs-ctl, який можна використовувати для запуску бенчмарку цілей зберігання. Наступний приклад запускає тест запису на всіх цільових серверах зберігання даних BeeGFS з розміром блоку вводу-виводу 512 КБ, використовуючи 16 потоків на ціль, кожен з яких запише 200 Гб даних у свій власний файл.
[root@stor1 ~]# beegfs-ctl --storagebench --alltargets --write --blocksize=512K --size=200G --threads=16
Запущено тест сховища запису.
Ви можете запитати статус за допомогою аргументу --status beegfs-ctl.
Статус бенчмарку сервера:Виконується:
10
Програма «Біг: 10-дюймовий вихід вказує на те, що всього в системі налаштовано 10 цілей зберігання.
Щоб запитати статус/результати бенчмарку для всіх цілей, можна виконати наступну команду:
[root@stor1 ~]# beegfs-ctl --storagebench --alltargets --status
Статус бенчмарку сервера:Завершено:
10
Запишіть результати бенчмарку:Мінімальна пропускна здатність:
4692435 KiB/s nodeID: stor1-numa0-2 [ID: 6], targetID: 50
Максимальна пропускна здатність: 5368537 KiB/s nodeID: meta-stor-numa1-2 [ID: 2], targetID: 48
Середня пропускна здатність: 4907091 КіБ/с
Сукупна пропускна здатність: 49070915 КіБ/с
Додавання докладного слова до наведеної вище команди покаже список усіх цілей та їх відповідну пропускну здатність.
[root@meta-stor ~]# beegfs-ctl --storagebench --alltargets --status --verbose
Статус бенчмарку сервера:Завершено:
10
Запишіть результати бенчмарку:Мінімальна пропускна здатність:
4692435 KiB/s nodeID: stor1-numa0-2 [ID: 6], targetID:
6 Максимальна пропускна здатність: 5368537 KiB/s nodeID: meta-stor-numa1-2 [ID: 2], targetID:
2 Середня пропускна здатність: 4907091 КіБ/с
Сукупна пропускна здатність: 49070915 KiB/s Список усіх цілей:1 5368477 KiB/s
nodeID: meta-stor-numa1-1 [ID:
1]
2 5368537 KiB/s nodeID: meta-stor-numa1-2 [ID: 2]
3 4706368 KiB/s nodeID: stor1-numa0-1 [ID: 3]
4 4896077 KiB/s nodeID: stor1-numa1-1 [ID: 4]
5 4872876 KiB/s nodeID: stor1-numa1-2 [ID: 5]
6 4692435 KiB/s nodeID: stor1-numa0-2 [ID: 6]
7 4879054 KiB/s nodeID: stor2-numa1-2 [ID: 7]
8 4864737 KiB/s nodeID: stor2-numa1-1 [ID: 8]
9 4696152 KiB/s nodeID: stor2-numa0-1 [ID: 9]
10 4726202 KiB/s nodeID: stor2-numa0-2 [ID: 10]
Середня пропускна здатність на цільове сховище, налаштоване в RAID 0, становить 5,02 ГБ/с.
Наступний приклад запускає тест запису на всіх цільових серверах зберігання даних BeeGFS з розміром блоку вводу-виводу 512 КБ, використовуючи 16 потоків на ціль, кожен з яких запише 200 Гб даних у свій власний файл.
[root@node001 ~]# beegfs-ctl --storagebench --alltargets --write --blocksize=512K --size=200G --threads=16
Запущено тест сховища запису.
Ви можете запитати статус за допомогою аргументу --status beegfs-ctl.
Статус бенчмарку сервера:Виконується:
22
Додавання докладного слова до наведеної вище команди покаже список усіх цілей та їх відповідну пропускну здатність.
[root@node001 ~]# beegfs-ctl --storagebench --alltargets --status --verbose
Статус бенчмарку сервера:Завершено:
22
Запишіть результати бенчмарку:Мінімальна пропускна здатність:
2705987 KiB/s nodeID: node006-numa0-1 [ID: 19], targetID:
1 Максимальна пропускна здатність: 3364311 KiB/s nodeID: node001-numa1-1 [ID: 1], targetID:
1 Середня пропускна здатність: 3212845 КіБ/с
Сукупна пропускна здатність: 70682603 КіБ/сСписок усіх цілей:1 3364311 КіБ/с nodeID: node001-numa1-1 [ID:
1]
2 3361591 KiB/s nodeID: node001-numa1-2 [ID: 2]
3 3309530 KiB/s nodeID: node002-numa0-1 [ID: 3]
4 3312840 KiB/s nodeID: node002-numa0-2 [ID: 4]
5 3332095 KiB/s nodeID: node002-numa1-1 [ID: 5]
6 3323319 KiB/s nodeID: node002-numa1-2 [ID: 6]
7 3313000 КіБ/с nodeID: node003-numa0-1 [ID: 7]
8 3321214 KiB/s nodeID: node003-numa0-2 [ID: 8]
9 3335072 KiB/s nodeID: node003-numa1-1 [ID: 9]
10 3339743 KiB/s nodeID: node003-numa1-2 [ID: 10]
11 3302175 KiB/s nodeID: node004-numa0-1 [ID: 11]
12 3309474 KiB/s nodeID: node004-numa0-2 [ID: 12]
13 3329879 KiB/s nodeID: node004-numa1-1 [ID: 13]
14 3328291 КіБ/с nodeID: node004-numa1-2 [ID: 14]
15 3306132 KiB/s nodeID: node005-numa0-1 [ID: 15]
16 3307096 KiB/s nodeID: node005-numa0-2 [ID: 16]
17 3318436 KiB/s nodeID: node005-numa1-1 [ID: 17]
18 3329684 KiB/s nodeID: node005-numa1-2 [ID: 18]
19 2705987 КіБ/с nodeID: node006-numa0-1 [ID: 19]
20 2716438 КіБ/с nodeID: node006-numa0-2 [ID: 20]
21 2707970 KiB/s nodeID: node006-numa1-1 [ID: 21]
22 2708326 KiB/s nodeID: node006-numa1-2 [ID: 22]
Середня пропускна здатність одного цільового сховища становить 3,29 ГБ/с.
З результатів тестів тестів StorageBench, проведених на двох різних конфігураціях BeeGFS, одна з цільовими сховищами, налаштованими в RAID 0, а інша з об'єктами зберігання, налаштованими в RAID 10, очевидно, що продуктивність запису краща з об'єктами зберігання, налаштованими в RAID 0, а не в RAID 10. Коли команда dd використовувалася для запису файлу 10G з розміром блоку 1M і "oflag=direct", середнє значення становило близько 5,1 ГБ/с для невеликої системи, налаштованої в RAID 0, тоді як середня пропускна здатність становила близько 3,4 ГБ/с для середньої системи, налаштованої в RAID 10, що можна порівняти з результатами, отриманими за допомогою інструменту Storagebench.
[root@node001 ~]# beegfs-ctl --storagebench --alltargets --status --verbose
Статус бенчмарку сервера:Завершено:
33
Прочитайте результати бенчмарків:Мінімальна пропускна здатність:
2830479 KiB/s nodeID: node003-numa1-2 [ID: 14], targetID: 14
Максимальна пропускна здатність: 3025500 КіБ/с nodeID: node005-numa0-1 [ID: 22], targetID: 22
Середня пропускна здатність: 2917836 КіБ/с
Сукупна пропускна здатність: 96288596 КіБ/с Список усіх цілей:1 2950039 КіБ/с
nodeID: node001-numa1-1 [ID:
1]
2 2956121 KiB/s nodeID: node001-numa1-2 [ID: 2]
3 2954473 KiB/s nodeID: node001-numa1-3 [ID: 3]
4 2957658 KiB/s nodeID: node002-numa0-1 [ID: 4]
5 2947109 KiB/s nodeID: node002-numa0-2 [ID: 5]
6 2969886 KiB/s nodeID: node002-numa0-3 [ID: 6]
7 2892578 КіБ/с nodeID: node002-numa1-1 [ID: 7]
8 2886899 KiB/s nodeID: node002-numa1-2 [ID: 8]
9 2888972 KiB/s nodeID: node002-numa1-3 [ID: 9]
10 2861995 KiB/s nodeID: node003-numa0-1 [ID: 10]
11 2874314 KiB/s nodeID: node003-numa0-2 [ID: 11]
12 2879096 KiB/s nodeID: node003-numa0-3 [ID: 12]
13 2832635 КіБ/с nodeID: node003-numa1-1 [ID: 13]
14 2830479 KiB/s nodeID: node003-numa1-2 [ID: 14]
15 2830971 KiB/s nodeID: node003-numa1-3 [ID: 15]
16 2986890 KiB/s nodeID: node004-numa0-1 [ID: 16]
17 2979197 KiB/s nodeID: node004-numa0-2 [ID: 17]
18 2983958 KiB/s nodeID: node004-numa0-3 [ID: 18]
19 2897974 КіБ/с nodeID: node004-numa1-1 [ID: 19]
20 2900880 КіБ/с nodeID: node004-numa1-2 [ID: 20]
21 2904036 KiB/s nodeID: node004-numa1-3 [ID: 21]
22 3025500 КіБ/с nodeID: node005-numa0-1 [ID: 22]
23 3021558 KiB/s nodeID: node005-numa0-2 [ID: 23]
24 3017387 KiB/s nodeID: node005-numa0-3 [ID: 24]
25 2921480 KiB/s nodeID: node005-numa1-1 [ID: 25]
26 2930226 КіБ/с nodeID: node005-numa1-2 [ID: 26]
27 2930548 KiB/s nodeID: node005-numa1-3 [ID: 27]
28 2900018 KiB/s nodeID: node006-numa0-1 [ID: 28]
29 2898520 KiB/s nodeID: node006-numa0-2 [ID: 29]
30 2907113 KiB/s nodeID: node006-numa0-3 [ID: 30]
31 2855079 КіБ/с nodeID: node006-numa1-1 [ID: 31]
32 2853527 КіБ/с nodeID: node006-numa1-2 [ID: 32]
33 2861480 KiB/s nodeID: node006-numa1-3 [ID: 33]
З наведених вище результатів видно, що всі цілі зберігання працюють однаково і в системі немає дефектних цілей.