VMware Snapshots – Why Considered Temporary Backups?

snapshotvmware-esxivmware-vsphere

I am using VMware ESXi. In our team we use to provide snapshots for long term backup.

Then we faced issues like memory spillover and the server got hang up.

I started reading in VMware knowledgebase articles and everywhere. Everywhere it was recommended not to have snapshots for a long time.

Even VMware advised to keep snapshots for maximum of three days.

But our team kept asking us to have at least two permanent snapshots (till deleting the VM). Sometimes we may use the VM for a year).

  1. one snapshot is for fresh machine state. (So when we complete testing an application, we will revert back to fresh state and install another application) (If I did not allow that, I may often need to host the VM.)

  2. Next snapshot for keeping the VM in some state (maybe they would have found an issue and keep that state for some time. Or they may install prerequisites for the application and keep the machine ready for testing.)

Logically, their needs seems to be fair. But if I allow that, I am to permit them to hold the snapshots for long time. We are not using our VM as a mail server or database server.

Why is keeping snapshots for long time having an adverse effect?

Why are snapshots considered as temporary backups, not real backups?

Best Answer

When a VM has an active snapshot, its virtual disk I/O is not performed on the VM's actual .VMDK files, but instead they are kept unchanged, and whatever changes in the VM is written to different physical files; this allows for the recovery of the previous VM state, but has three important side effects:

  • Disk I/O for the VM is much slower.
  • Those "delta" files keep growing over time, as more and more disk I/O is performed by the VM.
  • When the snapshot is removed, the changes stored in the "delta" files have to be merged back into the main .VMDK files, and this is is very slow and time consuming if the snapshot has been active for a long time.

It is indeed better to not keep active snapshots for a long time. If you need a long-term backup of a VM in a given state, you can just copy the VM somewhere else: this will have no performance impact on the VM, and you'll anyway end up using less disk space than what long-term snapshots would fill up over time.

Also, having a copy of the VM stored in a different place will actually help you if you lose the VM: snapshots are stored together with the VM they belong to, and are only useful if the VM is available; they are totally useless in the case of an actual data loss (like a datastore crash), and thus can't be used as real backups.

Here is some official documentation about snapshots:

http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&externalId=1015180

Related Topic