blog

備忘録です。雑多な内容を書きます。

自宅のネットワークを25GbEにする

以前、自宅の環境を10GbE化した記事を書いた。

blog.k5a.dev

しばらく経ち、10Gだと遅いな……と感じることが増えてきたので、いろいろあって25GbEにアップグレードした。

なぜ10GbEでは不足なのか

SSDが高速だから、につきる。ネットワークの帯域は狭く、SSDを搭載したネットワークドライブの性能を十分出すことができていない。

最近はSSDの値下がりが激しく、オールフラッシュでNASを作るのも現実的になっている。
自宅ではQNAPのNASを運用していて、HDDでバックアップを取ったりしているが、書き込みキャッシュとしてNVME SSDを使っており*1、これによってNASでも高速な書き込みができるようになったのだが、ネットワークの帯域がボトルネックになってしまってどうしても遅い状態になっていた。

あとは、新しくサーバーラック買ってラックを埋めたくなる病気にかかって新しいスイッチが欲しくなったから。

ハードウェアの準備

NIC

まずはNICがないと始まらない。ebayを探していたら、とてもお得(?)なNICを見つけたのでポチった。

25Gbのレシーバー付きで2万円ほど。レシーバーなしでは1.5万円ほどでConnect-X 4が買えてしまう。 www.ebay.com

www.ebay.com

だいたい1週間ぐらいで中国から届いた。中古ということだったが、かなりきれいなので新品なのでは?
SFP28のポートが2つあり、SFP+との互換性もあって10Gでも使えるので、10GのNICがほしい場合でも初手からConnect-X 4の中古を検討してもいい気がする。

敷設する

我が家の場合は1階にサーバーラックがあり、2階の作業スペースで作業している。そのため、1階から2階まで光ファイバーを通す必要があった。

使ったのは以下。

光ファイバーケーブルが挿せる情報コンセント

スイッチ

25GbEが生えてるスイッチはめちゃくちゃ高い。

mikrotikのCRS510-8XS-2XQ-INにしようと思ったが*2、自宅はUbiquitiのUnifiで組んでいるのでUSW Proを購入した。

Switch Pro Aggregationjp.store.ui.com

25GbEが4ポート、10GbEが28ポートあるスイッチになっている。

完成形

Macでの使用

普段はMacWindowsも利用しているが、仕事ではMacbookを使っている。
ノートパソコンなので当然PCIeのNICなんて挿さるわけがなく、どうしているかというとeGPUの外付けGPU箱を流用している。
Razer Core X → Thunderbolt(USB4) → Macbook という接続になっていて、Apple SiliconのM1 Macbookでも、ドライバーインストールをしなくてもUSB端子に挿すだけで認識する。*3

M1 Macで認識している図。25GBase-SRになっている

検証中

計測!

普段はMacWindowsも利用しているが、仕事ではMacを使っているのでMac環境で計測した。
取り急ぎiperf3を。

  • 環境
    サーバー側: M1 Macbook Pro, Thunderbolt3接続のConnect-X 4
    クライアント側: M1 Macbook Air, Thunderbolt3接続のConnect-X 4
iperf3 -c 192.168.10.250
Connecting to host 192.168.10.250, port 5201
[  5] local 192.168.10.189 port 49274 connected to 192.168.10.250 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd          RTT
[  5]   0.00-1.00   sec  1.76 GBytes  15.1 Gbits/sec  14480   2.43 MBytes   3ms
[  5]   1.00-2.00   sec  1.84 GBytes  15.8 Gbits/sec    0   3.33 MBytes   1ms
[  5]   2.00-3.00   sec  1.80 GBytes  15.5 Gbits/sec    0   4.00 MBytes   2ms
[  5]   3.00-4.00   sec  1.86 GBytes  16.0 Gbits/sec    0   4.00 MBytes   2ms
[  5]   4.00-5.00   sec  1.85 GBytes  15.8 Gbits/sec    0   4.00 MBytes   2ms
[  5]   5.00-6.00   sec  1.84 GBytes  15.8 Gbits/sec    0   4.00 MBytes   1ms
[  5]   6.00-7.00   sec  1.87 GBytes  16.1 Gbits/sec    0   4.00 MBytes   2ms
[  5]   7.00-8.00   sec  1.84 GBytes  15.8 Gbits/sec    0   4.00 MBytes   2ms
[  5]   8.00-9.00   sec  1.84 GBytes  15.8 Gbits/sec    0   4.00 MBytes   2ms
[  5]   9.00-10.00  sec  1.83 GBytes  15.7 Gbits/sec    0   4.00 MBytes   2ms
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  18.3 GBytes  15.7 Gbits/sec  14480             sender
[  5]   0.00-10.00  sec  18.3 GBytes  15.7 Gbits/sec                  receiver

iperf Done.

QNAP NASも25GbEを搭載したので、ネットワークドライブに書き込みしてみた。

QNAPのネットワークドライブ(SMB)に対してスピードテストした結果。書き込み速度はかなりばらつきがある

25Gbpsは出ていないが、10Gは超えているのでちゃんと動いているように見える。
NICを直接挿せるPCが今ないのでThunderbolt経由になってしまっていたり、スイッチがかなり不安定*4なあたりが原因かと思っているが、調査はしていない。

まとめとか

25Gbpsは出なかった原因は追って検証しようと思う。とはいえ現状の環境でもネットワーク越しで読込速度2000MB/s出るので、PCに直接SSDを繋げるのと大差なく、かなり実用的になっている。

帯域は正義

*1:QM2-2P-384Aを使っている

*2:geticで797ドル。安い!?

*3:Sonnetから25GbEの拡張カードが出ていて、搭載しているコントローラーがMellanox ConnectXだったのでApple Silicon Macでも使えるだろうと踏んで購入した

*4:Unifiの管理画面でAdoptすると必ずエラーになるので、電源入れて接続しただけの状況。問い合わせ中だが返信はない