Mellanox/Infinibandアンマネージドスイッチのホスト名/説明を設定するにはどうすればよいですか?
'ibswitches'または 'ibnetdiscover'を実行するときに、どのスイッチがどれであるかをすばやく抽象的に区別する方法が必要です。
サーバーにあるHCAの場合、ホスト名が設定されます。これはすばらしいことです。スイッチのソリューションが必要です。
例:(すべてのスイッチは次の「SwitchX-MellanoxTechnologies」として表示されます)
[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
Ibnetdiscoverに「--node-name-mapFILE」を指定し、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を説明的な名前にマップするために使用できるテキストファイルを作成しました。これで、ファブリック内のすべてのスイッチに1つのコマンドでラベルを付け直すことができます。
簡単な答え-できません。
スイッチが管理されていない場合、スイッチへのアクセスはSMP MAD(サブネット管理プロトコル管理データグラム)のみです。
この文字列を読み取るMADは「NodeDescription」と呼ばれます。 IB仕様によると、NodeDescriptionは読み取り専用です。
@ alnetの回答 は正しいですが、さらに進んでファイルにGUIDからスイッチ名へのマッピングを設定できるため、コマンドラインフラグを指定しなくてもスイッチ名が常に検索されます。 。ディストリビューションが提供するユーティリティを使用するEL(CentOS/RHEL)システムでは、デフォルトのマッピングファイルは/ etc/rdma/ib-node-name-mapです。構文は次のようになります(manページから取得)。
# 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がある場合は異なる可能性があることに注意してください。 )定義済み。