Simply put, a Hyper-V snapshot allows you to capture a virtual machine as it was at that time (configuration, processor, memory, and virtual hard disk content), make changes to the virtual machine, and optionally restore the virtual machine to the previous snapshot. But let’s dig a little deeper.
The term “snapshot” is overused in the computer room. Here’s how they break down.
To add to the confusion, System Center – Virtual Machine Manager has historically referred to a Hyper-V snapshot as a “checkpoint”. Meanwhile Hyper-V uses “checkpoint” as a verb. For example, “one will checkpoint a virtual machine to create a Hyper-V snapshot.”
Snapshots are a useful tool because they can allow administrators to send virtual machines “back in time.” We can undo changes to those virtual machines since the snapshot was taken. This can be useful in many scenarios.
Note that some other features of Hyper-V may also use snapshots. Hyper-V Replica will use snapshots for the replica virtual machines in the secondary site if you choose to retain historical copies of the virtual machines.
Contrary to some commentators over the years, Hyper-V supports the use of snapshots in production. But you should not blindly use something just because you can – you need to educate yourself about how the feature works and in what scenarios it works well.
Remember, when you roll a virtual machine back in time, you are undoing changes to that virtual machine. Imagine this situation:
Three things will happen as a result:
Hyper-V snapshots are not necessarily supported by the products that you install in virtual machines so you should always check with the application vendor for support. In fact, some products will break!
Note: Restoring a virtual machine domain controller from any kind of snapshot can cause a USN roll back that breaks Active Directory. This is resolved with Windows Server 2012 domain controllers that are running on GenerationID-aware virtualization such as Windows Server 2012 Hyper-V and vSphere 5.1 (or later).
You must be selective about your usage of Hyper-V. This is why some engineers disable snapshot functionality when they enable self-service or delegated administration.