InfiniBand в Windows — это просто

  • Настройка коммутатора: Не требуется, так как он неуправляемый. Просто подключите его к сети и соедините кабелями с сетевыми картами.

  • Установка драйверов для сетевых карт Mellanox: Для сетевых карт Mellanox требуется установить драйвер актуальной версии в зависимости от используемого адаптера и операционной системы: WinOF для ConnectX-3 и ConnectX-3 Pro, или WinOF-2 для ConnectX-4 и более новых моделей. У нас операционная система Windows 10 (также поддерживается на Windows 11), а сетевая карта - ConnectX-3. Следовательно, мы скачиваем драйвер WinOF версии 5.50.53000 с официального сайта Nvidia и устанавливаем его на оба компьютера.

  • Проверка режима работы сетевой карты: Теперь нам нужно убедится, что карта находится в режиме работы InfiniBand. Для это нам понадобятся официальные утилиты MFT. Последняя актуальная версия для нашей карты - MFT 4.22.1-406-LTS. Так же скачиваем с официального сайта Nvidia и устанавливаем на оба компьютера.

    Запускаем терминал или командную строку в папке с установленной программой и вводим команду:

    mst status

    Ищем название нашей карты - mt4099_pciconf0. Смотрим режим работы сетевой карты командой: mlxconfig -d mt4099_pciconf0 q

    В строке LINK_TYPE_P1 (1 порт) и LINK_TYPE_P2 (2 порт) значение ETH(2). Наша карта сейчас работает в режиме Ethernet. Необходимо переключить в режим работы InfiniBand (IB). Для этого воспользуемся командой:
    mlxconfig -d /dev/mst/mt4099_pciconf0 set LINK_TYPE_P1=1 LINK_TYPE_P2=1
    Где:
    1 = InfiniBand - IB(1)

    2 = Ethernet - ETH(2)

    3 = VPI - VPI(3)

    Подтверждаем действие и перезагружаем компьютер. Не забываем тоже самое проделать и со вторым компьютером.
    Примечание 1: Можно дополнительно проверить режим работы карты в диспетчере устройств:

    InfiniBand
    InfiniBand
    Ethernet

    Примечание 2: Также мы можем настроить режим переключения из InfiniBand в Ethernet и обратно на лету без перезагрузки. Для этого нужно переключить карту в режим VPI:


    mlxconfig -d /dev/mst/mt4099_pciconf0 set LINK_TYPE_P1=3 LINK_TYPE_P2=3

    Перезагружаемся и пробуем переключить режим работы сетевой карты в драйвере Mellanox. Не в том драйвере, который находится в разделе "Сетевые адаптеры", а тот, который находится в разделе "Системные устройства". Запускаем диспетчер устройств, находим драйвер и переключаем в нужный нам режим работы.

    Режим VPI
    Режим VPI
  • Проверка коннекта: Теперь проверим коннект сетевых карты с коммутатором. Если мы всё настроили правильно, то индикаторы задействованных портов должны гореть оранжевым цветом.

  • Поднимаем сеть: Для работы локальной сети InfiniBand требуется диспетчер подсети OpenSM. OpenSM очень полезен, если у вас неуправляемый коммутатор или вы соединяете два или несколько ПК напрямую. Он берет на себя функции коммутатора и управляет вашей сетью. И самое главное, если "серверный" компьютер выйдет из строя, его функции на себя возьмет сосед. И сеть продолжит функционировать без сбоев. Мы уже установили диспетчер сети OpenSM вместе с драйверами WinOF/WinOF2. Осталось запустить OpenSM на первом ПК. Вводим команду в терминале:

    opensm.exe

    OpenSM запустился и наш ПК перешел в режим мастера (сервера). Диспетчер сети сканирует нашу сеть и автоматически подхватывает подключенные IB-устройства. Проверяем индикаторы на коммутаторе. Если сеть поднялась, то они должны загореться зеленым цветом.

    Попробуем пропинговать наш "клиентский" ПК. Оба компьютера у меня получили IP-адреса в одной подсети, поэтому я не стал ничего менять и просто ввел IP, который взял в свойствах адаптера.

    Свойства адаптера
    Свойства адаптера

    Вводим в терминале команду:

    ping 169.254.228.137

    Ping
    Ping

    Отлично! Пинг есть! Теперь настроим автоматический запуск службы OpenSM. Вводим в терминале команду:


    New-Service --Name "OpenSM" --BinaryPathName "`"C:\Program Files\Mellanox\MLNX_VPI\IB\Tools\opensm.exe`" --service -L 128" -DisplayName "OpenSM" --Description "OpenSM for IB subnet" -StartupType Automatic

    Сеть InfiniBand настроена и запускается автоматически.