Hyper-V Program Manager
In my house I have all of my computers and sundry network connected devices configured to use DHCP. For devices that need to have static IP addresses I use DHCP reservations.
The reason why I do this is that it gives me a single place to look at my entire network configuration, and it allows me to make major network configuration changes easily.
A couple of weeks ago used SCVMM to quick migrate my FTP server from one Hyper-V server to another. Everything appeared to work correctly. But two days later I could no longer access the FTP server from an external computer.
After a bit of investigation I discovered that the virtual machines MAC address had changed, which had stopped my DHCP reservation from working, which had in turn stopped my port forwarding configuration on my router from working.
To figure out why this appeared to work at first and then later failed I needed to talk to our developers about when and why dynamic MAC addresses get regenerated in Hyper-V.
Before I explain the root cause – let me define some terms / concepts:
A dynamic MAC address will get regenerated if:
Some more notes about dynamic MAC address regeneration:
So in my situation – my FTP server was moved to a Hyper-V server with a different MAC address range. Because the FTP server came across in a saved state; Hyper-V did not regenerate the MAC address until the first time the virtual machine rebooted. This is why everything appeared to work immediately after the virtual machine was moved – but then stopped working a couple of days later.
This is a great feateer but is there an equivilent in MED-V? We have all of our MED-V images generated from Virtual PC using bridged mode to enable no NAT communications but are struggling to find a consistent range of MAC addresses used by Virtual PC so we can map DHCP reservaqtions to the MED-V workspaces.
Good call... running multiple Hyper-V clusters here with various applications whose licenses are bound to the MAC address of the VM. Moving VMs from host to host within the cluster was not an issue, until the VM was restarted.
Thanks for this post Ben. This problem has caused many problems in my environment. Glad we know why this occurs now.
is there any way you can setup H-V to assign Static MAC Addresses by default?!
Hi mate, i have question regarding #3 "dynamic MAC address value in the virtual machine configuration has been set to zero. " how-to set Mac to zero?
also, may i have your alias? i could hardly find it out in address book
Thanks for the article. Would it be possible to improve the article by explaining how a hyper-v cluster host tracks its use of mac addresses and knows when they are no longer being used so it can re-issue. We have had duplicate mac-address issues with VMs on hyper-v 2008 r2 failover cluster. If a VM migrates to another hyper-v host is the original host aware of this in terms of mac address still in use? Or please explain how duplicate mac addresses occur so we can take steps to mitigate etc. Thank you.
Need to know if it is possible to use window 2012 server as virtual machine and assign ~200 MAC addresses.