Настройка системы для карт Mellanox (NVIDIA)
Подготовка системы
Работа с картами Mellanox (NVIDIA) требует последней версии драйвера и прошивки устройства NVIDIA MLNX_OFED.
-
По указанной ссылке в разделе Download в таблице выбрать драйвер для нужного дистрибутива операционной системы. Проверена работа на Debian 10+ и Ubuntu 20.04+.
-
Загрузить драйвер последней версии (
.tgz
-архив). -
Распаковать архив и запустить установку. В процессе установки произойдёт обновление прошивки всех сетевых карт Mellanox, обнаруженных в системе.
Установка минимально необходимого набора пакетов:
./mlnxofedinstall --basic --without-neohost-backend --without-neohost-sdk
Если требуется только обновление прошивки сетевых карт без установки драйвера:
./mlnxofedinstall --fw-update-only
Перезагрузить систему после завершения.
Важно: при установке может не пройти проверка версии ОС. В таком случае нужно добавить опцию
--skip-distro-check
.
Настройка MITIGATOR
Особенностью работы с драйвером Mellanox является то, что карты остаются под управлением Linux, то есть сетевые интерфейсы остаются в системе. Однако передавать через них трафик, когда работает MITIGATOR, нельзя.
-
Убедиться, что в выводе команды
dpdk-devbind --status-dev=net
есть нужные сетевые устройства Mellanox и они привязаны к драйверуmlx5_core
. -
Если устройства есть, но они не привязаны к драйверу
mlx5_core
, убедиться, что не происходит попытки привязки этих устройств к другому драйверу (например, PCI-адреса устройств НЕ встречаются в nics.conf). -
Скачать и установить корректную базовую конфигурацию Docker Compose для сетевых карт Mellanox.
Настройка сетевых карт
-
Произвести настройку прошивки сетевых карт Mellanox через скрипт mlx_firmware_tune. Скрипт необходимо выполнить один раз при установке новой сетевой карты. Требует перезагрузку системы для применения изменений.
Скрипт прописывает в прошивку карт настройки оптимизации производительности, а также переключает сетевые порты из режима InfiniBand в Ethernet, если поддерживается.
-
Применить настройки параметров сетевых портов Mellanox для оптимизации производительности через скрипт mlx_runtime_tune. Настройки действуют в течение текущей сессии. Скрипт необходимо выполнять при старте системы, прописав его в автозагрузку.
-
Включить режим pass-through для IOMMU. Увеличивает производительность (параметр ядра Linux):
iommu=pt