Как стать автором
Обновить

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

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров5.1K

К написанию этой небольшой инструкции меня привела статья на Хабре - Быстрая сеть в домашней лаборатории или как я связался с InfiniBand . Я был очень заинтригован данным вопросом, но каково было моё удивление, когда я не мог найти почти никакой информации по InfiniBand на Windows в домашних условиях, например, в домашней лаборатории или в небольшом офисе. Информация была, конечно. Было описано как использовали InfiniBand, какое оборудование использовали и о полученной производительности сети. Всё точно как у товарища из упомянутой статьи выше. Но не было информации о том, как поднять домашнюю сеть на IB, как настроить её и вообще с чего начать. Проведя время в интернете, я пришёл к выводу, что большинство пользователей, даже тех, кто знаком с сетями и их настройкой, просто просто боятся слова InfiniBand. Для них это что-то сложное, используемое мегакорпорациями для создания суперсетей для суперкомпьютеров. А сочетание слов "InfiniBand дома" приводит их в ужас. А если ещё и коммутатор неуправляемый... Ну, вы поняли.

Из той скудной информации, что мне удалось найти, я вычленил и написал простую инструкцию для новичков по InfiniBand в домашних условиях: какое оборудование нужно, как установить драйвера, как настроить сеть IB между несколькими ПК и неуправляемым коммутатором. Итак, давайте начнем!

Ниже приведены устройства с которыми я настраивал InfiniBand:

  1. Неуправляемый коммутатор Mellanox IS5022, 40Gb/s, InfiniBand.

  2. Два ПК с операционными системами Windows 10 Pro и Windows 11 Pro.

  3. Две сетевые карты Mellanox CX354A HP 544QSFP, 56Gb IB, 40GbE, 2x QSFP. По одной на каждый ПК.

  4. Два кабеля кабеля Mellanox HP 670759-B25, QSFP+ → QSFP+, 56Gb, 3m. По одному на каждый ПК.

Для начала нам нужно установить драйверы и настроить наше оборудование:

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

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

  3. Проверка режима работы сетевой карты: Теперь нам нужно убедится, что карта находится в режиме работы 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
    Ethernet

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


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

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

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

  5. Поднимаем сеть: Для работы локальной сети 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 настроена и запускается автоматически.

Как видите, ничего сложного в домашней сети на InfiniBand нет. Конечно, это только первый шаг. Далее можно настроить InfiniBand для различных задач, например, настроить Samba Direct для передачи данных между ПК со скоростью 40 Гбит/с. Но сейчас мы не будем углубляться в эту тему. Сегодня я лишь хотел показать, что каждый может легко и недорого настроить сеть для домашней лаборатории или для производственных нужд небольшой компании с десятками гигабит в секунду на технологии InfiniBand.

Святослав Соколов

системный инженер компании ServerBay

Теги:
Хабы:
Всего голосов 12: ↑12 и ↓0+12
Комментарии15

Публикации

Истории

Работа

Ближайшие события

Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург