Tuesday, January 29, 2013 3:03 PM
Could somebody please confirm for me the way the new 2012 Server virtual switch works and the best config?
I have a server with Quad 1GB NIC, all are on-line and connected to a Cisco switch running LACP.
If I configure a single VM and use a virtual switch, what is the performance I can expect to get?
For example, will the virtual switch load balance across multiple incoming and outgoing connections to ensure all 4 x 1GB ports are utilised?
I am planning on testing this with a file server running in a VM and want to see what performance I will get compared to our old stand-alone file server with 1 x 1GB NIC.
Thursday, January 31, 2013 8:41 AMModerator
> will the virtual switch load balance across multiple incoming and outgoing
> connections to ensure all 4 x 1GB ports are utilised?
That’s depends on how you configured Virtual Network for Hyper-V Virtual Machine.
When we create a virtual External network, we should specify a Physical NIC, this physical NIC will be used as a network switch and connect to physical network. Instead system will create a virtual network switch adapter, which works as the original physical NIC in the Hyper-V host.
> what is the performance I can expect to get?
Of course, virtual NIC performance will not exceeded the performance of physical NIC. But you can get better virtual nic performance through following methods:
- Ensure guest operating systems are configured to use a “Network Adapter” as opposed to a “Legacy Network Adapter.”
- Configuring all the virtual machines to use a single physical network adaptor, configure groups of virtual machines to use virtual networks, and configure each virtual network to use a different physical network adaptor. This configuration helps spread the network traffic across multiple network adaptors.
- Uncheck “Allow management operating system to share this network adapter” option in Hyper-V network configure, the option isolate the physical NIC from the host server.
- In Windows Server 2012, you can create network teaming, and then you can specify the teamed network adapter as external network.
For more information please refer to following MS articles:Optimizing Performance on Hyper-V
Hyper-V: Virtual Networking Survival Guide
NIC Teaming Overview-Windows Server 2012
TechNet Community Support
Thursday, January 31, 2013 11:00 AM
Thanks for the detailed response.
Since my original post I have configured server 2012 Teaming across all 4 NIC's. Then created a Virtual switch using this NIC Team.
I have some good news, I have managed to get > 3Gbs throughput on the Virtual Switch (Both in and out) with the following config:-
- Ensure SV-IOV is enabled in BIOS (It wasn't as default)
- Create a Team in Windows Server utilising all 3 NIC's. Teaming mode: LACP, Load balancing mode: Address Hash, no standby adapters
- Ensure Cisco switch configured for the correct ports with LACP
- Create virtual switch with external, 'Microsoft Network Adapter Multiplexor Driver', Allow management o/s to share this network adapter and SR-IOV on.
With a VM I then created, pointed to the Virtual Switch, I created a share and did some testing from 2 PC's with 1Gb network connections and also from 4 PC's concurrently. One test achieved all 4 PC's downloading large files from the server at 113Mbs each and the server NIC showing 3.8Gbs being sent :)
Obviously it does depend a bit on the switch routing incoming traffic to different ports when sending data to the server and occasionally it did only use 2 of the ports. But once you have 50+ PC's doing this I'm sure it will work better.
I may consider a dual 10Gb NIC for the server next time I purchase a new switch. (Probably later this year)
I will read the links you posted as well.