One of the best new features I’ve noticed while testing Hyper-V on the release candidate of Windows Server 2012 is the ability to merge snapshots while a virtual machine is running without the need for a restart as was required by Hyper-V in Windows Server 2008 R2.
The Windows 7 VM shown below is currently running and it has one snapshot:
When a snapshot is created a .avhdx file is created and any changes from that point forward are written to it instead of the .vhdx file:
Here are the files shown on the file system. These (.vhdx and .avhdx) are new file types in Windows Server 2012. They are .vhd and .avhd in Windows Server 2008 R2.
I’ve selected the snapshot for this VM and I’m deleting it:
After deleting a snapshot in Hyper-V on Windows 2008 R2, the changes in the .avhd wouldn’t be merged into the .vhd until the VM was shutdown, but with Windows Server 2012, the changes in the .avhdx file are merged into the .vhdx file on the fly:
As you can see, the Windows 7 VM no longer has any snapshots:
The virtual hard drive for this VM now references the .vhdx file: