以前、自宅の環境を10GbE化した記事を書いた。
しばらく経ち、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
だいたい1週間ぐらいで中国から届いた。中古ということだったが、かなりきれいなので新品なのでは?
SFP28のポートが2つあり、SFP+との互換性もあって10Gでも使えるので、10GのNICがほしい場合でも初手からConnect-X 4の中古を検討してもいい気がする。
敷設する
我が家の場合は1階にサーバーラックがあり、2階の作業スペースで作業している。そのため、1階から2階まで光ファイバーを通す必要があった。
使ったのは以下。
- パッチパネル
24ポート ラックマウント パッチパネル – Ubiquiti 日本公式ストア - キーストーン
www.fs.com - 光ファイバー
LC-LCでアマゾンに売ってるやつ。短いものはfs.comから購入した - キーストーンをコンセントのところにつけるやつ
これがかなり重宝している。1個140円ととても安価で、実店舗でも売っている。千石電商 秋葉原店の地下1階、一番奥あたりにあった。
www.sengoku.co.jp
スイッチ
25GbEが生えてるスイッチはめちゃくちゃ高い。
mikrotikのCRS510-8XS-2XQ-INにしようと思ったが*2、自宅はUbiquitiのUnifiで組んでいるのでUSW Proを購入した。
Switch Pro Aggregationjp.store.ui.com
25GbEが4ポート、10GbEが28ポートあるスイッチになっている。
Macでの使用
普段はMacもWindowsも利用しているが、仕事ではMacbookを使っている。
ノートパソコンなので当然PCIeのNICなんて挿さるわけがなく、どうしているかというとeGPUの外付けGPU箱を流用している。
Razer Core X → Thunderbolt(USB4) → Macbook という接続になっていて、Apple SiliconのM1 Macbookでも、ドライバーインストールをしなくてもUSB端子に挿すだけで認識する。*3
計測!
普段はMacもWindowsも利用しているが、仕事では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を搭載したので、ネットワークドライブに書き込みしてみた。
- 環境
NAS: TVS-872XU-RP, Connect-X 4, プロトコルはSMB
クライアント: M1 Macbook Air, Thunderbolt接続のConnect-X 4
25Gbpsは出ていないが、10Gは超えているのでちゃんと動いているように見える。
NICを直接挿せるPCが今ないのでThunderbolt経由になってしまっていたり、スイッチがかなり不安定*4なあたりが原因かと思っているが、調査はしていない。
まとめとか
25Gbpsは出なかった原因は追って検証しようと思う。とはいえ現状の環境でもネットワーク越しで読込速度2000MB/s出るので、PCに直接SSDを繋げるのと大差なく、かなり実用的になっている。
帯域は正義
*1:QM2-2P-384Aを使っている
*3:Sonnetから25GbEの拡張カードが出ていて、搭載しているコントローラーがMellanox ConnectXだったのでApple Silicon Macでも使えるだろうと踏んで購入した
*4:Unifiの管理画面でAdoptすると必ずエラーになるので、電源入れて接続しただけの状況。問い合わせ中だが返信はない