自宅10GbE化 その4

2024/02/17 2024/02/18

前回、とりあえずWindows PCとProxmox NASに10GBASE-SRレシーバーを付けてファイバー接続をしたものの、通信スピードが6 ~7Gbps位で思ったよりスピードが出ない状況でした。

その後色々試した結果、スピード改善したのでメモになります。

試したこと① – 直結

とりあえず間のスイッチが悪さをしていないかの切り分けの為、PCとNASのファイバーを直結してみました。

昔のクロスケーブル的な考え方がいるのかがよく分からずに試した方が早いとやってみた所、ちゃんと接続でできました。

ただ、iperf3の結果は変化無し…

試したこと② – MTU設定

次はジャンボフレーム(MTU)のせいかなーと、PC側とNAS側両方に定義を設定。

PC側はデバイスマネージャーからMellanoxのアダプタのプロパティを開き、詳細設定から「Jumbo Packet」を「9000」に。

NAS側は/etc/network/interfacesのNICインターフェースと仮想ブリッジに対して「mtu 9000」を記述。

auto lo
iface lo inet loopback

iface enp1s0 inet manual
        mtu 9000

iface wlp4s0 inet manual

iface enp4s0 inet manual

auto vmbr0
iface vmbr0 inet static
        mtu 9000
        address xxx.xxx.xxx.xxx/xx
        gateway xxx.xxx.xxx.xxx
        bridge-ports enp1s0
        bridge-stp off
        bridge-fd 0

