Установить имя Ca на неуправляемом коммутаторе mellanox

Как настроить имя хоста / описание неуправляемого коммутатора Mellanox/Infiniband?

Я хотел бы, чтобы был способ абстрактно быстро определить, какие переключатели используются при выполнении "ibswitches" или "ibnetdiscover".

Для HCA, которые находятся в Серверах, установлены имена хостов, и это здорово. Просто нужно решение для коммутаторов.

Пример: (Все коммутаторы отображаются как "SwitchX - Mellanox Technologies")

[26]    "S-e41d2de300756550"[25]                # "SwitchX -  Mellanox Technologies" lid 6 4xFDR
[27]    "S-e41d2de30074bc40"[21]                # "SwitchX -  Mellanox Technologies" lid 5 4xFDR

Это было бы полезно при поиске ibnetdiscover и возможности быстрого поиска, какая карта HCA входит в какой коммутатор....

vendid=0x2c9
devid=0x1011
sysimgguid=0xf45214d300514560
caguid=0xf452140300514560
Ca      1 "H-f45214d300514560"          # "mgmt2 HCA-2"
[1](f45214d300514560)   "S-e41d2dd3007551f0"[15]                # lid 11 lmc 0 "SwitchX -  Mellanox Technologies" lid 10 4xFDR

5 ответов

Решение

Вы можете указать "--node-name-map FILE" для ibnetdiscover и настроить отображение между GUID и вашими желаемыми именами, чтобы это имя отображалось при запуске ibswitches/ibnetdiscover.

--node-name-map <node-name-map>
    Specify a node name map. The node name map file maps GUIDs to more
    user friendly names. See file format below. 

Хотя ответ @alnet верен, мы можем пойти дальше и установить сопоставления GUID-to-switch-name в файле, чтобы имена переключателей всегда просматривались без необходимости указывать флаг командной строки. В системах EL (CentOS/RHEL), использующих утилиты, предоставляемые дистрибутивом, файл отображения по умолчанию - / etc / rdma / ib-node-name-map. Синтаксис будет выглядеть так (как взято со страницы руководства):

# Spines
0x0008f10400400e2d "IB1 (Rack 11 spine 1   ) ISR9288 Voltaire sFB-12D"
# GUID   Node Name
0x0008f10400411a08 "SW1  (Rack  3) ISR9024 Voltaire 9024D"
0x0008f10400411a28 "SW2  (Rack  3) ISR9024 Voltaire 9024D"

Я предпочитаю использовать более простые имена коммутаторов, возможно, ib-spine01, которые могут упростить синтаксический анализ выходных данных и позволяют отображать имена хостов в случае управляемого коммутатора IB.

Обратите внимание, что фактическое имя файла карты управляется opensm, поэтому оно может отличаться, если в /etc/rdma/opensm.conf определено имя_узла_карты_узла.

Я столкнулся с аналогичной необходимостью при устранении неполадок в одной из наших структур IB, так как требовался большой поиск, чтобы определить, какой именно коммутатор нужен, когда мне нужно, чтобы люди в центре обработки данных перезагрузили их и т. Д. Я написал в службу поддержки Mellanox о добавлении описательных имен Неуправляемые коммутаторы прислали мне сценарий Python с именем "Unmanaged_Switches_Set_NodeDescription_3.4.py", который можно использовать для задания описания, которое отображается в выходных данных ibswitches или ibnetdiscover. Это описание останется до перезагрузки коммутатора, после чего он вернется к описанию по умолчанию. Я создал текстовый файл, который скрипт может использовать для сопоставления идентификаторов GUID с описательными именами, и теперь я могу пометить каждый коммутатор в структуре одной командой.

Еще более короткий ответ: теперь это возможно без внешнего файла сопоставления имен узлов.

https://github.com/stanford-rc/ibswinfo/ (версия 0.6) позволяет изменять описания узлов для неуправляемых коммутаторов Infiniband.

Короткий ответ - вы не можете.

Если ваш коммутатор неуправляемый, то единственный доступ к нему осуществляется через SMP MAD (дейтаграммы управления протоколом подсети).

MAD, который читает эту строку, называется "NodeDescription". Согласно IB Spec, NodeDescription доступно только для чтения.

Другие вопросы по тегам