SMB Multichannel - 1 NIC with 2 Ports

If I wanted to try out SMB Multichannel using a 2x 25Gbe port NIC, would it be sufficient enough to assign one of the ports with a static IP and leave the other port as DHCP? They would both be placed on the same VLAN on the switch.

No, the two ports need to be on different subnets. Otherwise the outbound IP traffic will favor one port. Each subnet has both client ports and NAS server port.

Just so I get my head around it, let’s say they are currently both in 10.10.20.0/24, would I have to create a 2nd VLAN like 10.10.30.0/24 and tag the 2nd ports with that? Or is it possible to create a Bridge on both the W11 client and TrueNAS sides if they can be left on the same vlan?

1 Like

I think separate VLANs or separate switches are the only choice…

Otherwise the IP packets will go out a single preferred interface… which is what you are trying to avoid.

Wouldn’t simply using link aggregation without SMB Multichannel yield results? (I’m making an assumption that OP has something that can saturate 50gigs worth of bandwidth to test & that making full use of the ports on the same VLAN is that goal)

We have around 30 clients that are 10 Gig capable so we can saturate, LAGG has been performing worse than having a single interface active on the NIC oddly enough. I would have assumed having 2x 25Gbe interfaces LAGG’d would help with load distribution but it doesn’t seem to be the case in our situation, and it hits each clients top speed by about 1-2 Gb/s in both read or write. This is on Core mind you, I’m planning to upgrade to Scale soon so i wanted to figure out how to correctly implement Multichannel so we can test when we upgrade

It all depends on usage scenario. They are very different.

If you have many clients accessing same server, link aggregation is a solution since this scenario will allow many clients to access combined bandwidth to the server but maximum speed of individual transfer from a client to the server will always be limited to the max speed of one of the aggregated ports (slowest one in the chain). In your case, totaln bandwidth of all clients will be 50gbit, but max speed between single client and server will be 25gbit at the very best.

Multichannel SMB will allow you to combine bandwidth of two (or more, depending on how many you have) ports between your client and server. In your case, provided that your client has two 25gbit adapters on separate subnets, you can expect 50gbit bandwith (if there are no other clients accessing the server at the same time).

2 Likes

So since TrueNAS wants NICs to be on different subnets would the solution be multichannel SMB, but using 2 different VLANs with NAT to get these speeds? Honest question, not a suggestion - setting up core networking is outside of my scope.

You need to have your client using two 25gbit adapters and your server using two 25gbit adapters. Each adapter needs to be on separate LAN subnet.

VLANs are not required and NAT is definetly not required (one subnet does not need to see another one, SMB will figure out on its own that your client can access server on two different NICs).
Now, depening on your LAN equipment you might (want to) use VLANs, but they are not required.

For example, in my case, I have very similar config and my server and my client have two separate NICs, each on its own subnet. There is VLAN config but only on my switches and client and server are blisfully unaware that VLANs exist (because everything happens in my switches and router). The reason why I do have VLANs is to separate subnets which is recommended best practice, but, technicaly, my config would work just fine without VLAN separation on my switch (not the best practice or recommended but it would work just fine).

I hope this helps.

p.s. just to be clear, this is not a truenas requirement, this is a feature of SMB protocol and all devices supporting appropriate version of SMB should behave in the very same way

2 Likes

@mrak Thanks for sharing your expertise. Could you make a diagram to illustrate your above setting with the separate subnets, showing how everything is configured? How does routing work?