Как я могу установить имя хоста / описание неуправляемого коммутатора 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
Вы можете указать "--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.
Я столкнулся с аналогичной потребностью при устранении неполадок в одной из наших фабрик IB, так как требовалось много поисков, чтобы определить, какой коммутатор был каким, когда мне нужны были люди в центре обработки данных, чтобы их перезагрузить и т. Д. Я написал в службу поддержки Mellanox о добавлении описательных имен к неуправляемых коммутаторов, они прислали мне сценарий Python с именем «Unmanaged_Switches_Set_NodeDescription_3.4.py», который можно использовать для установки описания, которое отображается в выводе ibswitches или ibnetdiscover. Это описание будет оставаться до тех пор, пока коммутатор не будет перезагружен, после чего он вернется к описанию по умолчанию. Я создал текстовый файл, который сценарий может использовать для сопоставления идентификаторов GUID с описательными именами, и теперь я могу пометить каждый переключатель в структуре с помощью одной команды.
Короткий ответ - нельзя.
Если ваш коммутатор неуправляемый, то единственный доступ к нему - это SMP MAD (датаграммы управления протоколом управления подсетью).
MAD, который читает эту строку, называется «NodeDescription». Согласно спецификации IB Spec, NodeDescription доступен только для чтения.
Хотя @ alnet ответ правильно, мы можем пойти дальше и установить сопоставления GUID-имя-переключателя в файле, чтобы имена переключателей всегда просматривались без необходимости указывать флаг командной строки. В системах EL (CentOS / RHEL) с использованием утилит, предоставляемых дистрибутивом, файлом сопоставления по умолчанию является / и т.д. / rdma / ib-узел-имя-карта. Синтаксис будет выглядеть следующим образом (взято из справочной страницы):
# 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 имеет node_name_map_name определено.