Linuxサーバ用に10GBase NICを調達した

Hackintosh 化した T5810 に 10GBase NIC を載せてちゃんと認識させることができたのは良いのだけど、対向になる機器側の準備ができていなく

使えそうだ、というのはわかったのだけど、現時点では対向側となる 10GBase 対応の機器がないので、実際に通信テストや負荷試験といったことはできてないです。

[From 10GBase対応のNICをT5810に載せてみた(ただしIntel互換品) - Soukaku's HENA-CHOKO Blog]

テストとかできない状態じゃ楽しくないよね、ということで、 10GBase NIC を追加で調達することに…。

ひとくちに、 10GBase NIC と言いましても…

新品、中古取り混ぜて、探せば色々種類があるわけですが、10GBase 対応のスイッチまでは今のところ手が出せないし、そもそもスイッチ使ってまでの 10G ネットワークを組む予定もないので、当面は 10GBase NIC を積んだ機器間を直結することとして、とりあえず NIC とケーブルを何とかすることに。

まず、 NIC 。
これは、ケーブルどうするかにもかかってくるんですが、とにかくあんまりお金かけたくなかったというのもあって、 ebay で見つけた Mellanox MCX311A-XCAT をチョイス。こいつ、 Linux であれば問題なく認識して使えるようだし、 ebay でなら送料込みで $40 台で手に入れられる(けど、届くまでに多少時間はかかる)ので、お試しで使う分には良かろう、ということで。(ちなみに、アマゾンでも 7,000円台からある模様)
Mellanox という会社自体、 NVIDIA に買収されたようで、最新のドライバは NVIDIA のサポートページからダウンロード可能。

ケーブルに関しては、 DAC ケーブルをチョイス。お試しだし、機器間もそれほど離れたところに置くわけでもないので、これも値段優先で。
ファイバーだと割と安いのがあるのだけど、 SFP+ のトランシーバが必要なのでその分高くなっちゃうし、 RJ-45 で 10G 対応しているトランシーバは更にいいお値段なのでね…。

で、届いたわけですよ

注文から 10 日かからずに MCX311A-XCAT が上海から到着〜。 DAC ケーブルの方はイスラエルからの発送らしいので、まだ届いてない。


とりあえず、Linux で MCX311A-XCAT をどう認識するのか確認したかったので、 そのへんに転がしてあったテスト用の Dell 製 PC に挿して、 Debian 10.9.0 (kernel 4.19.0) をインストール。

インストーラでも MCX311A-XCAT を認識していることが確認できて、インストールも問題なく終了。
とりあえず、 dmesg を "mellanox" で grep してみて、ちゃんと認識されてドライバが読み込まれたことを確認。

root@debian:~# dmesg | grep -i mellanox
[ 1.208258] mlx4_core: Mellanox ConnectX core driver v4.0-0
[ 8.368237] mlx4_en: Mellanox ConnectX HCA Ethernet driver v4.0-0
[ 8.415869] <mlx4_ib> mlx4_ib_add: mlx4_ib: Mellanox ConnectX InfiniBand driver v4.0-0

ドライバは、 mlx4_en が選択された。

ip コマンドで、ネットワークインターフェース一覧を表示してみると、 enp1s0 というインタフェースが増えていたので、

root@debian:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp3s0: <BROADCAST,MULTICAST,DYNAMIC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether b0:83:fe:**:**:** brd ff:ff:ff:ff:ff:ff
inet 172.16.254.101/16 brd 172.16.255.255 scope global dynamic enp3s0
valid_lft 8730sec preferred_lft 8730sec
inet6 fe80::b283:feff:****:****/64 scope link
valid_lft forever preferred_lft forever
3: enp1s0: <NO-CARRIER,BROADCAST,MULTICAST,DYNAMIC,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether f4:52:14:**:**:** brd ff:ff:ff:ff:ff:ff
4: wlx503eaa******: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 50:3e:aa:**:**:** brd ff:ff:ff:ff:ff:ff

それの詳細情報を ethtool で確認したのが、以下のもの。

root@debian:~# ethtool enp1s0
Settings for enp1s0:
Supported ports: [ FIBRE ]
Supported link modes: 1000baseKX/Full
10000baseKR/Full
Supported pause frame use: Symmetric Receive-only
Supports auto-negotiation: No
Supported FEC modes: Not reported
Advertised link modes: 1000baseKX/Full
10000baseKR/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: No
Advertised FEC modes: Not reported
Speed: Unknown!
Duplex: Unknown! (255)
Port: FIBRE
PHYAD: 0
Transceiver: internal
Auto-negotiation: off
Supports Wake-on: d
Wake-on: d
Current message level: 0x00000014 (20)
link ifdown
Link detected: no

"Supported link modes" のところを見ると、 "10000baseKR" と表示がありますね。

ということで、今のところはここまで。 DAC ケーブルが届いたら、いろいろストしてみたいと思いま〜す。

トラックバック(1)

さて、やっと機材が揃ったので、10GBase ネットワークのテストをやってみた。 ファイバーだと割と安いのがあるのだけど、 SFP+ のトランシーバが必要... 続きを読む

コメントする