SFP+あるいはQSFP+のNIC、Mellanox ConnectXのイーサネットモードへの切り替え法。
デフォルトの設定はInfiniBandになっている。調べるのが大変だったのでメモ。
1. Windows10
windows10の場合、ダイレクトアタッチケーブルでPC間を直付けする場合、相手方のNICも適切に設定して接続されるまで「ケーブルが接続されていません」のエラーが出てIP等が反映されないので注意。
これのおかげで結構な時間悩んだ……。
1.1 ドライバのインストール
WinOFがConnectX3系、WinOF2がConnectX4のドライバ
https://www.mellanox.com/page/products_dyn?product_family=32&mtag=windows_sw_drivers
exeファイルを実行してインストール。
1.2 デバイスマネージャーを起動(windowsマークを右クリック等)
1.3 ネットワークアダプタのMellanox ConnectXの項目を選択
1.4 デバイスマネージャーのメニューで「表示」→「デバイス(接続別)」を選択
1.5 Mellanox ConnectXが二つになるが、親を選択
1.6 port protocolのタブを選択
1.7 HW defaultのチェックを外してETHを選択→OKで抜ける
1.8 設定→ネットワークとインターネット→アダプターのオプションを変更する、を選択
1.9 Mellanox ConnectXを選択し、適当なIPアドレスを入力
参考
2. Linux
2.1 起動
# mst start
2.2 設定ソフトのインストール
mstflintはConnecteX設定変更ツールのオープンソース版でWebサイトを経由せずインストールが可能。
Ubuntu等:apt install -y mstflintsudo ibverbs-utils
CentOS等:yum install mstflint ibverbs-utils
2.3 PCI addressの確認
mst status
例
Windows: mt4099_pci_cr0
Linux: /dev/mst/mt4099_pci_cr0
デバイスのPCI addressとして以後適宜書き換えること。
2.4 設定の変更と確認
下記のコマンドで設定を変更(イーサネット)
LINUX
# mstconfig -d /dev/mst/mt4099_pci_cr0 s LINK_TYPE_P1=ETH
windows10
> mlxconfig -d mt4099_pci_cr0 s LINK_TYPE_P1=ETH
LINK_TYPE_P1のパラーメーターには、下記の3モードが対応
- ETH:イーサネット
- IB:InfiniBand
- VPI:Virtual Protocol Interconnect(相互利用モード)
再起動後に変更結果を確認
# mstconfig -d /dev/mst/mt4099_pci_cr0 q
参考
以上