infiniband導入

 

8年ほど前から気になっていた、infiniband, 2年ほど前にConnect-X2 とケーブルとジャンクスイッチをゲットしたものの、スイッチがジャンク(起動してプロンプトが返ってくるまで2日 ... orz)& 爆音過ぎてお蔵入りさせてしまっていたのだが、ステイホームで時間を持て余して、いろいろ片付けをしているついでに、自宅NASをFreeNASで再構築、NASサーバとバックアップサーバの接続を高速化すべく、ConnectX2 を動かしてみました。

 

構成

f:id:yukinopo:20200526163818p:plain

 

FreeNASでの認識

バージョンは、11.3 U1だったが、特に何もしなくても、ドライバはインストールされていた。

 

# lspci | grep Mel
06:00.0 InfiniBand: Mellanox Technologies MT25408A0-FCC-QI ConnectX, Dual Port 40Gb/s InfiniBand / 10GigE Adapter IC with PCIe 2.0 x8 5.0GT/s In... (rev b0)

# dmesg|grep mlx
mlx5en: Mellanox Ethernet driver 3.5.1 (April 2019)
mlx4_core0: <mlx4_core> mem 0xfbf00000-0xfbffffff,0xf1000000-0xf17fffff irq 32 at device 0.0 on pci9
mlx4_core: Mellanox ConnectX core driver v3.5.1 (April 2019)
mlx4_core: Initializing mlx4_core
mlx4_core0: Unable to determine PCI device chain minimum BW

 

# ifconfig -l
bce0 bce1 bce2 bce3 lo0

 

 

インターフェイスモードの確認・変更 

# sysctl sys.device
sys.device.mlx4_core0.hw.board_id: MT_0D81120009
sys.device.mlx4_core0.hw.fw_version: 2.9.1200
sys.device.mlx4_core0.mlx4_port2_mtu: 4096
sys.device.mlx4_core0.mlx4_port2: ib
sys.device.mlx4_core0.mlx4_port1_mtu: 4096
sys.device.mlx4_core0.mlx4_port1: ib

 

ネットワークインターフェイスとしては見えていないので、モードを変更

 

# sysctl sys.device.mlx4_core0.mlx4_port1=eth
sys.device.mlx4_core0.mlx4_port1: ib -> eth

# ifconfig -l
bce0 bce1 bce2 bce3 lo0 mlxen0

 

これで、mlxen0 として認識

 

ブリッジ化

 

1GbEとブリッジにしてしまう

 

# ifconfig bridge0 create addm bce0 addm bce1 addm bce2 addm bce3 addm mlxen0

# ifconfig bridge0 up

#ifconfig bridge0 inet ipアドレス netmask 255.255.255.0

#ifconfig bce0 delete

 

完全にバックアップ用の裏LANにしてしまうのであれば、ブリッジ化は不要

バックアップ結果

 

バックアップは、Windows側から、robocopy でltfs に向けてコピー

 

スループットは、ピークで2Gb/s 程度でたけど、平均は1Gbps以下、あまり早くならなかった。

LTO に足引っ張られてるかな。。