Hyper-V Program Manager
Yesterday I posted about my new home setup, which makes heavy use of Hyper-V Replica.
When you first setup Hyper-V Replica for a virtual machine – we copy the virtual machine configuration and storage from the primary server to the replica server. From that point on we replicate any new data that is written to the virtual machine storage – but we do not replicate any new changes to the virtual machine configuration.
Well – there are two reasons for this:
While this all makes sense, it has tripped me up a number of times. The scenario I have experienced is this:
After having this happen to me a couple of times – I have taken to using PowerShell to perform quick sanity checks on my virtual machine configurations. This is actually quite easy to do – as PowerShell allows you to target multiple physical computers with one command.
Some checks that I have done include:
Checking memory configurations:
This command will get all the details of the memory configuration from two servers:
get-vm -computername Hyper-V-1, Hyper-V-2 | select name, DynamicMemoryEnabled, MemoryStartup, MemoryMinimum, MemoryMaximum | Sort-Object name | ft
Which looks like this when it is run:
Checking startup delay:
This command shows you all the startup information:
get-vm -computername Hyper-V-1, Hyper-V-2 | select name,automaticstartaction, automaticstartdelay | Sort-Object automaticstartdelay, name
Checking MAC address configuration:
I use DHCP with MAC address reservations in my house, so it is critical that virtual machines not change their MAC address. This command shows you what MAC addresses are being used, and whether dynamic mac address generation is enabled or not:
get-vm -computername Hyper-V-1, Hyper-V-2 | Get-VMNetworkAdapter | select VMName, macaddress, DynamicMacAddressEnabled | sort-object VMName, macaddress
Great article Ben. I wasn't aware of that replication limitation.
Is there a way to replicate the VM configuration changes?
This "behavior by design" is just an excuse for not actually having an option to enable/disable configuration file sync on top of the VHDs. Let me guess, "please upgrade to Windows Server 10"?
Why we don't have an option to replicate vm's configuration or not?
I don't understand why it is "by design".
Today, Hyper-V Replica only syncronizes VM's data (Vhd), when we change primary VM configuration (vcpu, memory, create a new vhd, etc), these changes is not replicated to replica VM.
We are a cloudhoster and we check daily if our customers made changes on their primary vm's, when this occurs, we need destroy vm's replication and create again. This is not good because is a big effort to get all configurations syncronized.
Today we have 800 vms, our customers are adopting replication and I think we will not have conditions to manage replication in this way.
My doubt is: Do you have intention to launch an update to permit, also, synchronize vm's configuration changes?