Настройка системы для карт Mellanox (NVIDIA)

Подготовка системы

Работа с картами Mellanox (NVIDIA) требует актуальной версии драйвера и прошивки устройства NVIDIA MLNX_OFED.

  1. По указанной ссылке в разделе Download в таблице Current Versions выбрать актуальную версию MLNX_OFED для нужного дистрибутива операционной системы. При отсутствии нужной версии ОС выбрать ближайшую по старшинству. При отсутствии нужной ОС в списке MLNX_OFED не устанавливать. Проверена работа на Debian 10+ и Ubuntu 20.04+.

  2. Скачать .tgz-архив пакета MLNX_OFED.

  3. Распаковать архив и запустить установку. В процессе установки произойдёт обновление прошивки всех сетевых карт Mellanox (NVIDIA), обнаруженных в системе.

    Установка минимально необходимого набора пакетов:

    ./mlnxofedinstall --basic

    Если требуется только обновление прошивки сетевых карт без установки драйвера:

    ./mlnxofedinstall --fw-update-only

    Перезагрузить систему после завершения.

    Важно: если нет точного совпадения версии ОС с версией пакета MLNX_OFED, при вызове mlnxofedinstall добавить опцию --skip-distro-check.

Настройка MITIGATOR

Особенностью работы с драйвером Mellanox (NVIDIA) является то, что карты остаются под управлением Linux, то есть сетевые интерфейсы остаются в системе. Однако передавать через них трафик, когда работает MITIGATOR, нельзя.

  1. Убедиться, что в выводе команды dpdk-devbind --status-dev=net есть нужные сетевые устройства Mellanox (NVIDIA) и они привязаны к родному драйверу mlx5_core.

  2. Если устройства есть, но они не привязаны к драйверу mlx5_core, убедиться, что не происходит попытки привязки этих устройств к другому драйверу (например, PCI-адреса устройств НЕ встречаются в nics.conf).

Настройка сетевых карт

  1. Установить пакет mstflint, необходимый для работы скриптов настройки:

    apt install -y mstflint
  2. Произвести настройку прошивки сетевых карт Mellanox (NVIDIA) через скрипт mlx_firmware_tune. Скрипт необходимо выполнить один раз при установке новой сетевой карты. Требует перезагрузку системы для применения изменений.

    Скрипт прописывает в прошивку карт настройки оптимизации производительности, а также переключает сетевые порты из режима InfiniBand в Ethernet, если поддерживается.

  3. Применить настройки параметров сетевых портов карт Mellanox (NVIDIA) для оптимизации производительности через скрипт mlx_runtime_tune. Настройки действуют в течение текущей сессии. Скрипт необходимо выполнять при старте системы, прописав его в автозагрузку.

  4. Включить режим pass-through для IOMMU для увеличения производительности (параметр ядра Linux):

    iommu=pt