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
####参考
https://www.mellanox.com/pdf/prod_software/Ubuntu_18_04_Inbox_Driver_User_Manual.pdf
以上