Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

SMB Multichannel only one way - multi interface same subnet - hacky fix - better options?

Featured Replies

I had a very time consuming experience to find the right SMB and network configuration to enable full SMB multichannel throughput for a multi network interface on the same subnet. Details below. Did anyone experience the same problem in a similar setup, and how to resolve it? Is there a know way to enable both interfaces to send smb back in unraid? Thanks

 

setup
- 8 port 2.5G switch

- unraid server with 2 x 2.5G NICs, both connected to 2.5G switch

- win10 desktop with 1 x 1G and 1 x 2.5G NICs, both connected to 2.5G switch
- old synology NAS with 2 x 1G NICs, both connected to 2.5G switch

 

test setup

write directly to cachdisk share enabled drive 990 pro

\\tower\cache

\\192.168.1.2\cache

\\192.168.1.3\cache

 
old synology stats (for comparison of this setup)

- NIC1 ip 192.168.1.2
- NIC2 ip 192.168.1.3

- send @ 230 MB/s - win 10 receives 2 tcp connections 115MB/s from 192.168.1.2, 115MB/s from 192.168.1.3

- receive @ 230 MB/s - win 10 sends 2 tcp connections 115MB/s from 192.168.1.2, 115MB/s from 192.168.1.3
As we can see here it is using proper multi channel setup by default, and able to aggregate data out over both nics

This works out of the box on synology by just enabling multi channel and having multiple ips


unraid stats (achieved before hacky fix)
- NIC1 ip 192.168.1.4
- NIC2 ip 192.168.1.5

- send @ 280 MB/s, all data on unraid side sent over single interface eth0

- receive @ 360 MB/s - win 10 sends 245MB/s to 192.168.1.2, 115MB/s to 192.168.1.3

Looking on the unraid network I can see all data is sent over just 1 interface to the win10 desktop and capped at max speed of this  interface, 280 MB/s

  

After messing around for quite a while, I finally managed to achieve above one-way multichannel results (shown above) with various SMB settings:

Enable SMB Multi Channel: Yes

Enable NetBIOS: No

 

extra samba configurations (not required I believe, but synology setup had this config)
bind interfaces only = no

 

win10 desktop network adapter configuration tried

Interrupt Modulation setting enabled / disabled on both nics

 

win10 desktop powershell admin commands

Get-SmbConnection -> shows smb 3.1.1 is used

Get-SmbClientNetworkInterface -> shows RSS Capable to true for both nics, I had to explicitely disable RSS because it would drop my read/write speeds back to 2xxMB/s over multi ip transfers, disable RSS for clients using commands Disable-NetAdapterRss -Name "Ethernet 2" and Disable-NetAdapterRss -Name "Ethernet 3"

image.png.7ac22f9dc0aad30d69e4bb32c8103b7f.png

Get-SmbMultichannelConnection -IncludeNotSelected -> should show 2 records for unraid with selected "True" and respective client/server ips

 

After hours of testing different settings, and comparing various route/gateway settings, I found a forum post on google:
SMB Multichannel only one way, related to the exact same issue on a truenas setup

It has to do with multiple network interfaces on a single subnet


I was able to achieve full throughput for both send and receive by configuring a new subnet, while keeping my existing synology setup to work being:
configure the 2nd interface to have a different subnet

configure synology nic2 to 192.168.2.2/24

configure unraid nic2 to 192.168.2.4/24

configure win10 desktop nic2 to 192.168.2.4/24

 

downloads from unraid cache:

image.png.7d02da56b36b95b5a026f9dd4650dfcc.png

 

uploads to unraid cache:

image.png.5b50d84e2b702cc6646a77cd571b9245.png

 

Edited by hhhhh

  • Community Expert

you may benefit from running/writing your own smb.conf to get better multichannel support.
More to add other interface to the smb.conf to get the multichannel.

 


Otherwise setting smb extra options [global] and add your other interfaces...

  • Community Expert

By default unraid samba is bind to interface eth0/br0/bond 0 depending on network settings and tied to the eth0 ip address it gets.

You may need to add the second and ip to the smb settings...

 

bind interfaces only = yes

interfaces = StaticIP/24 127.0.0.1


example:

[global]
# Restrict Samba to specific network interfaces
bind interfaces only = yes
# Specify network interfaces
interfaces = eth0 eth1 lo

 

  • Author

Thank you for your reply.

As mentioned, I have already added a manual smb config

bind interfaces only = no 

This settings will not restrict it to a single interfance and use all interfaces including for example the tailscale one.

Which is why I was able to write at max speed, but not read at max speed from the unraid setup.

 

It seems truenas has the same issue and demonstrated here 

https://www.truenas.com/community/threads/smb-multichannel-only-one-way.78658/
https://www.truenas.com/community/threads/multiple-network-interfaces-on-a-single-subnet.20204/

 

The comment states:

In short, your Windows server can send to each IP - the networking behavior of FreeBSD will mean that FreeNAS "responds" from a single IP only.

 

Therefore my post wondering if there is any way to achieve this on unraid, or better setting, other than the above setup of manually assigning a different subnet to each ip.

 

Thanks

  • Community Expert

kinda yes... it with advances samba and other performace tuning...

You realy should have the bind to yes..

verify and double check your smb has theses options:

testparm

 

[global]
server multi channel support = yes
interfaces = 192.168.1.10 192.168.1.11
bind interfaces only = yes

 


here are some example of advance smb comands

*WARNIGN USE AT YOUR OWN RISK!
usualy net opt and other comands are run to get the # used here...

Enable Specific SMB Options for read improvment:

aio read size = 1
aio write size = 1
read raw = yes
write raw = yes
min receivefile size = 16384
use sendfile = true
socket options = TCP_NODELAY SO_RCVBUF=65536 SO_SNDBUF=65536

 

Double check and verify unraid network routes...

--Ensure Proper Network Setup

Use different subnets for each NIC if possible.

Use static IPs to avoid routing issues.

Verify no IP conflicts.

 

Client os tuning as well lets asume windows:

Windows Client Tuning

On the Windows client:

Check Get-SmbMultichannelConnection in PowerShell to see if multiple connections are established.

 

Tailscale Exclusion

Avoid using Tailscale in SMB Multichannel scenarios unless needed. Add a specific exclusion if required:

interfaces = 192.168.1.10 192.168.1.11
bind interfaces only = yes

*don't add its ip... 
 

without your smb .conf if you made other manul edits there not much i can sugest.

its more reseach into the samba sockt options to tune for your network more in TCP options...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.