A colleague recently shared some good advice for managing  MAC address conflicts on your VMs: Best Practice = Prevent.

There is a standard for MAC addressing whereby OEMs get prefixes (i.e. the first couple pairs of the MAC address range) registered to them. The help file in VMM R2 for "How to Set the Static MAC Address Range for Virtual Network Devices" includes the list of the reserved prefixes registered to Microsoft, VMware, and Xen.

image

Host: Setting MAC ranges on a Hyper-V host by host level only ensures no duplication within the host. This means if you configured the same range on another Hyper-V server (host), you would likely have conflicts.

SCVMM has a MAC range setting and it will create unique MACs for any VM across all hosts managed by VMM. However, in some environments you cannot ensure that virtual NICs are only ever created/assigned using VMM. In that case, you should make sure that your configured in each Hyper-V host and in VMM do not overlap.

The default MAC range on a Hyper-V host consists of the first three pairs being the same across all Hyper-V hosts (because they are registered to Microsoft). The next two pairs are the Hex of the last two octets of the server’s IP address. The last pair is 00 to FF in hex for 256 possible MACs on the host. This can be increased via the Registry in Windows Server 2008 Hyper-V or the UI in R2 Hyper-V.

SCVMM uses a different prefix and range.

SO, if you are getting MAC address conflicts, to guarantee uniqueness:

  • Start with MAC prefixes not registered or utilized by any other device OEMs in your environment.
  • Configure non-overlapping ranges on all Hyper-V hosts.
  • Configure a different non-overlapping range in VMM.