Обзор решения
В этой статье блога описывается решение Dell EMC HPC NFS для хранения данных версии 7.4 (NSS7.4-HA), которое использует масштабируемые процессоры Intel Xeon второго поколения под кодовым названием «Cascade Lake». Эти улучшенные процессоры Xeon имеют до 28 ядер, до 38,5 МБ кэш-памяти последнего уровня и шесть каналов памяти с частотой 2933 МТ/с на разъем. Основные функции каскадных процессоров Lake служат для
устранения угроз аппаратного обеспечения на боковых каналах, с помощью
Intel DL Boost (внни), а также для поддержки повышенных скоростей и частоты памяти.
В каскадной функции Lake и его предшественника Skylake
имеетсяфункциональность под названием
Адддк (даптиве
dаубле
dRAM dевице
Cорректион). ADDDC развертывается во время работы устройства для динамического обнаружения неисправных устройств DRAM, продолжая осуществлять коррекцию данных на одном устройстве (
SDDC) и предоставлять память для кода коррекции ошибок (ECC), что увеличивает срок службы DIMM. Эта функция активируется только для устройств x4 DRAM и не выполняет никаких действий, если в системе есть устройства x8 DRAM. Поскольку последняя версия NSS-HA 7.4 использует только 16 ГБ памяти, то есть конфигурацию x8, функция ADDDC затенена и не доступна для настройки в BIOS. Тем не менее, если используется память объемом 32 Гбайт, то АДДДК будет доступна в качестве настраиваемого параметра, и рекомендуется установить ее в значение Disabled (отключено), чтобы предпочитать производительность по сравнению с функциями RAS.
Рекомендуется настроить серверы NFS с помощью профиля HPC, как описано в блоге "маркировка
BIOS для Intel Каскад Lake" это включает настройку BIOS для настройки кластера Sub-NUMA, логический процессор отключен, а профиль системы задан в значение «производительность». При обновлении существующей системы перед переходом на процессоры Cascade Lake убедитесь, что BIOS обновлен до версии, поддерживающей процессоры Cascade Lake. Специалисты HPC Engineering в лаборатории HPC and AI Innovation Lab провели серию тестов производительности серверов NSS с процессорами Cascade Lake и сравнили результаты с полученными ранее при использовании решения NSS7.3-HA на базе серверов PowerEdge с процессорами семейства Xeon предыдущего поколения «Skylake-SP». Результаты тестирования и сравнение представлены в этом блоге.
Решение для хранения NFS, предоставляемое Dell EMC, оптимизировано и настроено для достижения максимальной производительности. При настройке решения NSS7.4-HA следует обратить внимание на следующие моменты:
- Минимальная поддерживаемая операционная система для использования процессоров Cascade Lake — Red Hat Enterprise Linux 7.6. Однако при использовании ядра версии 3.10.0-957.el7 общий ресурс NFS будет «зависать» на задаче, например kworker, потребляя 100% ЦП. Основная причина проблемы заключается в рассинхронизации уровня TCP с состоянием транспорта слоев sunrpc. Эта проблема была устранена в пакете ядра версии kernel-3.10.0-957.5.1.el7 или более поздней. Таким образом, базовая операционная система, используемая для этого решения, — RHEL7.6, а используемая версия ядра — kernel-3.10.0-957.5.1.el7. Дополнительные сведения доступны по ссылке https://access.redhat.com/solutions/3742871.
- Если не установлены следующие пакеты, для решения NSS7.4-HA ресурс nfsserver не запускается из-за сбоя запуска nfs-idmapd.service. Дополнительные сведения доступны по ссылке https://access.redhat.com/solutions/3746891.
- resource-agents-4.1.1-12.el7_6.4
- resource-agents-aliyun-4.1.1-12.el7_6.4
- resource-agents-gcp-4.1.1-12.el7_6.4 или более поздней версии.
- В примечаниях к выпуску RHEL7.6 подчеркивается тот факт, что ошибка на уровне ввода-вывода LVM приводит к повреждению данных в первых 128 КБ распределяемого пространства физического тома. Проблема была решена с помощью lvm2-2.02.180-10.el7_6.2 или более поздней версии. Поэтому убедитесь, что пакет lvm2 обновлен до последней версии. Если обновление lvm2 невозможно, то временное решение заключается в том, чтобы не использовать команды LVM, которые изменяют метаданные группы томов (VG), такие как lvcreate или lvextend, в то время как в группе томов используются логические тома.
Архитектура NSS7.4-HA
На рис. 1 показана структура решения NSS7.4-HA. За исключением необходимых обновлений программного обеспечения и микропрограмм, NSS7.4-HA и NSS7.3-HA используют одну и ту же конфигурацию кластера HA и системы хранения данных. Пара серверов NFS в конфигурации высокой доступности «активный-пассивный» подключена к PowerVault ME4084. На каждом сервере NFS имеется две платы SAS. К каждой плате подключен кабель SAS для каждого контроллера в общей системе хранения, поэтому отказ одной платы SAS или кабеля SAS не влияет на доступность данных (подробнее о конфигурации см. в
технической документации по NSS7.3-HA).
Архитектура NSS7.4-HA
Сравнение компонентов в NSS7.4-HA и NSS7.3-HA
Несмотря на то, что решения Dell NSS-HA получили множество аппаратных и программных обновлений для обеспечения более высокой доступности, производительности и емкости хранения данных с момента выпуска первого NSS-HA, архитектурные принципы проектирования и развертывания семейства решений NSS-HA остаются неизменными. В последней версии и более ранней версии NSS7.3-HA используется один и тот же сервер хранения — PowerVault ME4084. В следующей таблице приведено сравнение компонентов в последнем решении NSS7.4-HA и более раннем решении NSS7.3-HA.
Таблица 1. Таблица 1. Сравнение компонентов в NSS7.4-HA и NSS7.3-HA
Решение |
Выпуск NSS7.4-HA (июнь 2019 г.) |
Выпуск NSS7.3-HA (октябрь 2018 г.) |
Модель сервера NFS |
2 сервера Dell PowerEdge R740 |
Возможность внутреннего подключения |
Плата Gigabit Ethernet с использованием Dell Networking S3048-ON |
Подсистема хранения |
Dell EMC PowerVault ME4084 84-3,5 "NL SAS Drives до 12 Тбайт. Поддерживает до 1008TB (неформатированного пространства) 8 логических модулей, линейное 8 + 2 RAID 6, размер блока 128KiB. 4 глобальных запасных жестких диска. |
Подключение к системе хранения |
Соединения SAS 12 Гбит/с. |
Процессор |
2 процессора Intel Xeon Gold 6240, 2,6 ГГц, 18 ядер на процессор |
2 процессора Intel Xeon Gold 6136, 3,0 ГГц, 12 ядер на процессор |
Модули |
12 модулей RDIMM, 16 ГБ, 2933 МТ/с |
12 модулей RDIMM, 16 ГБ, 2666 МТ/с |
Операционная система |
Red Hat Enterprise Linux 7.6 |
Red Hat Enterprise Linux 7.5 |
Версия ядра |
3.10.0-957.5.1.el7.x86_64 |
3.10.0-862.el7.x86_64 |
Масштабируемая файловая система Red Hat (XFS) |
v4.5.0-18 |
v4.5.0-15 |
Возможности подключения к внешней сети |
Mellanox ConnectX-5 InfiniBand EDR/100 GbE и 10 GbE |
Mellanox ConnectX-5 InfiniBand EDR и 10 GbE. Для блога решения NSS 7.3 — ha с высоким уровнем доступности, используется Mellanox ConnectX-4 EDR/100 GbE. |
Версия OFED |
Mellanox OFED 4.5-1.0.1.0 |
Mellanox OFED 4.4-1.0.0 |
В остальной части статьи блога будут представлены опытный образец и информация о производительности ввода-вывода NSS7.4-HA. Чтобы показать разницу в производительности между NSS7.4-HA и предыдущим выпуском, будут также приведены соответствующие показатели производительности NSS7.3-HA.
Конфигурация опытного образца
Здесь описывается опытный образец, используемый для оценки производительности и функциональности решения NSS7.4-HA. Обратите внимание, что процессоры, используемые для тестирования производительности, отличаются от процессоров, выбранных для данного решения, поскольку процессоры Xeon Gold 6240 не были получены вовремя. План состоит в том, чтобы повторить некоторые тесты, как только будут доступны процессоры 6240, и при необходимости внести изменения в этот отчет.
Таблица 2. NSS конфигурация оборудования с высокой доступностью (7,4)
Конфигурация сервера |
Модель сервера NFS |
Dell PowerEdge R740 |
Процессор |
2 процессора Intel Xeon Gold 6244, 3,60 ГГц и 8 ядер в каждом |
Модули |
12 модулей RDIMM, 16 ГБ, 2933 МТ/с |
Локальные диски и RAID-контроллер |
PERC H730P с пятью жесткими дисками SAS емкостью 300 ГБ, 15 000 об/мин. Два диска настроены в RAID1 для ОС, два диска настроены в RAID0 для обмена пространством, а пятый диск — в качестве «горячего» резерва для группы дисков RAID1. |
Плата Mellanox EDR (разъем 8) |
Плата Mellanox ConnectX-5 EDR |
Плата Ethernet 1GbE (разъем для дополнительной платы) |
Дополнительная сетевая плата Broadcom 5720 QP 1 Gigabit Ethernet или Intel(R) Gigabit 4P I350-t rNDC |
Внешний контроллер хранилища (разъем 1 и разъем 2) |
Два контроллера Dell 12Gbps SAS HBA |
Управление системами |
iDRAC9 Enterprise |
Конфигурация системы хранения |
Полка системы хранения |
1 полка Dell PowerVault ME4084 |
RAID-контроллеры |
Дуплексные RAID-контроллеры в Dell ME4084 |
Жесткие диски |
84 диска NL SAS 10 ТБ 7200 об/мин на массив, всего 84 диска по 10 ТБ |
Другие компоненты |
Частный коммутатор Gigabit Ethernet |
Dell Networking S3048-ON |
Модуль распределения питания (PDU) |
Два переключаемых стоечных модуля распределения питания APC, модель AP7921B |
Таблица 3. Версии по NSS 7,4-HA Server
Компонент |
Описание |
Операционная система |
Red Hat Enterprise Linux (RHEL) 7.6 x86_64 errata |
Версия ядра |
3.10.0-957.5.1.el7.x86_64 |
Пакет кластера |
Пакет Red Hat Cluster Suite от RHEL 7.6 |
Файловая система |
Масштабируемая файловая система Red Hat (XFS) 4.5.0-18. |
Инструмент для управления системами |
Dell OpenManage Server Administrator 9.3.0-3407_A00 |
Таблица 4. Конфигурация клиентов NSS 7,4-HA
Компонент |
Описание |
Серверы |
32 вычислительных узла Dell EMC PowerEdge C6420 |
ЦП |
2 процессора Intel Xeon Gold 6148, 2,40 ГГц и 20 ядер на процессор |
Модули |
12 модулей RDIMM, 16 ГБ, 2666 МТ/с |
Операционная система |
Red Hat Enterprise Linux Server версии 7.6 |
Версия ядра |
3.10.0-957.el7.x86_64 |
Соединение |
Mellanox InfiniBand EDR |
Версия OFED |
4.3-1.0.1.0 |
Микропрограмма ConnectX-4 |
12.17.2052 |
Сводная информация о производительности ввода-вывода NSS7.4-HA
В этом разделе представлены результаты тестов производительности ввода-вывода для текущего решения NSS7.4. Все тесты производительности проводились в сценарии без сбоев для измерения максимальных возможностей решения. Тесты сосредоточены на трех типах шаблонов ввода-вывода: большие последовательные операции чтения и записи, небольшие случайные операции чтения и записи, а также три операции с метаданными (создание файлов, операция stat и удаление). Как и в случае с предыдущей версией NSS 7.3. HA, в решении используются планировщики ввода-вывода крайних сроков и управляющие программы 256 NFS.
В конфигурации 840TB (неформатированная емкость системы хранения) было выполнено тестирование возможностей подключения к сети по протоколу EDR. Чтобы создать рабочую нагрузку для тестирования производительности использовался 32-узловой вычислительный кластер. Каждый тест выполнялся по диапазону клиентов для проверки масштабируемости решения.
В данном исследовании использовались показатели производительности Иозоне и мдтест. Для тестов с последовательными и случайными операциями использовалась утилита IOzone. Для тестов с последовательными операциями использовался запрос размером 1024 КБ. Общий объем передаваемых данных составил 2 ТБ, чтобы обеспечить заполнение кэш-памяти сервера NFS. В тестах со случайными операциями использовался запрос размером 4 КБ, и каждый клиент считал и записал файл размером 4 ГБ. Тесты метаданных проводились с использованием приложения mdtest на базе OpenMPI и включали операции создания, обработки и удаления файлов (полные команды, используемые в тестах, см. в Приложении A технической документации по NSS7.3-HA).
IPoIB: последовательные операции записи и чтения N-N
Для оценки последовательных операций чтения и записи теста IOzone использовалась версия 3.487 в режиме последовательного чтения и записи. Эти тесты проводились на множестве потоков, начиная с 1 потока и далее по степеням числа 2, вплоть до 64 потоков. При каждом подсчете потоков было создано одинаковое количество файлов, поскольку этот тест работает с одним файлом на поток или с N-N. Был выбран размер агрегатного файла 2 ТБАЙТ, который равномерно распределяется между количеством потоков в любом заданном тесте.
На рис. 2 приведено сравнение производительности последовательных операций ввода-вывода NSS 7,4-HA с версией NSS 7.3-HA. На рисунке видно, что версии NSS7.4 и NSS7.3 имеют одинаковую пиковую производительность при чтении со скоростью ок. 7 ГБ/с и записи — ок. 5 ГБ/с. Однако при некоторых подсчетах потоков было измерено снижение производительности записи на 15–20% по сравнению с решением NSS7.3-HA. Исследование этой разницы в производительности еще не закончено. Производительность чтения увеличилась почти на 45% при одном и двух потоках и на 18% при восьми потоках. Для количества потоков выше 8 производительность чтения аналогична производительности решения NSS7.3-HA. Увеличение производительности чтения при меньшем количестве потоков, вероятно, связано с аппаратными ограничениями, которые используются в процессорах Cascade Lake для защиты от атак по обходным каналам. Высокая производительность последовательного ввода-вывода IPoIB
IPoIB: произвольные операции записи и чтения N-N
Для оценки производительности произвольных операций ввода-вывода использовался IOzone версии 3.487 в произвольном режиме. Испытания проводились на количестве потоков от 1 до 64 по степеням числа 2. Размер записи был выбран равным 4 КБ. Каждый клиент читал или записывал файл 4 ГБ для моделирования произвольного доступа к небольшим данным. Так как в кластере имелись только 32 узлов, точка данных 64-Thread была получена с клиентами 32, использующими 2 потока.
На рис. 3 показано сравнение производительности произвольных операций записи и ввода-вывода NSS 7,4-HA с NSS 7.3-HA. Как видно на рисунке, пиковая производительность NSS7.4 при произвольной записи аналогична производительности NSS7.3-HA — ок. 7300 операций ввода-вывода в секунду. В решении NSS7.4-HA для меньшего количества потоков (1 и 2) производительность записи примерно на 14% ниже, чем в предыдущей версии решения. Этот аспект исследуется в данный момент. Производительность произвольного чтения постоянно увеличивается на NSS7.4 и достигает пика в 16 607 операций ввода-вывода в секунду при 64 потоках. В предыдущем выпуске (NSS7.3-HA) пиковая производительность 28 811 операций ввода-вывода в секунду была достигнута при 32 потоках, что на 42% выше пиковой производительности, достигаемой при произвольном чтении в решении NSS7.4-HA. Производительность произвольного ввода-вывода IPoIB
IPoIB: операции с метаданными
Для оценки производительности операций с метаданными системы был использован инструмент MDTest версии 1.9.3. Использовался дистрибутив OpenMPI версии 1.10.7. Тесты операций с метаданными проводились путем создания 960 000 файлов для количества потоков до 32, а затем путем увеличения количества файлов для проверки масштабируемости решения, как указано в таблице 5. Проверки метаданных. Распределение файлов и каталогов между потоками
Количество потоков |
Количество файлов в каталоге |
Количество каталогов на поток |
Общее количество файлов |
1. |
3 000 |
320 |
960 000 |
2. |
3 000 |
160 |
960 000 |
4. |
3 000 |
80 |
960 000 |
8. |
3 000 |
40 |
960 000 |
16 |
3 000 |
20 |
960 000 |
32 |
3 000 |
10. |
960 000 |
64 |
3 000 |
8. |
1 536 000 |
128 |
3 000 |
4. |
1 436 000 |
256 |
3 000 |
4. |
3 072 000 |
512 |
3 000 |
4. |
6 144 000 |
На рис. 4, рис. 5 и рис. 6 соответственно изображены результаты операций создания и удаления файлов, а также операции STAT. Поскольку вычислительный кластер HPC содержит 32 вычислительных узла, на приведенных ниже графиках каждый клиент выполнил не более одного потока на узел при количестве до 32. Для числа клиентов 64, 128, 256 и 512 каждый узел выполнял одновременно 2, 4, 8 или 16 операций.
При создании файлов производительность повышается на 20% до 16 потоков, а начиная с 32 потоков, производительность обеих версий почти одинакова.
Операции stat в NSS 7,4 зарегистрировали 10% производительности для более низкого количества потоков (1, 2, 8 и 16), а > 30% снижает производительность при более высоких значениях счетчиков потоков (от потоков 64 до 512 потоков).
Наконец, операции удаления имели снижение производительности на 14% до 64 клиентов и > 20% уменьшается в течение большего числа потоков до 128 256 и 512.
Рис. 4. Создание
производительности
файла
IPoIB
Рис. 5. Производительность IPoIB фиел stat
Рис. 6. Производительность IPoIB Фие Remove Performance
Заключение
В следующей таблице приведены сводные данные о выявленных различиях в производительности между решениями NSS7.4 и NSS7.3. Таблица 5. Сравнение производительности версий NSS7.4-HA и NSS7.3-HA
Система хранения данных Dell EMC HPC NFS |
NSS7.4-HA |
NSS7.4-HA NSS7.3-HA |
Последовательность Пиковая запись 1 МБАЙТ: 1,4% снижения |
4834 МБ/с |
4906 МБ/с |
Последовательность Пиковое число операций чтения 1 МБАЙТ: 0,7% снижения |
7024 МБ/с |
7073 МБ/с |
Пиковый объем операций записи, пиковый — 4 Кбайт: 0,7% снижения |
7 290 операций ввода-вывода в секунду |
7 341 операций ввода-вывода в секунду |
Пиковый объем операций чтения, пиковый — 4 Кбайт: 42% снижения |
16 607 операций ввода-вывода в секунду |
28 811 операций ввода-вывода в секунду |
Операции создания/второго пикового пикового разгрузки: 1,1% снижения |
54 197 операций в секунду |
54 795 операций в секунду |
Операций stat/Second пик: 35% снижения |
522 231 операций в секунду |
808 317 операций в секунду |
Операций удаления/второй пиковой нагрузки: 35% снижения |
47 345 операций в секунду |
73 320 операций в секунду |
Из приведенных выше результатов можно сделать вывод, что текущее решение NSS7.4-HA обеспечивает производительность, сравнимую с производительностью предыдущего решения NSS7.3-HA. Планируется проведение эталонных тестов на процессорах Xeon Gold 6240 с 18 ядрами на процессор. Цель — определить, насколько снижение производительности при произвольном чтении и при большем числе потоков в операциях STAT и удаления файлов связано с меньшим количеством ядер в процессорах Xeon Gold 6244 (8 ядер на процессор), использованных для тестирования производительности решения NSS7.4-HA.
Справочные материалы
Подробную информацию о решениях NSS-HA можно найти в опубликованных технических документах.