MLNX_OFED では、インフィニバンドファブリック内のデバイスの状態や接続状態などをデバッグするためのユーティリティが複数提供されております。今回はそのうちのいくつかをご紹介致します。

ibdiagnet

解説

ファブリックをスキャンし、接続性やデバイスに関わる全ての取得可能な情報を抜き出す。
出力ディレクトリに以下のファイルを生成する。( -o オプションでディレクトリは決定される )

使い方

ibdiagnet [-c ] [-v] [-r] [-o ] [-t ] [-s ] [-i ] [-p ] [-wt] [-pm] [-pc] [-P <= >] [-lw <1x|4x|12x>] [-ls <2.5|5|10>] [-skip ] [-load_db ]
出力ファイル 解説
ibdiagnet.log 得られた flag により生成された全てのレポートのダンプ
ibdiagnet.lst ファブリック内の全てのノード、ポート、リンクのリスト
ibdiagnet.fdbs ファブリックスイッチのユニキャストフォワーディングテーブルのダンプ
ibdiagnet.mcfdbs ファブリックスイッチのマルチキャストフォワーディングテーブルのダンプ
ibdiagnet.masks ポート/ノード GUIDを複製する場合、複製記録を含む
ibdiagnet.sm ファブリック内の全てのサブネットマネージャ ( 状態と優先順位 ) をリスト
ibdiagnet.pm ファブリックリンクのパフォーマンスカウンタの値をダンプ
ibdiagnet.pkey 存在するパーティションと属するホストのダンプ
ibdiagnet.mcg マルチキャストグループ、それらのプロパティ、ホストポートメンバーのダンプ
ibdiagnet.db 内部サブネットデータベースのダンプ

ibv_devices

解説

ユーザースペースから使用できるインフィニバンドデバイスを表示する(Node GUID を含む)。

使い方

ibv_devices

例) 使用可能な全てのインフィニバンドデバイスの名前を表示する。

ibv_devinfo

解説

インフィニバンドデバイスをクエリーし、ユーザースペースから使用できるデバイスの情報を表示する。

使い方

ibv_devinfo [-d ] [-i ] [-l] [-v]
例) 使用可能な全てのインフィニバンドデバイスの名前を表示する。
例) デバイス mlx4_0 をクエリーし、Port2 の情報を表示する。

ibstatus

解説

自ノードのインフィニバンドドライバから得られる基本的な情報を表示する。出力は LID、SMLID、ポートの状態、ポートの物理的状態、ポートの信号幅、ポートの速度を含む。

使い方

ibstatus [-h] [[:]]*
例) 全ての取得可能なデバイスとそれらのポートの状態を表示する。

ibportstate

解説

インフィニバンドポートの物理ポート、論理リンクの状態をクエリーする。また、有効なインフィニバンドポートの速度を調節する。

使い方

ibportstate [-d] [-e] [-v] [-V] [-D] [-G] [-s ] ¥

[-C ] [-P ] [-t ] ¥

[] [ []]

例) 全ての取得可能なデバイスとそれらのポートの状態を表示する。

ibroute

解説

特定のスイッチの LID とオプション lid (mlid) 領域に対して、 SMP を使ってフォワーティングテーブルを表示させる。

使い方

ibroute [-h] [-d] [-v] [-V] [-a] [-n] [-D] [-G] [-M] [-s ] ¥

[-C ] [-P ] [-t ] ¥

[ [ []]]

例)Lid 2 のスイッチに接続される有効な全てのポートの Lid をダンプする。

perfquery

解説

インフィニバンドポートのパフォーマンスカウンタ、エラーカウンタをクエリーする。カウンターを読み込んだ後、または単純にカウンタをリセットすることも出来る。

使い方

perfquery [-h] [-d] [-G] [-a] [-l] [-r] [-C ] [-P ] [-R]

[-t ] [-V] [ [[port][reset_mask]]]

例) 自ノードのポートのパフォーマンスカウンタを読む

ibcheckerrs

解説

インフィニバンドポートの正当性を確認し、閾値を越えたカウンタ内のエラーをレポートする。

使い方

ibcheckerrs [-h] [-b] [-v] [-G] [-T ] [-s] [-N |-nocolor] [-C ca_name] [-P ca_port] [-t timeout_ms] []
例) LID 2 のノードカウンタを検証する。

ibhosts / ibswitches

解説

(ibhosts)インフィニバンドサブネットトポロジー内の CA ノードを抜き出す。
(ibswitches) インフィニバンドサブネットトポロジー内のスイッチを抜き出す。

使い方

ibhosts [-h] [] | -C ca_name –t(imeout)

ibswtiches [-h] [] | -C ca_name –t(imeout)

ibdump ( MLNX_OFED 1.5.1 より対応 )

利用可能なハードウェア

Mellanox ConnectX / ConnectX-2 アダプターデバイス

解説

Mellanox ConnectX/ConnectX-2 アダプターインフィニバンドポートにて送受されるインフィニバンドトラフィックをダンプする。そのダンプファイルはWiresharkによってロードされ視覚的にトラフィックを解析することが出来る。

使い方

ibdump [オプション]

HCAスニッフィングのための操作方法
・オプションと共に ibdump を実行
・解析したいトラフィック用のアプリケーションを実行
・ibdump を停止する( CTRL-c ) 、またはデータバッファが満たされるまで待つ
・Wireshark を開き、生成されたファイルをロードする

※Wireshark は www.wireshark.org より現在のリリースをダウンロードできます。詳細に関しては ibdump_release_note.txt ファイルをご参考ください。

例) ibdump を実行
例) ibdump を実行

上記の情報は Mellanox_OFED_Linux_user_manual から抜粋した情報になり、詳細をご確認される場合は
http://www.mellanox.com/ > Downloads > InfiniBand/VPI SW/Drivers > MLNX_OFED から取得いただけます。または man コマンドにより Linux 上からマニュアルをご参照ください。