Server2019 - Automatic Balancing of Ethernet?

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

Cipher

Member
Aug 8, 2014
159
15
18
53
In the past week I upgraded my Windows home server from 2016 to 2019. My server contains two i350 NICS (one onboard my Supermicro X9 motherboard and a separate one installed in PCI slot) for a total of 8 ethernet ports. Currently, six of these ports (3 on each NIC) are connected via Cat6 cables to my hardware switch.

This weekend I was testing some file copy speeds from my HyperV VM's to mapped hard drives and noticed that all 6 active ethernet ports were sharing the file copy. What I mean by this is the file copy task was being spread across the 6 ports since Task Manager-Performance was showing each port using 150-250Mbps of ethernet traffic (see first image below). This was unexpected since I only have a single VMSwitch linked to a single port on one of the NIC's. The other 5 Ethernet ports are not linked to any VMSwitch.

I'm a bit confused by this result as I expected only the single ethernet port attached the VMSwitch to show any activity during the file copy from my VM. Also, since the data is being copied on a VM sitting on a SSD within my server to a mapped SATA drive also within my server (linked via a DELL HBA) the idea of the ethernet ports even showing activity is a bit weird to me as its not like the data is "leaving" the server. It essentially being copied from one drive to another.

Also, I ran a test earlier today where I copied the same file on the server to my laptop via a mapped drive. Interestingly, I saw the same behavior where all 6 ethernet ports were showing a balancing of the network activity (see second image below). In this situation I would again only expect one of the ports on the server to show any activity.

Is this behavior normal for Windows Server or is it something new for Server 2019? I've never tested file copies before so it's possible this was happening in my Server2016 environment?

Test 1
-Copy file from server mapped drive to VM desktop
-Left side RDP shows file copy on the VM, right side RDP shows ethernet port activity on the host 2019 server
- Copy speed of 133 MB/s (1064 Mb/s) is being spread across the 6 ethernet ports



Test 2
-Copy file from server mapped drive to laptop desktop
-Left side RDP shows file copy on laptop, right side RDP shows ethernet port activity on the host 2019 server
-Copy speed of 36.8 MB/s (292 Mb/s) is being spread across the six ethernet ports
 
Last edited:

Cipher

Member
Aug 8, 2014
159
15
18
53
Sounds like SMB3 is being leveraged some how.
Interesting. I actually haven't done any setup of SMB3 on the server as this was basically a fresh install of Server 2019 along with the latest NIC driver from Intel. No other configuration of the server was performed as it was a very simple install.

Also, the second test was run over WiFi from my laptop. Can SMB3 operate over a wireless connection? It's been awhile since I read about SMB, but I thought it was meant for wired connections.
 

cesmith9999

Well-Known Member
Mar 26, 2013
1,417
468
83
Smb3 has a feature to use all available ports on the server.

Smb multi-channel

It works well if all of the ports are the same speed. This tech has been there since server 2016.

Chris
 
  • Like
Reactions: Cipher

Cipher

Member
Aug 8, 2014
159
15
18
53
Smb3 has a feature to use all available ports on the server.

Smb multi-channel

It works well if all of the ports are the same speed. This tech has been there since server 2016.

Chris
Is this automatically configured in Server2016/Server2019? The reason I'm asking is I literally just installed my server, added the NIC drivers and Hyper-V role and saw this behavior.

Also, if it is automatic, is there some way I can force one or more of my ports to only be used for VM traffic and let the server continue managing the ports not assigned to VM-Switches?
 

azev

Well-Known Member
Jan 18, 2013
768
251
63
I think ever since windows 2016 SMB Multichannel are configured by default when you have multiple nics.
 
  • Like
Reactions: Cipher

cesmith9999

Well-Known Member
Mar 26, 2013
1,417
468
83
To turn off the ports used for virtual switches, on the virtual switch uncheck the use for management. Then that port should no longer be used by the server. You may need to turn off IPv4 and IPv6 on the ports with the Virtual switches (the VM's will still get IP addresses).

Chris
 
  • Like
Reactions: Cipher

Cipher

Member
Aug 8, 2014
159
15
18
53
Thanks everyone. I've done a bit of reading tonight and what I'm seeing on my server coincides with what I've read so far about SMB Multichannel.

It looks like I've got to do a bit more research as my initial plan was to just assign some ethernet ports to VMSwitches so the VM's would use those and the server would use the non-assigned ports. Based on how Windows Server is optimizing this traffic with SMBMultichannel I'll have to figure out the best way to setup my networking with the 8 ports and make sure I don't negatively impact what the Server is already doing.