Hyper-V: Need to change the NIC that is assigned to our Hyper-V enviornment.


We received our new DL380 Gen9 HPe server, which we installed Windows 2012 R2 Server.  At the time of these installations, we only had one of the four NICs connected to our network and the same NIC when we created our Hyper-V environment.  Now we can add all four NICs to our network/switch.  
> The plan calls to have ONE of the four NICs dedicated to the business of the Server - A property management software application.
> ONE NIC, with possibility of a Dual-NIC teaming, for the Hyper-V Virtual Machine - there should be at total of 8 VMs once we are completed with the hardware to virtual machine migration.

What I need to do is change the current NIC that is being used by the Server functions and Hyper-V to one of the other NICs so that the Hyper-V network traffic and be isolated from the Server's traffic.
> I have done some extensive research and reading and have attempted to make some changes, but I have not been able to find a clear explanation of how to do this, or if it can even  be done.

Any one have a 'Best Practices' or a 'How To' papers on how to do this?

I have attached screen shots of the Hyper-V Networking and ipconfig /all

Inquiring minds need to know...

RojoshoRTCC-III Level-2 SupportAsked:
Who is Participating?
Philip ElderTechnical Architect - HA/Compute/StorageCommented:
1: Delete any vSwitches
2: Team the necessary ports (2 teams of 2 ports each)
3: Create an External vSwitch (vSwitch - Dedicated) and bind it to a dedicated team not shared with host OS
4: Create an External vSwitch (vSwitch - Shared) and bind it to the second team and share with host OS
5: Bind production VMs to the vSwitch created in step 4
6: Bind VMs requiring a dedicated switch path to the dedicated vSwitch created in step 3
7: Patch vSwitch - Dedicated to the separate network
RojoshoRTCC-III Level-2 SupportAuthor Commented:

FYI, on my Hyper-V manager, I do not see a Virtual Network Manager option; I do see a Virtual Switch Manager.  So not sure if:
> I installed/configuration my Hyper-V environment correctly.
> I am dealing with an older version or a newer version of the Hyper-V management tools.

Again, FYI

James EdwardsCommented:
You have a NIC named 'NIC-VM' in your 4th picture, but this isn't the one your Virtual Switch is using.  Your V-switch is using the NIC named with #4 on the end.  Looking at the IPCONFIG output, you have NIC's 2# and #3 doing nothing and not connected.  I would suggest getting these patched in and then Teaming then together.

Then in your V-Switch properties, which is what you are looking at in the second screenshot, on the right where it asks 'what do you want to connect this virtual switch to?', click the drop-down and you should find your new Teamed NICs listed as one entry in there.  Select this, apply/ok etc. and you have now moved your VM over to using this Teamed NIC instead of the original #4.  Make sure 'allow management OS' is still selected.

You may have to reconfigure the NIC shown in the guest OS, in case it dumps the IP settings, assuming you have static IP.  Essentially a new NIC will be setup inside the guest VM, so it is likely to change.  So make sure you have access to the host OS before you start.

All of this applies to the single NIC setup if you don't want to Team NICs 1st, just obviously skip the Teaming step.  Also, if you want to isolate from the management OS (but still want both to be able to make use of the same NIC), you will need to use the VLAN ID option in the Virtual Switch properties page.
Network Scalability - Handle Complex Environments

Monitor your entire network from a single platform. Free 30 Day Trial Now!

RojoshoRTCC-III Level-2 SupportAuthor Commented:
Hello James,

Thank you for your input and i will apply your suggestions tonight and let you know what happens.

Philip ElderTechnical Architect - HA/Compute/StorageCommented:
I have an EE article that may help with the basic and more advanced settings in Hyper-V: Some Hyper-V Hardware and Software Best Practices.

First: At least two ports should be teamed using native teaming and left at the default teaming algorithm in Server 2012 R2 (LACP only in very specific circumstances).
Second: That team should be dedicated to the virtual switch used for the VMs to communicate via.
Third: VLANs are set on the virtual NIC (vNIC) in the VM's properties not at the vSwitch level.
Fourth: For obvious reasons this would mean that the two switch ports the team's patch cables plugged in to would need to be trunked and the VLAN IDs assigned to them.

Please read my article for more guidance on setting up your host.
RojoshoRTCC-III Level-2 SupportAuthor Commented:

Philip, Thank you for the document - I will read it next.

James, I applied your suggestions and I think I got a dedicated NIC Team assigned to the VM - I have attached new screen shots, if you don't mind having a look.

Earlier today (Before the suggested changes were made), we did a production test (Having one of our user actually use the VM and the associated applications) and the test failed 'big-time'.  
> The response was extremely slow.
> I added two more GB for a total of 4GB and added an additional CPU for a total of 3 - Crashed and burned.

I am hoping that the 'dedicated' NIC Team will increase the response time.  I also plan to increase the Memory to 6GB and add another CPU for a total of 4CPUs to see if we make a quantum leap - if so, we will work backwards to fine a good compromise.

I will have a look at Philip's document and keep you two posted... I want to thank you both for your time and effort.

Philip ElderTechnical Architect - HA/Compute/StorageCommented:
Please make sure Virtual Machine Queues are DISABLED for _every_ Broadcom port being used with a virtual switch. If not, network performance will not be good at all.

