SCVMM 2012 R2 – Using Mac Address Pools

I had the weirdest thing happen the other day. I created a VM and migrated it to second host. I created a new VM, and had trouble accessing the first VM. What gives! Well, I ran into a MAC address duplication issue.

To avoid this, first configure your Hosts and VM’s to use Logical Switches. Once configured, set all of your VM’s to the static MAC address of ’00:00:00:00:00:00′ using SCVMM console. Once you hit ‘Apply’ and ‘OK’ to close the properties window, SCVMM will give the VM a new MAC address from the MAC address pool. No more duplicates!

For the Logical Switch configuration, see my post ‘SCVMM 2012 R2 – Logical Switches‘.


SCVMM 2012 R2 – Logical Switches

OK, logical switches are pretty sweet. Like a lot of things, it took me a little while to wrap my head around the concepts and terminology. The SCVMM concept of a logical switch is very similar to VMWare’s Distributed Virtual Switch. It’s all about finding novel ways to map your networking hardware to virtual abstractions, to hopefully make things easier to manage.

This post will cover one of the most basic configurations. Creating a simple logical network which will connect to both your hosts and VM’s.

Step One – Logical Network

This is where you tell SCVMM how you want to present the physical network to the virtual machine hosts.

  1. Open SCVMM Console -> Fabric -> Networking -> Logical Networks.
  2. Create a ‘Logical Network’.
  3.  You’ll see three options. Choose ‘One Connected Network’ and check both boxes, then click ‘Next’.
  4. On the ‘Network Sites’ page, click ‘Add’.
  5. Check the box next to ‘All Hosts’.
  6. Under the section ‘Associated VLANs and IP subnets’, click ‘Insert Row’.
  7. Change the new row’s VLAN to “0” and make the IP Subnet blank, then click ‘Next’.
  8. On the summary page, click ‘Finish’.

By choosing ‘One Connected Network’, we instruct SCVMM that the sites specified in the ‘Network Sites’ page are all part of the same routable network. This is this simplest way to start.

By adding the new associated VLAN “0” with no subnet, we instruct this logical switch to transmit to and from any IP subnet on the default untagged VLAN.

Step Two – Uplink Profile

When we create a logical switch, we need to define physical ports on the VM hosts that will be designated as ‘uplinks’ to this logical switch. To do this, we need to create a ‘Port Profile’ that describes the uplinks.

  1. Open SCVMM Console -> Fabric -> Networking -> Port Profiles
  2. Create a Hyper-V Port Profile.
  3. On the ‘General’ tab, choose ‘Uplink Port Profile’ and click ‘Next’.
  4. On the ‘Network Configuration’ tab, click the checkbox next to your logical network, then click ‘Next’.
  5. On the ‘Summary’ tab, click ‘Finish’.

Notice that you can change the load balancing algorithm on the ‘General’ tab. Lots of fun stuff available there.

Step Three – Logical Switch

Now, we can create the logical switch!

  1. Open SCVMM Console -> Fabric -> Networking -> Logical Switches
  2. Create a logical switch.
  3. On the ‘Uplink’ page, add your uplink profile.
  4. On the ‘Virtual Ports’ page, add the ‘Host Management’ and ‘High Bandwidth’ profiles.

It’s worth looking into the virtual port profiles. You can do some cool stuff like manage the security settings and QoS.

Step Four – Assign the Logical Switch to Hosts

This can get tricky, and you can end up disconnecting your host from the network. I recommend that you shut down all VM’s on the host, and try this on a host where you have physical access in case things don’t work out quite right.

  1. Open SCVMM Console -> VMs and Services -> All Hosts.
  2. Right-click your host and choose ‘Properties’.
  3. Click the ‘Virtual Switches’ page.
  4. Delete the current standard switch, but don’t click ‘Apply’ yet or the host will become unreachable.
  5. Add your new logical switch, but don’t click ‘Apply’ yet or the host will become unreachable.
  6. Click the new logical switch, and then click ‘New virtual network adapter’ with the following settings, then click ‘Apply’.
    name: mgmt
    port classification: Host Management
  7. Wait a few minutes, then right-click the host and choose ‘Refresh’.

Step Five – Assign the Logical Switch to your VM’s

Alright! Now we can finally use the new-fangled virtual switch.

  1. Right-click a VM on the host and choose ‘Properties’ -> ‘Hardware Configuration’ -> ‘Network Adapter’.
  2. Connect your VM’s Network Adapter to the ‘VM Network’ that matches the ‘Logical Network’ name created in Step 1.
  3. Connect your VM to the ‘Logical Switch’ and assign it a port classification (probably ‘High Bandwidth’).

And congrats! You’ve made it through configuring a SCVMM Logical Switch.



SCVMM 2012 R2 – Initial Overview and Install

I recently got started with SCVMM.


  1. Spin up a VM. Give it 4GB RAM.
  2. Install SQL 2012 /w SP1.
  3. Create an account: service-scvmm. Grant this account local admin access.
  4. Install Windows ADK and PE.
  5. Configure AD container for distributed key management.
  6. Run setup.
  7. Create the library share via the setup wizard.
  8. Discover the hosts.

Advanced topics for later posts:

  • VM Templates
  • Logical Switches
  • MAC Address Pools
  • Virtual Machine Migration via Kerberos.

What you get ‘Out of the Box’

I wasn’t impressed with SCVMM right away. It sees like just Hyper-V manager, but with less capability. For example, I can’t seem to change the BIOS boot order inside SCVMM.

Eventually, I found some benefits:

  • Host performance statistics. Easy to access daily and monthly averages.
  • Integration with other System Center products like Orchestrator and Service Manager. You can do some really advanced and nifty stuff.
  • Virtual machine library and templates make it easy to deploy new machines.
  • Logical switches make it easy to change networking options across many hosts.
  • MAC Address pools ensure that if you migrate a machine, the original host won’t re-use the migrated machine’s mac address. Otherwise, this can cause some serious network weirdness.

Things You’ll Need

Notes on the install process:

Configuring the AD container for distributed key management isn’t tricky, just unexpected. Here’s a good link:


  1. Open ADSIEdit.
  2. Right-click the domain root -> new -> container. Name it “VMMDKM”.
  3. Grant the account installing SCVMM full control on the new container. Must also propagate to sub-containers.