Hyper-V / SCVMM: Why aren’t snapshots (checkpoints) recommended as a backup method?

When and how should snapshots be leveraged?

This was an issue that came up in a casual group discussion at MMS this year. The question was “Why are snapshots not supported as a recovery method for production Operations  Manager 2007 environments?

Snapshots (called Checkpoints in SCVMM) are very useful when used appropriately. To understand why snapshot is not a recommended as a primary method for recovery in production environments, we have to understand what goes on behind the scenes when a snapshot is taken.

VM snapshots capture the state, data, and hardware configuration of a running VM. They provide a fast way to revert systems to a previous state. However, Snapshot data is stored in .avhd files which becomes the new working disk for all writes until the snapshot is applied or deleted. This will negatively affect disk performance.

You are used fixed size VHDs for your production servers, aren’t you?

Good uses for snapshots include:

  • As a restore point prior to a risky applicaiton upgrades or when patching OS and applications on production systems.
  • As a way to use test systems over and over without the need to re-create your test environment.

The downsides of  snapshots

  • Snapshots are not recommended for time-sensitive apps, such as Active Directory.
  • Snapshots don’t protect against hardware-related issues – you lose the local disk, you lose the snapshot…and your restore point if you’re relying on snapshots as your recovery method.
  • Are going to consume more disk space over time, and can take quite some time to merge if rolling back to a distant point in time. Not good for recovery time.

The Bottom Line

Use snapshots for a quick restore points in appropriate production and test scenarios. Delete the snapshot as soon as it’s no longer needed to minimize storage utilization and improve disk performance.

Related Articles 
http://blogs.technet.com/roblarson/archive/2008/04/26/virtual-machine-snapshots-with-hyper-v.aspx
http://blogs.msdn.com/virtual_pc_guy/archive/2008/01/16/managing-snapshots-with-hyper-v.aspx