Настройка системы для карт 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. Оптимизация параметров прошивки сетевых карт. Применяется через скрипт для нужной платформы один раз при установке новой сетевой карты (требуется перезагрузка системы):

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

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

    iommu=pt