この質問 と非常によく似た方法で、どのInfinibandNICがどのスイッチに接続されているかを特定しようとしています。
ただし、そこで提案されたソリューションはMellanox Infinibandスイッチでは機能せず、代替手段を見つけることができませんでした。
特定のマシンが接続されているInfinibandスイッチの識別子を照会する標準的な方法はありますか?
LinuxまたはMTNICドライバー用のMLNX_ENは、Linuxマシンにインストールする必要があります。次のように「ethtool」または「mstflint」コマンドを使用するよりも:
ethtool -i eth2ドライバー:mlnx_en(MT_0DD0120009_CX3)<---これはPSIDバージョンです:2.1.6(2014年2月)ファームウェアバージョン:2.30.8000バス情報:0000:1a:00.0 mstflint:1。デバイスを入手しますPCIバス上の場所:
lspci ....... 04:00.0 InfiniBand:Mellanox Technologies MT4099 [ConnectX-3 VPI FDR、IB(56Gb/s)および40GigE; PCIe3.0 x8 8GT/s; RoHSR6]。 2.製品のPSIDを取得し、次のように入力します。> mstflint -d 04:00.0 qイメージタイプ:FS2 FWバージョン:2.30.8000デバイスID:4099チップリビジョン:A1説明:Node Port1 Port2 SysイメージGUID:0002c90307e25050 0002c90307e25051
MAC:0002c9e25750 0002c9e25751
VSD:N/A
PSID:MT_1090120019
次のMellanoxサポートページ: http://www.mellanox.com/page/firmware_HCA_FW_identification
おそらく、infiniband-diags
パッケージのibnetdiscover
ツールを使用できます。スイッチや、どのホストポートがどのスイッチポートに接続されているかなど、InfiniBandネットワークトポロジを出力します。
infinibandについて質問しているので、ethernet関連のツール(リンクしている他の質問またはここでの回答の1つで説明されている)は関係ありません。
InfinibandのスイッチのIDはそのGUIDです。
ibhosts
を実行して、サブネットにあるすべてのHCAのリストを取得します。 ibswitches
を実行して、サブネットにあるすべてのスイッチのリストを取得します。
ここで、完全なトポロジを取得する場合は、@ haggai_eの提案に従って、ibnetdiscover
を実行します。
質問がより具体的である場合、たとえば、このGUID(無限バンドでは「HCA」と呼ばれる)の最初のポートに接続されているスイッチNICこの特定のLinuxボックスでは、smpquery
ツールを使用してこのスイッチに直接クエリを実行できます。
次のように実行します。smpquery -D NodeInfo 0,1
実行smpquery -h
詳細については。