In Windows Server 2012 R2 Hyper-v Snapshots were renamed to so-called “Checkpoints“.
The following are 11 things to know about Hyper-V snapshots and checkpoints. Ideally an IT admin should be aware of all of them in order to make a well informed decision on when and how to use snapshots.
Advantages of Hyper-V Snapshots / Checkpoints
- Be able to revert an operating system for software test purposes
- Be able to undo accidental mistakes in system configuration
- Be able to revert to a ‘clean’ machine in case something is messed up
- Keep track of progress
- Be able to export the snapshot as a new, separate VM, without losing the chain of snapshots
Disadvantages of Snapshots a.k.a. Checkpoints
- Risk of data loss and corruption
- Hyper-V bugs: Customers reported cases where snapshots simply ‘disappeared’ from their server….and all data with it!
- Hyper-V bugs: virtual disks end up corrupted. Risk appears to be greater with differencing disks
- Severe performance impact during production
- Tremendous overhead required for every single block access (blocks are only 512KB in VHD disks and 4KB when using VHDX)
- Snapshots use dynamically growing disks which are a performance killer
- Performance impact during backups
- Can’t restore a backup taken from a host with different CPU architecture or Windows version
- Loss of portability. Snapshots can’t be easily moved to another host. Plain VHD VHDX on the other hand are easy to copy over
- You lose the ability of a simple offline copy: Turn off VM and copy VHD file isn’t possible when snapshots are present.
Please take note that Microsoft itself recommends against using snapshots on production systems for the above reasons.
A couple of details regarding performance and data loss:
When you use dynamic disks (i.e. when you use snapshots) the hard drive’s head needs to jump back and forth even when data blocks are thought to be consecutive, because in fact it’s likely they won’t be a contiguous block on disk. Because dynamic disks grow as needed and because most data these days is block oriented, a severe form of fragmentation results.
Our estimate is that you could probably about 5 to 10 times more VMs on the same system if you don’t use dynamic disks and snapshots.
Naturally when snapshots are present, each VM block access now has to be overloaded with additional checks and jumps since each differencing disk needs to be looked at before disk access can commence.
It then follows that backups will cause additional stress on the system since more files need to be read and those files have been likely heavily fragmented over time. The result is that backups will take more time to complete and affect the quality of service of the Hyper-V host due to increased disk activity. This increase of disk activity is a direct result of long-term dynamic differencing disk growth.