SMB限定のお話ですが、1枚のファイルの転送速度がNICの数で増やせるみたい。

Bonding/Teamingとかで物理的にnicを増やしてもそれは負荷分散、耐障害性への対応で1枚ファイルの転送速度の向上には繋がらない
*愚生が知らないだけかもしれないけど...

手元にVLAN設定可能なHUBがあるので、ファイルサーバ、クライアントともに複数のNICを備えSMBMulti-Channelを試してみた
配線の概要としては下記図になる
2017y12m19d_112334536.png
*VLAN設定可能なHUBであれば、上図の「メインHUB」「サブHUB1」「サブHUB2」は内包可能

ファイルサーバ側

sambaサーバをファイルサーバとしてます。ActiveDirectoryは不要です。
*samba4だからってADが必須ではないです。従来のAD関係無しのファイル共有も構築可能です

ここではファイル共有に特化したsambaサーバとして作成して、その中でSMBMulti-Channelで必要な設定を示します
まずsambaサーバにnicカードを追加します。ここではオンボードの2つのnicの他に4portのnicカードを追加しました

[root@e ~]# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp1s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT qlen 1000
    link/ether a0:36:9f:a1:5c:74 brd ff:ff:ff:ff:ff:ff
3: enp1s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT qlen 1000
    link/ether a0:36:9f:a1:5c:75 brd ff:ff:ff:ff:ff:ff
4: enp1s0f2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT qlen 1000
    link/ether a0:36:9f:a1:5c:76 brd ff:ff:ff:ff:ff:ff
5: enp1s0f3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT qlen 1000
    link/ether a0:36:9f:a1:5c:77 brd ff:ff:ff:ff:ff:ff
6: enp3s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT qlen 1000
    link/ether d0:50:99:c2:a0:eb brd ff:ff:ff:ff:ff:ff
7: enp4s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT qlen 1000
    link/ether d0:50:99:c2:a0:ec brd ff:ff:ff:ff:ff:ff
[root@e ~]#

な感じで認識され、下記のようにip addressをアサインします

デバイスip address備考
enp1s0f0192.168.0.6/24(e.sybyl.local)追加の4port NIC
enp1s0f1192.168.1.6/24
enp1s0f2192.168.2.6/24

具体的なnmtui画面を下記に示します
2017y12m19d_113051365.png
*メインのHUBに繋がるNICにはGateway、DNS Serverを記述して、「Never use this ...」は無効にします
ルーティング情報は下記になります

[root@e ~]# ip route
default via 192.168.0.1 dev enp1s0f0 proto static metric 100
192.168.0.0/24 dev enp1s0f0 proto kernel scope link src 192.168.0.6 metric 100
192.168.1.0/24 dev enp1s0f1 proto kernel scope link src 192.168.1.6 metric 100
192.168.2.0/24 dev enp1s0f2 proto kernel scope link src 192.168.2.6 metric 100
[root@e ~]#

次に、sambaファイルサーバを構築してみます

[root@e ~]# yum install samba
[root@e ~]# mkdir /share
[root@e ~]# chown nobody:nobody /share
[root@e ~]# vi /etc/samba/smb.conf
[global]
  workgroup = MYGROUP
  log file = /var/log/samba/log.%m
  max log size = 50
  security = user
  load printers = No
  show add printer wizard = No
  printing = bsd
  printcap name = /dev/null
  guest account = nobody
  map to guest = Bad User
 
  server multi channel support = yes
  aio read size = 1
  aio write size = 1
[share]
  path = /share
  guest ok = yes
  writeable = yes
 
[root@e ~]#

その後にsambaを起動します。

[root@e ~]# systemctl enable smb
[root@e ~]# systemctl start smb

クライアント側

クライアントにも追加の2portNICを設置して、配線を行います。追加したnicにはip addressのみでDNSとかGWの指定はしません
2017y12m19d_212738654.png
各ネットワークアダプタの設定項目は下記とした。別にこれ以外を追加しても問題ないみたい
2017y12m19d_213037052.png

この状態で、PSから見ると

PS C:\Windows\system32> Get-SmbClientNetworkInterface
 
Interface Index RSS Capable RDMA Capable Speed    IpAddresses            Friendly Name
--------------- ----------- ------------ -----    -----------            -------------
15              False       False        1 Gbps   {192.168.2.21}         192.168.2
12              False       False        1 Gbps   {192.168.1.21}         192.168.1
10              False       False        1 Gbps   {192.168.0.21}         192.168.0
 
PS C:\Windows\system32>

と表記された。「RSS Capable」がFALSEなのであるが、、、一応これでも動いた。。。
下図は、クライアント側からサーバ側へファイルをコピーしたときのスナップショット
その逆の経路もほぼ同じ速度でコピーされていた
2017y12m19d_213555596.png
*FQDNな「\\e.sybyl.local\share\」とか「\\192.168.0.6\share\」でアクセスしないと
Multi-Channelを行ってくれなかった。他にも「\\192.168.1.6\share\」とか別の回線経由で一旦接続しないと
上手くMulti-Channelを行ってくれない時がある。原因は不明。微妙な気がするけど動きます。

RSS

インテル様の「I219-V」と「PRO/1000 PT Dual Port Server Adapter(82571EBチップ)」をwindows10で使った際、
RSSの設定項目があり、有効にしたが「RSS Capable」がFALSEであった。

マシン側のnicにRSS有効と無効が混在状態だとSMBMulti-Channelは無理なのかな?片方に寄せるなら大丈夫のように思えた

4portの「Ethernet Server Adapter I340-T4」だと「RSS Capable」がTrueになり、これも問題無しで
SMBMulti-Channelでの転送が行えた

HUBは複数必要か?

ネットワークセグメントを分けるために複数のHUB(ここではVLAN)を使っているが、そうせずとも1つのHUBで
出来るよとの報告がある

https://www.reddit.com/r/homelab/comments/5p6gy6/my_experience_with_samba_and_smb_multi_channel/?st=jb4ttbho&sh=7e79019a

原理はルーティングを調整して特定のNICはサーバ側の特定のNICに繋がるように調整するってな具合


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2017-12-19 (火) 22:59:48 (333d)