25GbE はじめました

この記事はネットワーク何もわからない人が書いています(ダニング=クルーガー効果の真ん中ではなく、一番左の位置である)

長年、家庭用のLANは1000BASE-Tのギガビットイーサが主流であった。

しかし、1000BASE-Tは約20年ほど前から普及を始めた規格。当時はPCIバスなどが追い付かずオーバースペックだったのだろうと想像できるが、今となってはSSDどころかHDDより遅い。

ギガビットイーサを越えよう。そう決意した。

10Gbase-Tは、既存のCat6Aのケーブルが使い回せるくらいで、電気は食うわレイテンシは遅いわろくなことはない。

ならSFP+だろう。そう思った。Twitterで10G環境を入れたい。そう呟いた。

オタクにConnectXを勧められた。

しかし相場がわからない。公式ストアを見たあとeBayを見た。10GbEのCollectX-3を見ていたはずが、いつの間にか25GbEのConnectX-4 Lxになっていた。なんとなく半導体的に新しいプロセスであろうものが好きなのと(3系と4以降でドライバが違うので設計が違うのだろうと思った)、NVMeのSSDの速度は10Gbpsを越えるからだ。

こうして、Mellanox ConnectX-4 Lx MCX4121A-ACAT(以下ConnectX-4)を2個購入した。米Amazonで25GbE用のSFP28のDirect Attach Cable(DAC)も買った。

約2週間後、NIC2つとケーブルが届いた。装着したマシンのスペックは以下のとおりである。

メインマシン

  • CPU Ryzen9 3900X
  • MB ASRock X570 Taichi
  • RAM DDR4-3600 64GB
  • OS Windows 10 Pro 64bit

録画鯖

  • CPU Core i7 7700
  • MB ASRock H270M Pro4
  • RAM DDR4-2400 8GB
  • OS Windows 10 Pro 64bit

メインマシン・録画鯖の両方ともConnectX-4をPCI-Express x16 Gen3のx4動作のスロットに挿入した。メインマシンの方はX570なのでGen4だが、 ConnectX-4がGen3なので、メインマシンと録画鯖の接続速度は変わらない。ConnectX-4自体はPCIe Gen3 x8なので、Gen3 x4動作(データリンク層転送帯域 約31.5Gbps)では帯域が不足しているが、1ポートしか使わないなら25GbEの速度のボトルネックにならないはずである。

Windowsを起動し、最新のドライバをインストールした。その後、以下の記事を参考にファームウエアも最新にした。

Mellanox connectX-3のファームアップデート手順

メインマシン・録画機の両方とも既存のインターネット接続用のネットワークは192.168.0.4/24と192.168.0.5/24となっている。今回はスイッチを通さず2マシンを直結して使用する計画だ。そのため、メインマシンのIPを192.168.1.4、録画機のIPを192.168.1.5に設定し、2マシンともサブネットは255.255.255.0にした。デフォルトゲートウェイとDNSサーバーは空欄だ。

Windows PowerShellでping 192.168.1.5と打ってみる。タイムアウトになる。悩んだ。

色々検索をしてroute addとかいろんなコマンドを試してみた。ダメだった。初日は匙を投げた。

翌日、再びこの問題に挑んだ。pingを打った。タイムアウトだ。

しかしある一つのことに気づいた。Windowsのネットワークアダプタの状態を見ると、pingを打つと送信の値が増える。受信側の状態を見ると、送信と同じバイト数受信していた。これはpingそのものは届いている可能性が高いということか?

Windows Defenderのファイアウォールを無効化してみた。するとpingが通った。1日悩まされた原因は、単にファイアウォールに弾かれていただけだった。

メインマシンと録画鯖はConnectX-4をケーブルで直結している。つまりインターネットには接続されていないし、ローカルネットワークでもない。Windows上での表示は不明なネットワークになっていた。不明なネットワークはWindowsネットワークのパブリックネットワーク扱いされていた。これをプライベートネットワークに変更した。するとpingが通った。

原因は不明なネットワーク判定された直結NICが、パブリックネットワークのファイアウォール規定に引っかかっていただけだった。問題は解決した。

無事にメインマシン・録画鯖の両方が繋がったので、実験用としてメインマシンのNVMe SSDと、録画鯖のNVMe SSDをSMBで共有して繋いだ。fsutil file createnew testfile 107374182400というコマンドで100GBの空ファイルを生成し、FastCopyというツールでコピーした。

見よ!これが25GbEの力だ!!

