Duplicate MAC Addresses in vCenter and SCCM

I ran into an issue the other day and thought I would share my experiences. A VM (server2) is created in vCenter and OS deployed via SCCM. Server2 assumes the name of an already existing node (server1) on the network and knocks it out of Active Directory. The issue: duplicate MAC addresses in vCenter and SCCM. So let’s look at how vCenter generates MAC addresses. The MAC is made up of 6 octet’s total. The first part is VMware’s OUI, 00:50:56, this will never change. The second part is one octet based on the vCenter server’s unique ID which is automatically generated at install time. Each VM within this vCenter instance will have a MAC address starting with 00:50:56:xx. The remaining 2 octets are generated from a hash based on the name of the entity the MAC is being generated for. The final MAC will be in the form of 00:50:56:xx:yy:yy. In a single vCenter instance environment, there isn’t an issue with duplicate addresses. However, if you’re running in a multiple vCenter server environment and migrating hosts and VM’s from one instance to the other, you’re likely to see this issue.

Example:
• Server1 created on vCenter instance1 and then migrated to instance2 several months later
• Server2 created on instance1 has a duplicate MAC of Server1 now on instance2.

Instance1 no longer see’s that MAC as unavailable since it’s been migrated to instance2 and assigns it out again. To continue on with the process, the VM is added to an SCCM collection for OS deployment. It requests its build information via MAC address. SCCM returns the record of Server1 which has been on the network for months now. Server2 is now built with the same UUID’s, MACs, OS Name, etc as Node1.

Solution: Change vCenter instance1 ID and restart vCenter services and stop migrating between instances while still deploying to instance1. See VMware’s KB article on duplicate MAC addresses here for more information.