If you are planning to upgrade to vSphere 5.1, you need to pay attention to this, especially if you have assigned static MAC addresses to your virtual machines. After upgrading to vSphere 5.1, VMs with statically assigned MAC address may fail to power on with the error: “The MAC address entered is not in the valid range.”
In vSphere 5.1 new policies have been implemented where the statically assigned MAC addresses can only be in the range 00:50:56:[00-3F]:XX:XX or other non-VMware OUI addresses. Why did we make this change in 5.1? Primarily to check for MAC conflicts.
There is some blurb around changes to the MAC address ranges in the vSphere 5.1 Release Notes but it doesn’t explain the situation fully. The release notes mentions that Prefix- and range-based MAC address allocation is supported only in vCenter Server 5.1 and ESXi 5. This implies that if you add pre-5.1 hosts to vCenter Server 5.1, and use anything other than VMware OUI prefix- or range-based MAC address allocation, virtual machines assigned MAC addresses that are not VMware OUI prefixed fail to power on their pre-5.1 hosts.
Now, from what we’ve seen, the restriction is a little more detailed than what is described above. Static MAC addresses in vSphere 5.1 must be in the range 00:50:56:[00-3F]:XX:XX. If the MAC addressed is prefixed with 00:50:56 but it is outside of the [00-3F]:XX:XX range, it is still considered invalid and the VM will fail to power on.
This is a real issue if you have applications running in VMs which have licenses that are tied to a specific MAC address. In particular, I know that HP P4000 series (LeftHand) VSAs use this licensing mechanism. Therefore if you are forced to use new static MAC addresses, you will need to source new licenses for your nodes. This has already been an issue for some customers, and I’ve seen this discussed in the community forums. And of course, if you do not have a current contract with HP for your appliance, sourcing new licenses might be difficult.
Although KB 2007042 mentions ethernetX.checkMACAddress = “FALSE” as a workaround, this is out of date and does not work on the most recent versions of vSphere. We are actively considering re-implementing this feature. I’ll provide an update when I learn more. [Update: It looks like this feature was reintroduced in vSphere 5.1 U2]
Get notification of these blogs postings and more VMware Storage information by following me on Twitter: @CormacJHogan