実測値24.3Gbps、100GBのファイルのコピーが約35秒で終わる。まさに革命だった。標準から弄った設定はConnectX-4のMTU値を1514から9614に変更したくらいである。14バイトはイーサネットのヘッダのため、実際のデータ部は標準の1500から9600バイトだ。

ジャンボフレームのおかげか、3900XのCPU負荷は6%で済んでいる。(これが2コア2スレッドのCeleronとかだとキツそうだが)

パワーとスピードで大抵の問題は片付く。そう感じた。

ちなみに、FastCopyではなくWindowsのコピー機能だと、SMB Directが使えないWindows 10 Proではジャンボフレーム有効環境でも14Gbps前後しか出ない

北近畿合同巡検 3日目 鳥取・大阪

5. 湯村温泉->鳥取

昨日湯村に着いた時点ですでに真っ暗だったため、朝8時過ぎから温泉街を散策した。

温泉街と言っても城崎のように川を中心に連なっているというわけではなく、荒湯と呼ばれる中心地の周囲に立地しているタイプだ。

湯村温泉は、荒湯という98度の源泉に玉子を沈め、温泉卵を作るのが有名なので、それをやろうかと思ったが、一番安いやつで玉子3個つだったので諦めた。そんな多くいらない。1つあれば十分だった。

荒湯を中心に温泉街を散策したので、車で浜坂に向かった。

日本海の荒波を感じることができた。

途中、浜坂港で水産物の販売店に立ち寄った。そこで生きた松葉ガニを買った。

ここからは鳥取方面に進む。景色が見たいのでもちろん旧道を走った。トンネルの前後に旧道がある部分も旧道を走った。

地図を見ると、居組と東浜の間に東浜居組道路というバイパスがある。この区間だけ飛び地でバイパスがあるのが謎だったが、迷わず旧道の七坂八峠に進んだ。

続きを読む

2020北近畿合同巡検 2日目 玄武洞・加悦に行く

4. 玄武洞

城崎温泉8:58発の豊岡行きの普通で出発した。1つ隣の玄武洞駅で降りた。

玄武洞駅はその名の通り柱状節理が見事な景勝地「玄武洞」の最寄り駅だ。少なくとも直線距離上は。

実際には玄武洞駅と玄武洞の間には大きな川が流れていて橋はない。玄武洞ミュージアムに電話すると、対岸の玄武洞から玄武洞駅に渡船が迎えに来てくれる。渡船に乗り玄武洞に向かった。

柱状節理。タモリさんがすきそうな景色である。4つの洞窟があり、それぞれ玄武洞 ・青竜洞・白虎洞・朱雀洞と名付けられている。ポプテピピックのテレビスペシャルかな???

青龍洞
玄武洞

玄武洞公園を一通り回った。解説板を見た。一度見た看板だった。「もう見た」とオタクは言った。やっぱりポプテピピックじゃないか!

続きを読む

2020北近畿合同巡検 1日目 天橋立・伊根・城崎温泉に行く

行くことになった経緯については、同行者のブログをご覧いただきたい。

はじめに

加悦SL広場、20年3月閉園検討 貴重な鉄道車両27両展示「引き取り手探したい」

天橋立周辺には今まで2度行っていた。行ったことは無かったが加悦SL広場の存在も知ってはいた。しかし、そのSL広場が閉まるかもしれないという情報が入ってきたのである。

行きたいなと思っていた矢先、Twitterで若さ氏が1月の三連休で行きたいということを言っていた。自分もいつか行こうとは思っていた。行くのは今しかなかった。しかし加悦には鉄道は通っていない。バスの本数も少ない。そこで私は若さ氏に私がレンタカー借りて、一緒に行かない?と提案した。お互いの意見が一致した。こうして私と若さ氏は1月の三連休に加悦に行くことになった。

普段単独行動ばかりするオタクが2人で行動するということは、1人NGな宿にも泊まれるということだ。さらに現地でレンタカーを使うということは人数が多いほどコストを削れる。そこで私は市川氏に若さ氏と一緒に加悦に行かないかと提案した。偶然にも同じ三連休に市川氏も加悦に行くことを計画していた。こうして若さ氏と市川氏と私の3人で1月の三連休で加悦に行くことにした。

加悦は京都府北部の街だ。平成の大合併により今は与謝野町になっている。京都市街地からは2時間ほどかかる。当然関東から京都までも時間もお金もかかる。

そこで私は、元々1月19日に開催されるこみトレに一般参加する予定だった変更可能な航空券を変更し、1月11日の羽田→伊丹、1月13日の伊丹→羽田に変更した。

1.  東京->福知山

続きを読む