MNPA19-XTR(10Gbeカード)を 24ドル(約3,000円) で2枚購入した(合計6,000円)
そして、それらを繋ぐケーブルは手元にある光ファイバを代用したかったため、sfp+なトランシーバーのみ2個購入(@25ドル)した。
*sfp+ なトランシーバを両端に持つ銅線ケーブルだと、3mで3000円だった...失敗かな..

まずはピアツーピアで繋げてみた。

既設の Gbe に混ぜるならHUBが必要で、sfp+を2つ備えた製品がD-Linkから提供されている。
価格は5万ほど。研究室とかなら導入可能もかもしれない。

速度試験10Gbe/Performance

CentOS6

MNPA19-XTRを差し込んでOSを起動してみた

[root@e ~]# lspci | grep Mellanox
01:00.0 Ethernet controller: Mellanox Technologies MT26448 [ConnectX EN 10GigE, PCIe 2.0 5GT/s] (rev b0)
[root@e ~]#

と認識されるが、eth に 10Gbe は登録されていない。kernelにロードされているモジュールは

[root@e ~]# lsmod |egrep "ib_|_ib|mlx"
mlx4_core             226123  0
[root@e ~]#

のみである。手動で mlx4_en をロードすれば 10Gbe は登録されるが、再起動すれば元に戻ってしまう。
再起動しても 10Gbe を残すには、初期 RAM ディスク(initramfs)に mlx4_en を登録させ、/boot/grub/grub.conf にmlx4_enをロードさせるようにする。

[root@e ~]# dracut -f --add-drivers mlx4_en
[root@e ~]# vi /boot/grub/grub.conf
(略)
   kernel xxxxx rdloaddriver=mlx4_en
(略)

これで再起動すれば、10Gbe は登録される。
あるいは、単純に

[root@e ~]# yum install libmlx4

と libmlx4 パッケージをインストールして、再起動すれば 10Gbe は登録される。
*ただし、その場合 mlx4_ib のInfiniband関連もロードされる。問題はないが余計なモジュールがロードされる
登録された 10Gbe は下記になる。

[root@e ~]# ethtool eth0
Settings for eth0:
        Supported ports: [ FIBRE ]
        Supported link modes:   10000baseT/Full
        Supported pause frame use: No
        Supports auto-negotiation: No
        Advertised link modes:  10000baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: No
        Speed: Unknown!
        Duplex: Unknown! (255)
        Port: FIBRE
        PHYAD: 0
        Transceiver: external
        Auto-negotiation: off
        Supports Wake-on: d
        Wake-on: d
        Current message level: 0x00000014 (20)
                               link ifdown
        Link detected: no
[root@e ~]#

ドライバのバージョンは下記になる。

mlx4_core: Mellanox ConnectX core driver v2.2-1 (Feb, 2014)
mlx4_en: Mellanox ConnectX HCA Ethernet driver v2.2-1 (Feb 2014)

CentOS6 Mellanoxドライバ

OS付属のドライバではなく、メーカが提供しているドライバを導入してみる。
http://www.mellanox.com/page/software_overview_ethから「Mellanox EN for Linux」にアクセスして、所定のドライバを入手します。
2015y09m21d_144638617.png
ドライバのインストールには開発環境(yum groupinstall "Development tools")が必要で、最低限のパッケージに収めるのなら

[root@e ~]# yum update && yum install kernel-devel gcc make patch gcc-c++ redhat-rpm-config rpm-build zlib-devel
[root@e ~]# reboot

とする。そして、ドライバをインストール。

[root@e ~]# gzip -cd mlnx-en-3.0-1.0.1.tgz | tar xf - && cd mlnx-en-3.0-1.0.1
[root@e mlnx-en-3.0-1.0.1]# env LANG=C ./install.sh
Installing mlnx-en for Linux
Starting installation at Mon Sep 21 15:22:20 JST 2015...
Checking for Linux headers availability...
Verifying dependencies...
Building mlnx-en binary RPMs
Building mstflint binary RPMs
Installing mlnx-en
Installing mstflint
Attempting to perform Firmware update...
No devices found!
 
   In order for newly installed mlx modules to load,
   previous modules must first be unloaded.
   Do you wish to reload the driver now? (y/n) [y] y
