Expected Snapshot Merge Behavior for a Highly Available VM
Hello my name is Sean Dwyer, and I'm a Support Escalation Engineer working in the Windows CORE team here at Microsoft.
While working with snapshots that are attached to a highly available VM in a Cluster, you may notice after deleting a snapshot, it does not merge as expected. You'll notice the merge process almost immediately ends and the VM begins to restart.
Let's explore a scenario I ran myself into the other day and then I'll explain why you may see this behavior.
Here I have configured a HA-VM of XP SP2 in Fig 1. and it is Online and happy, within the Cluster.
Switching to the Hyper-V Management MMC in Fig. 2, I've decided that my testing is over with this VM, and I need to clean up the snapshots. The 'Now' state is where I want the VM to remain, so I'm going to issue a Delete Snapshot Subtree command.
I choose 'Yes', and the snapshots are removed from the VM in Fig. 3.
Next, I choose to shut down the VM in Fig. 4, as I want to commit the merge now, and not wait until later.
The Merge process starts, but immediately finishes and the VM is restarting as seen in Fig. 5 and Fig. 6.
The merge didn't complete! What just happened?
Failover Cluster is doing its job!
When deleting a snapshot for a VM that is configured as a Highly Available Resource, you're taking action against the VM outside of the Cluster Management UI, and therefore, the Cluster service considers any shutdown events, or reboots, a failure of the resource and takes appropriate action.
In my example, the default behavior is restarting the VM as shown in Fig.7.
The end result is that the snapshot merge process has NOT taken place and I've still got AVHDs out there shown in Fig. 8.
So, what do we do, to get the Snapshots merged successfully? Easy!
We need to configure the Clustered VM Resource to allow the Snapshot Merge process to complete without being interrupted.
Open up the Properties of the VM, and then select the Offline Actions Tab.
You'll note, in Fig. 9, the default behavior is to Save the VM.
In Fig. 10, let's change this default behavior temporarily to Shutdown.
Once the change has been made, you can then choose to shutdown the VM either through Hyper-V Manager or through the Clustering UI, and the Snapshot Merge process will begin.
Once the Merge completes, reset the behavior of the VM in the Offline Actions Tab for the VM back to Save as shown in Fig. 11.
Once you start the VM, you'll be back in business!
I hope this blog post will help you continue to use our Clustering and Virtualization products successfully!
Support Escalation Engineer
Microsoft Enterprise Platforms Support