#WindowsからLinuxへのファイル転送したい
用途としては機械学習のためにWindowsで処理した画像をLinuxへ転送したいだけ。
ファイル数700000枚、38Gbyteもある。
SCPで転送すると秒間10Mbyte程度で結構しんどい。
単純に計算しても1時間かかるし、実際は2時間くらい必要。
SCPの暗号化を簡単なものにして・・・イロイロやってみたけど「ちょっと改善したかな?」くらい。
大きく改善するために試行錯誤してみた。
#準備
せっかくイロイロ実験するんだからするんだから10GbE、10GのHUBを買ってみた。
MikroTik CRS305-1G-4S+IN
HUBはアメリカのamazonから買いましたが、日本のamazonでもそんなに変りない値段でかえます。
(関税はよくわかりません)
HUBのOSを変えてL3スイッチに出きるっぽいようなことが
https://mikrotik.com/product/crs305_1g_4s_in
に書いてある。なんか高機能っぽい。
PCの構成
Windows側
Ryzen Threadripper 2950X
memory 80Gbyte
ssd ct1000p1ssd8
NIC Intel 82599EN
SFP+端子がかっこいい。
住居にサーバを格納するBOXを作って熱対策をしながら運営していますので汚い
BOX内部は正圧になるようにACファンを回しているのですが、フィルターから埃が入ってしまう
TAITAN RTX ,GTX 1070Tiの排熱が半端ないので扇風機いれてます。
Linux側
Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz
memory 32Gbyte
ssd CT500MX500SSD1
NIC Intel 82599EN
埃
養生テープは埃防止です。
速度面から両方ともM.2の970EVOにしたかったけど、お金がない。
#とりあえず iperf
DACで直結しました。
iperf3.exe
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 980 MBytes 822 Mbits/sec sender
[ 4] 0.00-10.00 sec 980 MBytes 822 Mbits/sec receiver
[ 6] 0.00-10.00 sec 969 MBytes 813 Mbits/sec sender
[ 6] 0.00-10.00 sec 969 MBytes 813 Mbits/sec receiver
[ 8] 0.00-10.00 sec 1005 MBytes 843 Mbits/sec sender
[ 8] 0.00-10.00 sec 1005 MBytes 843 Mbits/sec receiver
[ 10] 0.00-10.00 sec 968 MBytes 812 Mbits/sec sender
[ 10] 0.00-10.00 sec 968 MBytes 812 Mbits/sec receiver
[ 12] 0.00-10.00 sec 950 MBytes 797 Mbits/sec sender
[ 12] 0.00-10.00 sec 950 MBytes 797 Mbits/sec receiver
[ 14] 0.00-10.00 sec 986 MBytes 827 Mbits/sec sender
[ 14] 0.00-10.00 sec 985 MBytes 827 Mbits/sec receiver
[ 16] 0.00-10.00 sec 982 MBytes 824 Mbits/sec sender
[ 16] 0.00-10.00 sec 982 MBytes 824 Mbits/sec receiver
[ 18] 0.00-10.00 sec 984 MBytes 825 Mbits/sec sender
[ 18] 0.00-10.00 sec 984 MBytes 825 Mbits/sec receiver
[ 20] 0.00-10.00 sec 1.50 GBytes 1.29 Gbits/sec sender
[ 20] 0.00-10.00 sec 1.50 GBytes 1.29 Gbits/sec receiver
[ 22] 0.00-10.00 sec 1.79 GBytes 1.54 Gbits/sec sender
[ 22] 0.00-10.00 sec 1.79 GBytes 1.54 Gbits/sec receiver
[SUM] 0.00-10.00 sec 10.9 GBytes 9.39 Gbits/sec sender
[SUM] 0.00-10.00 sec 10.9 GBytes 9.39 Gbits/sec receiver
iperf Done.
すげぇ
2021/08/15追記
↑の結果は-Pでparallelにしていました。
「ESET」と「FortiClient VPN」を入れると2Gbitsくらいしかでません(当時はこのことに気が付かず)
インストールされているだけで低下します!!
方向によっては800程度です。
速度が出ない人は注意!!
画像転送をやってみる。
イロイロためしてみたら、Windows Subsystem for Linuxでtarとsshで平行で出してあげると早いことが分かった。
(tarとncで平行出しはめんどくさかったです)
jpg転送メインなので圧縮なしです。
tar cf - 画像のディレクトリ/*1 | ssh user@192.168.x.xxx 'tar xf -'&
tar cf - 画像のディレクトリ/*2 | ssh user@192.168.x.xxx 'tar xf -'&
tar cf - 画像のディレクトリ/*3 | ssh user@192.168.x.xxx 'tar xf -'&
転送中のdstat -tafコマンド画面。dskとnetのところに注目。
900Mでているところもあれば転送を停止している時間もある。
たぶんCT500MX500SSD1への書き込み性能が300Mで頭打ちなんだとおもう。
(Crystal Disk Mark で4K書き込みが350Mくらいなんで)
M.2にすれば常時900M行ってくれるのではないか?
なんにしても38Gbyteの転送が数分でおわったのがうれしい。
計測してないけど5分かかってないと思う。
1GbEも試してみる
(dskとnetのところに注目)
117Mべた張りじゃないですか!!
38Gbyteが10分以内に転送できてしまう。
んーー10GbEいらんかったなぁーーこれで十分な気がする。
合計4枚のIntel 82599EN
うちにはサーバ用途のマシンが3台、作業用が1台計4台のdesktopマシンがあります。
4台とも入れてみたのですが、認識しないマシンが2台ありました。
動かなかったマザボ
-
ASUSTeK COMPUTER INC. P8B75-M : NICを刺して起動・・既存のOS起動することなくその後何やっても(NICを抜いても)だめ。お亡くなり。OSを再インストールするがLinuxのlspciにでない。見かけ上16xのバスに刺したら動きそうな気配もするけど、GPUを動かすからそれはやりたくない。
-
ASRock H97M Pro4 : NICを刺して起動しない。電源が入らない。なんでや?NICを抜いたら起動する
金の無駄だった。
マシンが古すぎるんですよね。。。レーン数8xで頑張るIntel 82599ENなのでそれ以下で使うのはもったいない。
せっかくなので買い替えようかな。
2021/05/28追記
MELLANOX CX311A‑XCAT ネットワークカード を購入ASRock H97M Pro4に刺してみたら動いた!
ESXi 6.0.0 を運用しているんですが、何もしないで認識!すごい。
ハードウエア的に古いしそろそろ買い替えようかと悩んでいたので
もう少し延命しようかなと思う。
2022/05/15追記
MELLANOX CX311A‑XCAT +ASRock H97M Pro4の転送速度を載せてなかった
古いマザボでも動く。
D:\>iperf3 -c 192.168.xxx.xxx -P 4
Connecting to host 192.168.xxx.xxx0, port 5201
[ 4] local 192.168.xxx.xxx port 65324 connected to 192.168.xxx.xxx0 port 5201
[ 6] local 192.168.xxx.xxx port 65325 connected to 192.168.xxx.xxx0 port 5201
[ 8] local 192.168.xxx.xxx port 65326 connected to 192.168.xxx.xxx0 port 5201
[ 10] local 192.168.xxx.xxx port 65327 connected to 192.168.xxx.xxx0 port 5201
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 271 MBytes 2.27 Gbits/sec
[ 6] 0.00-1.00 sec 266 MBytes 2.23 Gbits/sec
[ 8] 0.00-1.00 sec 272 MBytes 2.28 Gbits/sec
[ 10] 0.00-1.00 sec 272 MBytes 2.28 Gbits/sec
[SUM] 0.00-1.00 sec 1.06 GBytes 9.07 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 1.00-2.00 sec 286 MBytes 2.40 Gbits/sec
[ 6] 1.00-2.00 sec 279 MBytes 2.34 Gbits/sec
[ 8] 1.00-2.00 sec 278 MBytes 2.34 Gbits/sec
[ 10] 1.00-2.00 sec 283 MBytes 2.37 Gbits/sec
[SUM] 1.00-2.00 sec 1.10 GBytes 9.45 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 2.00-3.00 sec 286 MBytes 2.40 Gbits/sec
[ 6] 2.00-3.00 sec 280 MBytes 2.34 Gbits/sec
[ 8] 2.00-3.00 sec 278 MBytes 2.34 Gbits/sec
[ 10] 2.00-3.00 sec 282 MBytes 2.37 Gbits/sec
[SUM] 2.00-3.00 sec 1.10 GBytes 9.45 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -