QNAP のネットワークを高速化したい

(この記事は 2021年6月 くらいの情報です)

うちの QNAP TS-859 Pro+ は、最終的に GbE x2 を 802.3ad で LAG モドキにしていました。
対向が LAG 対応ではあるけど、対向側で Layer 2+3 できないので負荷分散はされません。
NAS 側からのセッションは分散できるけど、そんな使い方はしないかと。

これ、なんとかしたいです。

というわけで、SMB3 の SMB MultiChannel が QNAP でも使えるらしいので、試してみます。

先に言っておくと、このタクラミは失敗します。
(QNAP 全般が悪いのではなく、TS-859 が古いせいです)

SMB MultiChannel とは?

まぁ、あちこちで説明されてるので詳しくはググってください。

超ざっくり言うと、
・少なくともサーバーかクライアントに NIC が2つある
・NIC の帯域がミスマッチ
な時に、複数の NIC を勝手に利用していい感じに同時転送してくれる機能です。

2本の NIC をそれぞれつないでても、

画像1

普通は片方(対応する IP アドレスのある方)しか使われません。
これが

画像2

こんな感じに、いい感じにしてくれる機能、だと思えば遠くないかと。
細かい部分では色々ありますが。

ちなみに、有効なのは SMB3 の転送だけ、です。
大雑把には、ファイル共有ってやつですね。
HTTP とか、NFS とか、そういうのは速くならないよってことです。

なお、ここでは SMB3 MultiChannel の説明をしたいわけではないので、そのへんの設定や確認のためのコマンドなどはイチイチ書きません。
(不正確なこと書きたくないし)
調べればすぐ出てきますので、そちらでお願いします。

QNAP を確認する

QNAP 側を確認します。

スクリーンショット 2021-06-16 005038

なんか、QTS 上で SMB3 の選択肢が出るとかなんとかあったけど、うちには出ていないので ssh でログインして確かめることにします。

[~] # smb2status

smbd (samba daemon) Version 4.0.25
smbd (samba daemon) is running.
max protocol SMB 2.1 enabled.

2.1 だったので、3 に変更

[~] # smb3enable
Shutting down SMB services: smbd nmbd.
Shutting down winbindd services: winbindd.
max protocol SMB 3 ... enabled.
locks path was set to /share/MD0_DATA/.locks
Shutting down winbindd services: winbindd.
Starting winbindd services:Starting SMB services:.

smbd (samba daemon) Version 4.0.25
smbd (samba daemon) is running.
max protocol SMB 3 enabled.

2.1 は disable しないでいいのか?とか思うけど、何かを enable すると他が自動的に disabled になるっぽいです。

MultiChannel の config を書き込み。

[~] # vi /etc/config/smb.conf
server multi channel support = yes

ちなみに、/etc/smb.conf は /etc/config/smb.conf へのシンボリックリンクです。

で、samba サービスを再起動。

[~] # /etc/init.d/smb.sh restart
Restarting SMB services:
Shutting down SMB services: smbd nmbd.
Shutting down winbindd services: winbindd.
locks path was set to /share/MD0_DATA/.locks
Shutting down winbindd services: winbindd.
Starting winbindd services:Starting SMB services:.
done.

これで準備完了、のはず。

Windows を確認する

Windows 側で、PowerShell で長いコマンドを入力して設定を確認します。

まぁ、Windows 10 はデフォが SMB3 MultiChannel 利用する設定になってるので、基本的には何もしないでいいはず。
設定が変わっちゃってた時とか、テスト中に状況確認するために使うので立ち上げとく、という程度かな。

テストします

テスト内容は簡単で、
Windows 側から NAS にファイルをコピーしたり、
NAS のファイルを Windows にコピーしたりします。

が、100MB/s を超えません(正確には、ちょっとは超える)
GbE のままですね。

2本同時にやると 50MB/s になります。

一応、NIC のデバイスの設定とかまで全部確認したんだけど、ダメ。

結局…

色々と試しまくったんだけど、一向に MC で接続してくれませんでした。

そこで天啓です。

QNAP の samba のバージョンが古いのでは…

最初に表示されているように、QTS 4.2.6 の samba は 4.0.25 でした。

検索すると、SMB3 MultiChannel は samba 4.4.0 で EXPRIMENTA FEATURE として実装された、と Release Note に書かれていました。

でっかいダメ丸です。

仕方ないので、2つの NIC にそれぞれ個別の固定 IP を付けて手動で負荷分散することにしました。
一応 100MB/s ずつ出ることは出る…ダサいけど




この記事が気に入ったらサポートをしてみませんか?