NIC teaming on Hyper-V Host
-
This article is about Linux modes, but other than the name of the modes being specific to the OS, the modes themselves are universal.
https://mangolassi.it/topic/7203/linux-bonding-modes
LAG / LACP is Mode 4.
Mode 6 is what you are discussing here. -
@Reid-Cooper is correct. In switch independent mode, you are unable to get a single connection better than the max of a single link. But each connection to/from the server could use a different link.
Any software that is multi-threaded for data tranfers willl thus be able to get faster the a single link.
Veeam backs up north of 2gbs for me with 4 NICS in a team on both the server and on the Synology NAS.
-
An example of switch-indy teaming would be if you had four NICs teamed in this way, and wanted to do file transfers, liked to mapped drives or something.
If you were doing a single file transfer, you'd expect to get 1 Gb/s max bandwidth, because that is all one NIC can handle (assuming GigE NICs.) You can't get faster by teaming in this manner.
But you could have four file transfers going on at once, each getting 1Gb/s at the same time, for a total of nearly 4Gb/s. But if you had fewer than four at once, you'd only get 1Gb/s per activity.
-
@jaredbusch said in NIC teaming on Hyper-V Host:
@Reid-Cooper is correct. In switch independent mode, you are unable to get a single connection better than the max of a single link. But each connection to/from the server could use a different link.
Any software that is multi-threaded for data tranfers willl thus be able to get faster the a single link.
Veeam backs up north of 2gbs for me with 4 NICS in a team on both the server and on the Synology NAS.
Ah, yes, I see. I misunderstood this then.
When the switch independent team is in Hyper-V Port mode or Dynamic mode the inbound traffic for a Hyper-V switch port (VM) will always arrive on the same team member. The host can predict/control which member will receive the traffic for a particular VM so NIC Teaming can be more thoughtful about which VMQ Queues to allocate on a particular team member.
All four NICs are active, and Hyper-V chooses which ever NIC to use for a VM's traffic at a given time (or split the traffic between multiple NICs).
-
@eddiejennings said in NIC teaming on Hyper-V Host:
@jaredbusch said in NIC teaming on Hyper-V Host:
@Reid-Cooper is correct. In switch independent mode, you are unable to get a single connection better than the max of a single link. But each connection to/from the server could use a different link.
Any software that is multi-threaded for data tranfers willl thus be able to get faster the a single link.
Veeam backs up north of 2gbs for me with 4 NICS in a team on both the server and on the Synology NAS.
Ah, yes, I see. I misunderstood this then.
When the switch independent team is in Hyper-V Port mode or Dynamic mode the inbound traffic for a Hyper-V switch port (VM) will always arrive on the same team member. The host can predict/control which member will receive the traffic for a particular VM so NIC Teaming can be more thoughtful about which VMQ Queues to allocate on a particular team member.
All four NICs are active, and Hyper-V chooses which ever NIC to use for a VM's traffic at a given time (or split the traffic between multiple NICs).
not per VM, per connection.
-
@eddiejennings said in NIC teaming on Hyper-V Host:
All four NICs are active, and Hyper-V chooses which ever NIC to use for a VM's traffic at a given time (or split the traffic between multiple NICs).
Hyper-V isn't involved. The team is done by the network stack driver. Yes, that's on Hyper-V, but it is just a driver, not the Hyper-V kernel. This is important because the driver has no concept of VMs or anything like that. VMs are just "traffic" to the NICs. Hyper-V just sends the traffic to the network stack, the stack sends it over the NICs. The stack, the NICs, none of them are VM-aware.
-
@jaredbusch said in NIC teaming on Hyper-V Host:
@eddiejennings said in NIC teaming on Hyper-V Host:
@jaredbusch said in NIC teaming on Hyper-V Host:
@Reid-Cooper is correct. In switch independent mode, you are unable to get a single connection better than the max of a single link. But each connection to/from the server could use a different link.
Any software that is multi-threaded for data tranfers willl thus be able to get faster the a single link.
Veeam backs up north of 2gbs for me with 4 NICS in a team on both the server and on the Synology NAS.
Ah, yes, I see. I misunderstood this then.
When the switch independent team is in Hyper-V Port mode or Dynamic mode the inbound traffic for a Hyper-V switch port (VM) will always arrive on the same team member. The host can predict/control which member will receive the traffic for a particular VM so NIC Teaming can be more thoughtful about which VMQ Queues to allocate on a particular team member.
All four NICs are active, and Hyper-V chooses which ever NIC to use for a VM's traffic at a given time (or split the traffic between multiple NICs).
not per VM, per connection.
Remember that the bonding (teaming) modes existed decades before there was virtualization. This is just "networking" and not related to virtualization. If you did this on a normal server (inside a VM) you'd get the exact same behaviour as doing it on a hypervisor.
-
I misspoke. Yes, the NIC driver does the work.
-
@jaredbusch said in NIC teaming on Hyper-V Host:
@Reid-Cooper is correct. In switch independent mode, you are unable to get a single connection better than the max of a single link. But each connection to/from the server could use a different link.
Any software that is multi-threaded for data tranfers willl thus be able to get faster the a single link.
Veeam backs up north of 2gbs for me with 4 NICS in a team on both the server and on the Synology NAS.
Yes, these are 100% correct by Jared and Reid-Cooper.
-
Right, NIC Teaming is not a Hyper-V feature. There is almost no reason to do it that way.
Also, you don't want to use "Hyper-V" load balancing after Windows Server 2012. Starting with 2012 R2, Dynamic is the preferred algorithm. Only in super rare cases would you use any other algorithm.