NOTE: This is in the driver not the operating system.
James EdwardsCommented:
In terms of the performance issues, to help determine if this is a network speed issue or RAM/CPU....  first of all, were the tests you conducted so far by means of connecting through RDP?  Remotely connecting from another machine across the network will leave NIC, CPU and RAM all in the equation.  

Instead of the above, try connecting via the console on the Host machine to the Guest OS.  If the performance is still awful, you can at least rule out network issues and you are heading in the right direction with CPU and RAM investigations (although HDD performance could also be a factor).  Conversely, if performance is increased significantly through the console, then networking is where to start.

For general performance on a production server in a busy environment, which I am going to assume based on the amount of RAM and CPU you are willing to throw at this; I would also suggest a 10,000rpm enterprise level HDD on a performance RAID setup (with alternative backup/mirroring to provide your redundancy).
RojoshoRTCC-III Level-2 SupportAuthor Commented:

@Philip Elder
> We were not planning to use VLANs and currently we are using ‘un-managed’ switches, which may change in the future.  
=> The speed of the LAN is currently 10/100, but our next phase is to upgrade to 1GB LAN, but again, with unmanaged switches.
> Based on the inputs of both of you, I have created a Team with two NICs and I created a vSwitch using this NIC Team.
> OK, for Embedded LOM 1 Port-3 and -4, I set the “Virtual Machine Queues” to Disable – they were originally set to Enabled.
> Then I rebooted the Server.
> I will test the performance under normal a production environment tomorrow.

@James Edwards
> The testing that we used was the actual production applications that we use in our office (A property management software, MS Outlook and the MS Office suite 2007, 32bit)
=> The property management software is a legacy software, which is 32bit based and I am pretty sure has to run in a WOW environment – I would have to confirm that with the company.
> We are running Windows 2012 R2 on a HPe Proliant DL380 Gen9 server with dual processors and 32GB of memory, and 4x1GB NICs.
=> Our Disk Environment are two sets of RAID-1:
=> C: is 2x900GB 7200RPM HDDs <= Has Windows 2012 R2 Server
=> D: is 2x2TB 7200RPM HDDs <= Is where the VMs will be kept.
=> This Server is not in production yet, so the workload is very light, the reason I can allocate as much resources I need to make a change in the performance.
> The new production environment model is to have our property manager remote to their Virtual Workstations where they can run the production software.
=> We are replacing the hardware based Workstations with the Hyper-V VM workstation model.
=> If the manager is in the office, they use TeamViewer to connect to their Workstation.
=> If the manager is remote from the office, they have the choice to remote in either via TeamViewer or RDC.

I am considering running a stress test software (Heavy Load) in addition to our normal production software – our previous testing had very poor results, so hopefully we will see some major improvement.

I will keep you posted and again Thank You for your time and suggestions.

RojoshoRTCC-III Level-2 SupportAuthor Commented:

Sorry for the delay, was pulled off on another project.

@Philip, I am attempting to implement your steps (We call your suggestions an action plan).  I have to admit Windows 2012 R2 is new to me, so I am finding myself searching for videos on how to do what you are suggesting - but I will get there.

I created two switches as you suggestion and lost connection to the server, so i had to delete one and reassign the IP Address.

So, I am looking on how to 'bind' the server vSwitch to the OS.  I will report back on my progress.

i have attached screen shots of what I was able to complete.

Philip ElderTechnical Architect - HA/Compute/StorageCommented:
PowerShell. :)


Replace GET with NEW or REMOVE among other options.
RojoshoRTCC-III Level-2 SupportAuthor Commented:
Hey Philip,

OK, after doing some research and troubleshooting I think my main issue is how I set up the vSwitches and the lack of Virtual Network Adapters for the VMs - something I suspect you already surmised.

So, the game plan is delete EVERYTHING related to the Hyper-V and start from scratch.  I found this pretty good tutorial on installing and setting up a Hyper-V environment, which includes the creation and configuration of the vSwitches and the Virtual Network Adapters.
> The videos are : Lesson One: Introduction to Hyper-V
> There are six videos.

I plan to follow these videos and your suggestions to the 'tee' and see if I can get a working Hyper-V environment.  Once that is achieved, I will see if this reborn VM will suit our needs.
> If so, continue with the installation of the Supporting applications.
> If not, that is where the line in the sand will be drawn.

Sound good?

I will keep you posted and again, Thank You for your time, effort and suggestions.

Philip ElderTechnical Architect - HA/Compute/StorageCommented:
You're welcome.
RojoshoRTCC-III Level-2 SupportAuthor Commented:
E-E y Philip,

Good news.  I followed the video that I noted to the Tee and was able to create a new VM, installed Windows 7 on it, and got the virtual NIC configured and running.

I then used your suggestions and document to create a NIC-Team and was able to 'bind' it to the VM - Once done, it wasn't all that hard, but that is true with anything I guess.

Now, with the VM working normally, but it appears that the legacy property management software is having problems running in the VM environment, all other apps are running just fine, but this app takes up to 6 mins to load and each option from within the app takes 300 times longer then when done on a hardware PC - I plan to open another question so that I can close this one.

I am going to close this question... I learned a lot on this adventure and I want to Thank You and James for your assistance - it was most valuable.  I found the use of Power Shell most interesting and will look into that topic with more detail  :)

RojoshoRTCC-III Level-2 SupportAuthor Commented:
Both Philip and James did an OUTSTANDING job and provided GREAT suggestions and paths to follow.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.