ds918+ に 2.5Gbps / 5Gbps の USB LAN を接続する

なぜ2.5Gbps の NIC を増設するのか?

近年 10GbE の普及が進んでおり NAS 側が 10GbE に対応するケースが増えてきています。Synology も対応したラインナップがあるのですが、残念ながら DS918+ にあ PCIe スロットが無く拡張する手段も用意されていません。

DS918+自体は 1GbE のポートを二つ持っているので SMB Multichannel を使えば擬似的に帯域を 2Gbps にすることは一応出来るのですが、Samba はまだ SMB Multichannel に正式対応していません。oplock の処理が未実装なため有効化するにはリスクがあります。

どうやって増設する?

QNAP や ASUSTOR であれば、PCIe スロットが無くても USB で 2.5GbE/5GbE を増設することが可能です。しかしながら、Synology は全てのラインナップにおいて USB LAN のドライバが削除されており、標準では USB 接続をサポートしていません。

そこで、2.5GbE のドライバを自身で追加することにしました。今回利用した製品は PLANNEX の USB-LAN2500Rです。

この製品は REALTEKの RTL8156 を搭載していますから、REALTEK のドライバを入れれば良いことになります。

5Gbpsは?

他にもQNAPから5Gbpsに対応したQNA-UC5G1Tも販売されています。

これを使えばさらなる性能向上が期待できるのですが、手元の構成ではストレージの方の性能があまり高くないことと、USB 3.2gen1(=USB 3.0) の 5Gbps(論理データ転送速度は 4Gbps)がボトルネックになって、 コストパフォーマンスもあまり良くなさそうだったので購入を見送りました。

追記QNA-UC5G1T のドライバも作成し、動作確認が取れました。https://github.com/bb-qq/aqc111/

ドライバのダウンロードとインストール

そうして出来たドライバはこちらです。他のアーキテクチャの製品やDSMバージョンについては公式のスクリプトを使ってビルドすれば作成できます。
https://github.com/bb-qq/r8152/releases

パッケージセンターからマニュアルインストールでspkファイルを指定することでインストールできます。インストールすると起動時にドライバが読み込まれるようになります。

DSM のカーネルバージョンが上がると読み込みがエラーになるかもしれませんが、バージョンチェックが働くので、ハングアップするようなことは無いはずです。

認識すると ifconfig -a の出力に eth2 が出現します。
# lsusb
|__usb1          1d6b:0002:0404 09  2.00  480MBit/s 0mA 1IF  (Linux 4.4.59+ xhci-hcd xHCI Host Controller 0000:00:15.0) hub
  |__1-4         f400:f400:0100 00  2.00  480MBit/s 200mA 1IF  (Synology DiskStation XXXXXXXXXX)
|__usb2          1d6b:0003:0404 09  3.00 5000MBit/s 0mA 1IF  (Linux 4.4.59+ xhci-hcd xHCI Host Controller 0000:00:15.0) hub
  |__2-1         0bda:8156:3000 00  3.20 5000MBit/s 512mA 1IF  (Planex USB 10/100/1G/2.5G LAN 000000001)

無事5Gbpsで認識できています。

設定は synonet コマンドを使用します。設定するとGUIからLAN3として見えるようになりますが、細かい条件は不明です。GUIから設定しておくと、リンクダウンしてもIPアドレスが無くなったりはしなくなりますが、再起動では設定が失われます。このあたりは起動時のパッケージを読み込むタイミングとアドレスを設定するタイミングが合ってないことが原因だと思うのですが、この辺を綺麗に解決する方法は今のところ見つけられていません。

実際のパフォーマンス

iperf3 をつかってパフォーマンスを計測しました。

環境

Aquantia製の AQC107 を搭載した AQN-107 と直結させて計測しています。
 

AQN-107 はチップメーカ Aquantia 自身が販売するリファレンスカードです。ASUS 等から同じチップを搭載したカードが販売されています。
ASUSの方がややヒートシンクが大きめですが、AQN-107の方が安価になっていますので2.5/5Gbpsで使うのがメインならAQN-107で十分だと思います。

iperf のバイナリはこちらで配布されている物を利用しました。
http://www.jadahl.com/iperf-arp-scan/DSM_6.2/
spk ファイルですので、ドライバと同様にパッケージセンターからインストールできます。

Docker を使うとより手軽に iperf を利用できますが、NAT 処理が CPU を消費するため、正しく性能を計測することが出来ませんので注意して下さい。

結果

実際の結果はこうなりました。