source /etc/network/interfaces.d/*

これで改善を期待していたのですが、結果変わらず…

試したこと③ – ファームアップ

あとはドライバーか…と思ったのですが、NAS側はLinuxなのでまぁ古くはないだろうと思いつつ、Windows 側はドライバーが古い&新しいのが出てないという状況で無理だなーと思いつつ、カードが古いのでファーム上げてみるかとやってみました。

Mellanox自体はNVIDIAに買収されたみたいで、公開はNVIDIAのこちらでされていました。

一番新しいバージョンはfw-ConnectX3-rel-2_42_5000-MCX311A-XCA_Ax-FlexBoot-3.4.752だったのでこれをダウンロード。
zipだったので解凍したものをNASへ転送。

NAS側では、ファームウェアアップデートツールをインストール。

# apt install mstflint

Proxmoxはaptで入れられました。

次にアップデートに必要なデバイスのPCI アドレスを確認。

# lspci | grep Mellanox

01:00.0 Ethernet controller: Mellanox Technologies MT27500 Family [ConnectX-3]

先頭の数字がPCIアドレスになります。
次に現在のファームバージョンを確認。

# mstflint -d 01:00.0 query

Image type:            FS2
FW Version:            2.33.5220
FW Release Date:       29.3.2015
Product Version:       02.33.52.20
Rom Info:              type=PXE version=3.4.467
Device ID:             4099
Description:           Node             Port1            Port2            Sys image
GUIDs:                 xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx 
MACs:                                       xxxxxxxxxxxx     xxxxxxxxxxxx
VSD:                   
PSID:                  xxxxxxxxxxxxx

「FW Version」がファームバージョンになりますが、やっぱり古かったです。
更新をかけます。

# mstflint -d 01:00.0 -i fw-ConnectX3-rel-2_42_5000-MCX311A-XCA_Ax-FlexBoot-3.4.752.bin burn

    Current FW version on flash:  2.33.5220
    New FW version:               2.42.5000

Burn process will not be failsafe. No checks will be performed.
ALL flash, including the Invariant Sector will be overwritten.
If this process fails, computer may remain in an inoperable state.

 Do you want to continue ? (y/n) [n] : y
Burning FS2 FW image without signatures - OK  
Restoring signature                     - OK

こんな感じで進めていくと更新がかけられました。

WindowsPC側はWindows側のツールで更新…と思い、ここにあったMFTを使ってみたのですがNICを認識せず…
諦めてNASに一時的に挿してNAS側で上記手順で更新かけました。

これで変わってくれないかなーと思いましたが、iperf3の結果は変わらず…

試したこと④ – Firewall停止

ほぼほぼこれで手がないなーと思い、もう諦めてたのですがふと通信に絡むもの他に無いよなぁ…と思ったときに浮かんできたのがFirewall。

NAS側はそもそもFirewallを動かしておらずなのでPC側だけの話になりますが、このPCはComodo Firewallを入れています。
こいつが通過はさせるが通信負荷をかけるケースもあるのかもと思い、Comodo Firewall 自体を一時停止して試行。

iperf3の結果は変わらず…
うーん、もうお手上げ…と思いつつ、本当にComodo Firewall止まってるのか?と思って、Windowsセキュリティの「プロバイダーの管理」を確認。

やっぱComodoは無効になってるなぁ…、もうお手上げや…
と思って少し視線を下に降ろすと…

ん!? なんで有効? アンチウイルス系と同様でComodoが入ったら勝手にWindowsファイアウォールは無効化されるとばっかり思ってたのですが…
Comodoが自分が無効にされたから有効化した!?
試しにComodoを改めて有効化したら両方とも有効になりました。二重Firewall…。おかしいやないかい!!

これが原因じゃ…と思い、一旦両方無効化した状態でiperf3やってみました。

Connecting to host 192.168.1.xxx, port 5201
[  4] local 192.168.1.xxx port 60614 connected to 192.168.1.xxx port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec  1.09 GBytes  9.39 Gbits/sec
[  4]   1.00-2.00   sec  1.09 GBytes  9.34 Gbits/sec
[  4]   2.00-3.00   sec  1.11 GBytes  9.57 Gbits/sec
[  4]   3.00-4.00   sec  1.11 GBytes  9.55 Gbits/sec
[  4]   4.00-5.00   sec  1.11 GBytes  9.49 Gbits/sec
[  4]   5.00-6.00   sec  1.11 GBytes  9.56 Gbits/sec
[  4]   6.00-7.00   sec  1.11 GBytes  9.55 Gbits/sec
[  4]   7.00-8.00   sec  1.11 GBytes  9.57 Gbits/sec
[  4]   8.00-9.00   sec  1.11 GBytes  9.55 Gbits/sec
[  4]   9.00-10.00  sec  1.10 GBytes  9.48 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec  11.1 GBytes  9.50 Gbits/sec                  sender
[  4]   0.00-10.00  sec  11.1 GBytes  9.50 Gbits/sec                  receiver

iperf Done.

キター!!!!!!!!!!
次にComodoだけ有効化した状態で改めて実施。

Connecting to host 192.168.1.xxx, port 5201
[  4] local 192.168.1.xxx port 55336 connected to 192.168.1.xxx port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec  1.06 GBytes  9.14 Gbits/sec
[  4]   1.00-2.00   sec  1.09 GBytes  9.37 Gbits/sec
[  4]   2.00-3.00   sec  1.09 GBytes  9.38 Gbits/sec
[  4]   3.00-4.00   sec  1.10 GBytes  9.42 Gbits/sec
[  4]   4.00-5.00   sec  1.10 GBytes  9.43 Gbits/sec
[  4]   5.00-6.00   sec  1.09 GBytes  9.34 Gbits/sec
[  4]   6.00-7.00   sec  1.10 GBytes  9.45 Gbits/sec
[  4]   7.00-8.00   sec  1.09 GBytes  9.33 Gbits/sec
[  4]   8.00-9.00   sec  1.08 GBytes  9.27 Gbits/sec
[  4]   9.00-10.00  sec  1.10 GBytes  9.44 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec  10.9 GBytes  9.36 Gbits/sec                  sender
[  4]   0.00-10.00  sec  10.9 GBytes  9.36 Gbits/sec                  receiver

iperf Done.

ちょっとだけ落ちましたが誤差レベル。素晴らしい!! (ToT)

改めてNASに向けたCrystalDiskMarkもやってみました。

こちらもイケイケな数値を叩き出しました。
さすがSSD + RAIDZ。ストレージI/Oのパフォーマンスもイケイケのようです。

これでモヤモヤしてたものが解決しました。よかったよかった。

関連記事

コメントとトラックバック

    コメントはありません

    コメントを残す

    CAPTCHA


    トラックバックURLhttps://e-tune-mt.net/ylab/7246/trackback