LINUX.ORG.RU

Обьясните, почему не пингуется хост через IB?

 ,


0

1

Я, юный и отважный, для того, чтобы разобратся с infiniband купил 4 карточки mellanox connect x-2 MHQH29B-XSR (PN: 375-3696-01) и коммутатор mellanox is5022 на 8 портов QDR, соединил qsfp28 dac кабелями. Пролема такова: При ibping другого хоста, подключенного к тому же коммутатору, получаю ошибкy

ibwarn: [16744] sa_rpc_call: only lid routes are supported
ibwarn: [16744] ib_path_query_via: sa call path_query failed
ibping: iberror: failed: can't resolve destination port 0x0021280001a124ac (с guid 0x0021280001a135f4 такая же ошибка)

При этом ibhosts на другом хосте выдает следующее:

Ca      : 0x0021280001a135f4 ports 2 "MT25408 ConnectX Mellanox Technologies"
Ca      : 0x0021280001a124ac ports 2 "MT25408 ConnectX Mellanox Technologies"

iblinkinfo выдает это:

CA: MT25408 ConnectX Mellanox Technologies:
      0x0021280001a124ad      0    1[  ] ==( 4X          10.0 Gbps Initialize/  LinkUp)==>       0    1[  ] "Infiniscale-IV Mellanox Technologies" ( )
Switch: 0x0002c902004c98b8 Infiniscale-IV Mellanox Technologies:
           0    1[  ] ==( 4X          10.0 Gbps Initialize/  LinkUp)==>       0    1[  ] "MT25408 ConnectX Mellanox Technologies" ( )
           0    2[  ] ==(                Down/ Polling)==>             [  ] "" ( )
           0    3[  ] ==( 4X          10.0 Gbps Initialize/  LinkUp)==>       0    1[  ] "MT25408 ConnectX Mellanox Technologies" ( )
           0    4[  ] ==(                Down/ Polling)==>             [  ] "" ( )
           0    5[  ] ==(                Down/ Polling)==>             [  ] "" ( )
           0    6[  ] ==(                Down/ Polling)==>             [  ] "" ( )
           0    7[  ] ==(                Down/ Polling)==>             [  ] "" ( )
           0    8[  ] ==(                Down/ Polling)==>             [  ] "" ( )
CA: MT25408 ConnectX Mellanox Technologies:
      0x0021280001a135f5      0    1[  ] ==( 4X          10.0 Gbps Initialize/  LinkUp)==>       0    3[  ] "Infiniscale-IV Mellanox Technologies" ( )

Хосты на debian 12, на карты залита fw-ConnectX2-rel-2_9_1000-MHQH29B-XSR_A1.bin

Что я делаю не так?


dmesg нужен. Только про форматирование markdown не забывай!

iommu или vt-d должен быть включен. Без них сетевая карта не получит доступ к оперативной памяти, чтобы организовать RDMA.

steemandlinux ★★★★★
()
Последнее исправление: steemandlinux (всего исправлений: 2)
Ответ на: комментарий от AlexVR

Когда писал первое сообщение в тему - нет, я не знал о нем, после установил rdma-core и opensm, сейчас получаю

ibwarn: [323902] ib_path_query_via: sa call path_query failed
ibping: iberror: failed: can't resolve destination port 0x0021280001a135f4

При этом ipoib работает

Bermut
() автор топика
Ответ на: комментарий от Bermut

Тебе firmware надо установить. Сетевая карта не запустится без неё. Пакет что-то вроде linux-firmware называется. И второе, с мелланоксами идёт целый стек DPDK:

[    1.752323] myri10ge: Version 1.5.3-1.534
[    1.752887] myri10ge 0000:06:00.0: firmware: failed to load myri10ge_eth_z8e.dat (-2)
[    1.753551] firmware_class: See https://wiki.debian.org/Firmware for information about missing firmware
[    1.754475] myri10ge 0000:06:00.0: firmware: failed to load myri10ge_eth_z8e.dat (-2)
[    1.755070] myri10ge 0000:06:00.0: Direct firmware load for myri10ge_eth_z8e.dat failed with error -2
[    1.755076] myri10ge 0000:06:00.0: hotplug firmware loading failed
[    1.755206] myri10ge 0000:06:00.0: Successfully adopted running firmware
[    1.755209] myri10ge 0000:06:00.0: Using firmware currently running on NIC.  For optimal
[    1.755211] myri10ge 0000:06:00.0: performance consider loading optimized firmware
[    1.755213] myri10ge 0000:06:00.0: via hotplug
steemandlinux ★★★★★
()
Последнее исправление: steemandlinux (всего исправлений: 1)
Ответ на: комментарий от Bermut

А ну да. Думал может на старых картах чип такой.

[ 2463.999265] ibp2s0.8001: P_Key 0x8001 is not found
[ 2603.126384] ibp2s0.8001: P_Key 0x8001 is not found

от рута:

echo 0x8001 > /sys/class/net/ib0/create_child
echo 0x8001 > /sys/class/net/ib1/create_child
steemandlinux ★★★★★
()
Ответ на: комментарий от steemandlinux

Так это же, как я понял, аналог vlan тегов в ipoib, интерфейс «ibp2s0.8001» как раз таки и создан через комманду

echo 0x8001 > /sys/class/net/ibp2s0/create_child

И, кстати, через этот интерфейс, почему-то, ip трафик не идет, не обнаруживается сосетства с другим хостом(ясно дело на другом хосте я так же создал интерфейс с таким же тегом)

Bermut
() автор топика
Ответ на: комментарий от Bermut
[    5.848495] mlx5_core 0000:03:00.0: MLX5E: StrdRq(0) RqSz(1024) StrdSz(256) RxCqeCmprss(0)
[    5.848500] mlx5_core 0000:03:00.0: MLX5E: StrdRq(0) RqSz(1024) StrdSz(256) RxCqeCmprss(0)
[    5.892948] mlx4_core 0000:02:00.0 ibp2s0: renamed from ib0
[    6.200947] mlx4_core 0000:02:00.0 ibp2s0d1: renamed from ib1
[    6.272931] mlx5_core 0000:03:00.0 ibp3s0: renamed from ib0

У меня тоже был давний опыт с IB, но смущает смешение mlx5_core и mlx4_core

AlexVR ★★★★★
()

Для будующих поколений, я разобрался как оно работает.

В общем, вызываем комманду

iblinkinfo --cas-only

Получаем подобный вывод:

root@boba:~# iblinkinfo --cas-only
CA: biba ibp2s0:
      0x0021280001a135f5      1    1[  ] ==( 4X          10.0 Gbps Active/  LinkUp)==>       4    3[  ] "Infiniscale-IV Mellanox Technologies" ( )
CA: boba mlx4_0:
      0x0021280001a124ad      3    1[  ] ==( 4X          10.0 Gbps Active/  LinkUp)==>       4    1[  ] "Infiniscale-IV Mellanox Technologies" ( )

0x0021280001a135f5 - это адрес biba ноды 0x0021280001a124ad - это адрес boba ноды Цифры 1 и 3 это условные порты, соотвествуют воткнутым в коммутатор портам(ВОЗМОЖНО, Я НЕ УВЕРЕН) Теперь на одном хосте запускаем ibping -S - сервер На втором ibping -G <второго хоста> - у меня пошел пинг Так же можно вместо флага G использовать L, и указывать номер порта(в примере 1 или 3) Так же обязательна установка пакетов rdma-core и opensm

Вот как-то так :/

Bermut
() автор топика