Connecting to host 192.168.0.xxx, port 5201
[  4] local 192.168.0.xxx port 50366 connected to 192.168.0.xxx port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec   266 MBytes  2.23 Gbits/sec
[  4]   1.00-2.00   sec   274 MBytes  2.30 Gbits/sec
[  4]   2.00-3.00   sec   278 MBytes  2.33 Gbits/sec
[  4]   3.00-4.00   sec   278 MBytes  2.33 Gbits/sec
[  4]   4.00-5.00   sec   278 MBytes  2.33 Gbits/sec
[  4]   5.00-6.00   sec   278 MBytes  2.34 Gbits/sec
[  4]   6.00-7.00   sec   274 MBytes  2.30 Gbits/sec
[  4]   7.00-8.00   sec   267 MBytes  2.24 Gbits/sec
[  4]   8.00-9.00   sec   269 MBytes  2.26 Gbits/sec
[  4]   9.00-10.00  sec   271 MBytes  2.27 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec  2.67 GBytes  2.29 Gbits/sec                  sender
[  4]   0.00-10.00  sec  2.67 GBytes  2.29 Gbits/sec                  receiver

iperf Done.
無事 2.5Gbps に迫る速度が出せました。

追記:5GbpsのQNA-UC5G1T結果は以下のようになりました。(ジャンボフレーム有効の場合)

iperf3 -c 192.168.xx.xx -P 2
Connecting to host 192.168.xx.xx, port 5201
[  4] local 192.168.yy.yy port 54613 connected to 192.168.xx.xx port 5201
[  6] local 192.168.yy.yy port 54614 connected to 192.168.xx.xx port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec   198 MBytes  1.66 Gbits/sec
[  6]   0.00-1.00   sec   186 MBytes  1.56 Gbits/sec
[SUM]   0.00-1.00   sec   384 MBytes  3.22 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  4]   1.00-2.00   sec   211 MBytes  1.77 Gbits/sec
[  6]   1.00-2.00   sec   189 MBytes  1.58 Gbits/sec
[SUM]   1.00-2.00   sec   400 MBytes  3.36 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  4]   2.00-3.00   sec   209 MBytes  1.75 Gbits/sec
[  6]   2.00-3.00   sec   190 MBytes  1.60 Gbits/sec
[SUM]   2.00-3.00   sec   400 MBytes  3.35 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  4]   3.00-4.00   sec   209 MBytes  1.76 Gbits/sec
[  6]   3.00-4.00   sec   188 MBytes  1.57 Gbits/sec
[SUM]   3.00-4.00   sec   397 MBytes  3.33 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  4]   4.00-5.00   sec   224 MBytes  1.88 Gbits/sec
[  6]   4.00-5.00   sec   176 MBytes  1.47 Gbits/sec
[SUM]   4.00-5.00   sec   400 MBytes  3.36 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  4]   5.00-6.00   sec   209 MBytes  1.75 Gbits/sec
[  6]   5.00-6.00   sec   191 MBytes  1.60 Gbits/sec
[SUM]   5.00-6.00   sec   400 MBytes  3.35 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  4]   6.00-7.00   sec   210 MBytes  1.76 Gbits/sec
[  6]   6.00-7.00   sec   189 MBytes  1.59 Gbits/sec
[SUM]   6.00-7.00   sec   399 MBytes  3.35 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  4]   7.00-8.00   sec   212 MBytes  1.78 Gbits/sec
[  6]   7.00-8.00   sec   186 MBytes  1.56 Gbits/sec
[SUM]   7.00-8.00   sec   398 MBytes  3.34 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  4]   8.00-9.00   sec   212 MBytes  1.78 Gbits/sec
[  6]   8.00-9.00   sec   189 MBytes  1.59 Gbits/sec
[SUM]   8.00-9.00   sec   401 MBytes  3.36 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  4]   9.00-10.00  sec   207 MBytes  1.73 Gbits/sec
[  6]   9.00-10.00  sec   193 MBytes  1.62 Gbits/sec
[SUM]   9.00-10.00  sec   400 MBytes  3.35 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec  2.05 GBytes  1.76 Gbits/sec                  sender
[  4]   0.00-10.00  sec  2.05 GBytes  1.76 Gbits/sec                  receiver
[  6]   0.00-10.00  sec  1.83 GBytes  1.57 Gbits/sec                  sender
[  6]   0.00-10.00  sec  1.83 GBytes  1.57 Gbits/sec                  receiver
[SUM]   0.00-10.00  sec  3.89 GBytes  3.34 Gbits/sec                  sender
[SUM]   0.00-10.00  sec  3.89 GBytes  3.34 Gbits/sec                  receiver

iperf Done.

SMB 経由のファイルコピーでは 435MB/s の速度が出ていますが、iperf でそれを下回ってしまう理由はよく分かっていません。

最後に

純正のオプションを使うよりもお手軽かつ安価に通信速度を向上させることが出来ました。DS918+は他に選択肢がありませんでしたが、10GbE 増設に対応している機種であっても、USB NIC の増設は悪くない選択肢だと思います。

コメント

このブログの人気の投稿

isai VL LGV31 / isai FL LGL24 向けの Android 7.1 Nougat ROM を公開しました

LGV31 isai VL で root を取得する