Reloading mlx modules
Unloading NIC driver:                                      [  OK  ]
Loading NIC driver:                                        [  OK  ]
Installation finished successfully.
[root@e mlnx-en-3.0-1.0.1]#

これで eth に 10Gbe が登録される(再起動しても大丈夫)。dmesgを見ると、

mlx4_core: Mellanox ConnectX core driver v3.0-1.0.1 (Feb, 2014)
mlx4_en: Mellanox ConnectX HCA Ethernet driver v3.0-1.0.1 (Feb 2014)

とOS由来の物よりは新しいのかな?時期が同じなだけに良くわからない。

*アンインストールのツール mlnx_en_uninstall.sh を使用すると、このツールが消えてしまう...

CentOS7

MNPA19-XTRを差し込んで起動したら自動認識した。
OS由来のドライバであり、バージョンは下記の通り。

mlx4_core: Mellanox ConnectX core driver v2.2-1 (Feb, 2014)
mlx4_en: Mellanox ConnectX HCA Ethernet driver v2.2-1 (Feb 2014)

CentOS7 Mellanoxドライバ

メーカー配布のドライバーを試してみる。開発環境はCentOS6と同様に必要。
一端 OS由来のドライバーを外してからの方がいいみたい

[root@e ~]# modprobe mlx4_ib mlx4_en mlx4_core

その上でインストールを実施する。

[root@e ~]# gzip -cd mlnx-en-3.0-1.0.1.tgz | tar xf - && cd mlnx-en-3.0-1.0.1
[root@e mlnx-en-3.0-1.0.1]# ./install.sh
Installing mlnx-en for Linux
Starting installation at 2015年  9月 21日 月曜日 22:15:54 JST...
Checking for Linux headers availability...
Verifying dependencies...
Building mlnx-en binary RPMs
Building mstflint binary RPMs
Installing mlnx-en
Installing mstflint
Attempting to perform Firmware update...
No devices found!
 
   In order for newly installed mlx modules to load,
   previous modules must first be unloaded.
   Do you wish to reload the driver now? (y/n) [y] y
Reloading mlx modules
Unloading NIC driver:                                      [  OK  ]
Loading NIC driver:                                        [  OK  ]
Installation finished successfully.
[root@e mlnx-en-3.0-1.0.1]#

モジュールを外さないと、「Unloading NIC driver:」でエラーが出た
取り込んだモジュールのバージョンは下記の通り

mlx4_core: Mellanox ConnectX core driver v3.0-1.0.1 (Feb, 2014)
mlx4_en: Mellanox ConnectX HCA Ethernet driver v3.0-1.0.1 (Feb 2014)

ESXi5.1

ESXi5.1にMNPA19-XTRを入れてダイレクトパススルーで店子のゲストOS(CentOS6)に渡してみたが、

mlx4_core: probe of 0000:03:00.0 failed with error -16

で機能せず、Mellanoxのドライバを組み込んでも

mlx4_core: probe of 0000:03:00.0 failed with error -5

と言われ、組み込めない。MellanoxのVMwareドライバ(VMware/Patch)を入れても改善しなかった。
CentOS7でも駄目。BIOSの問題らしい。
VMwareドライバをインストールしたら、ESXiで10Gのiscsiが使えるようになっていた。まあー当然か

windows 8.1

windows8.1に差し込んでみた。
起動後「Mellanox ConnectX-2 Ethernet Adapter」として認識された。
2015y09m26d_012045608.png
「ネットワーク接続」内からは
2015y09m26d_012622420.png
デバイスのプロパティからは
2015y09m26d_012506691.png
となっていた。
何もせずとも大丈夫みたい。


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2015-10-03 (土) 21:35:51 (683d)