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

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

Работа с картами Mellanox требует последней версии драйвера и прошивки устройства Mellanox OFED.

  1. По указанной ссылке в разделе Download в таблице выбрать драйвер для нужного дистрибутива операционной системы. Проверена работа на Debian 10+ и Ubuntu LTS.

  2. Загрузить драйвер последней версии (.tgz-архив).

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

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

    ./mlnxofedinstall --basic --without-neohost-backend --without-neohost-sdk
    

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

    ./mlnxofedinstall --fw-update-only
    

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

    Важно: при установке может не пройти проверка версии ОС. В таком случае нужно добавить опцию --skip-distro-check.

Настройка MITIGATOR

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

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

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

  3. Скачать и установить корректную базовую конфигурацию Docker Compose для сетевых карт Mellanox.

Оптимизация производительности

  1. Оптимизация параметров прошивки сетевых карт. Применяется через скрипт mlx_firmware_tune.sh один раз при установке новой сетевой карты (требуется перезагрузка системы).

  2. Оптимизация настроек сетевых карт для текущей сессии. Применяется при старте системы через скрипт mlx_runtime_tune.sh, прописанный в автозагрузку.

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

    iommu=pt