Установить имя 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 доступно только для чтения.