Eric's Technical Outlet

Learning the hard way so you don't have to

Poor VM Network Performance

Symptom: A virtual machine is having incredibly poor network performance, i.e., dropping 3 out of 4 ping packets.

The Full Story

This has only happened to me once. The VM in question was the outcome of a special-case P->V. Normally I remove all networking-related software prior to virtualizing a machine, but because the plan was to copy this physical server for purposes of testing it in a virtual environment while leaving the source server active, this time I just ran it through the process as it stood. This particular machine had been using teamed Broadcom cards plugged into a 100Base-TX Cisco switch. I established only one virtual NIC in the P->V wizard. After the process completed, I cleaned up the VM by removing everything related to the old Broadcom network control suite. That didn’t help. I also went through the process of cleaning out all non-present devices in Device Manager; that didn’t help either. The most glaring symptom was that running a continuous ping test to any device except the VM’s own IP resulted in packet loss in the 80% range.

The Solution

  1. In the VM’s Device Manager, uninstall all virtual NICs. Shut down the VM.
  2. In Hyper-V Manager or SCVMM, remove all NICs.
  3. Boot the VM; once it’s up, shut it down again. This is to eliminate any confusion about double hardware changes.
  4. In Hyper-V Manager add a Network Adapter (not legacy) or in SCVMM, add a synthetic adapter. Configure as desired.
  5. (Recommended, but optional) If your Hyper-V server is 2008 R2 SP1 and your VM was created in SCVMM, then it doesn’t have the latest version of Integration Components. Use Hyper-V Manager to upgrade those components.
  6. Configure networking on the newly created NIC within the VM.
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: