Best order in which I should commit ESX snapshots

I have a customer running multiple ESX hosts, versions 3.02 and 3.5.  They have been taking VM snapshots on a regular basis, but have never deleted/committed the old snapshots. So, they now have VMs with 10-12 snapshots each, some of which are a year or more old.  They are taking up a lot of disk space, and presumably causing performance issues.

Obviously they need to remove the snapshots.  My questions are as follows:
1) Is there a preferred order of deletion - what would be more efficient - (and safest!), delete the oldest snapshot first and work forward, or delete the newest snapshot first and work backward?
2) Would you recommend that the VM be powered down when deleting snapshots? This is what I have done in the past, but would like your input.
3) Can you suggest any documentation or white paper on best practices for snapshot management?  I need to tell them not to keep the snapshots for so long, but would like to be able to hand them some "authoritative" documentation.
4) Other thoughts for snapshot management?
Who is Participating?
robocatConnect With a Mentor Commented:

>I want to do it as quickly and **safely** as possible.

As far as safe is concerned:

the biggest issue is running out of space during snapshot deletion. If this happens, things can get really ugly. If you have plenty of free space, go ahead and choose to delete all snapshots. If you're not sure, it's safer to delete snapshots one by one. Also if the snapshots are *really* big, it might also be safer to delete the snapshots one by one.

As far as quick is concerned: if you choose to delete all snapshot at once, esx knows how to consolidate the snapshots in the most efficient way. If you delete one by one, start with the oldest snapshot first.

nappy_dThere are a 1000 ways to skin the technology cat.Commented:
  1. If they are happy with the current configuration, I would commit the most recent snapshot and delete the rest.
  2. You do not have to power down the Guest OSs to delete snapshots.
  3. Here is a paper on snapshot management from VMWare
  4. The recommended practice for snapshots is to only keep the snapshot until you satisfied with the Guest permance after some system update or application install/update.  This should not be for more that 2-3 weeks.
bereanbsAuthor Commented:
Can you clarify the difference between "commit" and "delete"? In my VI client, under SNAPSHOT | SNAPSHOT MANAGER, I only see options to delete, or to delete all.
Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

nappy_dThere are a 1000 ways to skin the technology cat.Commented:
Commit means to Make the snapshot configuration permanent(no removing it).

Delete would mean to delete a snapshot but leave the OS running with the current configuration.
nappy_dThere are a 1000 ways to skin the technology cat.Commented:
Keep in mind a snapshot is a "picture" take of the system "before" you made changes.  Changes that you made is taken effect immediately.  However, if you find your system is unstable after the changes, the snapshot allows you to revert to they way your system was before your changes were made.
bereanbsAuthor Commented:
Ok, so "commit" would be what I am doing if I "go to" or "revert to" a particular snapshot?
Back to my original question then, if I want to delete *all* of my snapshots, are you recommending that I start with the most recent and work backwards one at a time? (I have see corruption issues when I tried to delete a bunch of snapshots at once using the "delete all" option, so I've stayed away from that.)
Snapshots are an incredibly useful tool but should not be considered a long term method of retention as the delta files will grow up to the size if the original disk if necessary or of course until they run the lun out of space..if this occures things get very messy..
To keep thing simple and ensure you don't manage to roll back a guests state I would just use the delete all button.
This will commit all existing snapshots combining them into the original VMDK file.
It may take some time to complete on each guest but will be your safes method.
If the delta files are large you may see time outs when you commit "delete all". Don't worry, be patient and confident it will functoin correctly.
Don't commit "delete all" on to many guest sessions at a time as commiting snapshots can put considerable load on the service console and generate considerable disk IO.
Take you time, be patient, maybe 2 guests at a time..
Of course the guest can stay up while your doing this, no need to shut them down. If it doesn't matterthat you shut down the guest sessions then do it. They will commit quicker..
Always important to remember the reverse logic that applies with VMware snapshots
Deleting a snapshot commits the delta vmdk (all changes since the snapshot was taken) to the original.
Reverting a snapshot discards the delta (all changes since the snapshot was taken) and reverts it to a previous state.

As Markzz says,  Virtual Center can often show a timeout with the deletion of large snapshots (which you will have if they've been keeping them for ages) The process will still be running in the background.  Just monitor the VM's folder in the datastore and watch the delta files disappear to guarantee yourself that it's working.

Use something like RVTools V2.3 ( or a powershell script to identify long standing snapshots,  this one is good as it adds the snapshot counter into VI Client 
bereanbsAuthor Commented:
I hate to be repetitive here, but the most important part of my question is...
If I want to delete *all* of my snapshots, are you recommending that I start with the most recent and work backwards one at a time?   Or does the order of deletion not matter?
Basically, I am looking to clean up VMs that have large numbers of snapshots, some going back a LONG time, and I want to do it as quickly and **safely** as possible.
nappy_dThere are a 1000 ways to skin the technology cat.Commented:
If you are going to do that, don't do more than one VM at a time.  Depending on the number of snapshots it can take a while.  Better to screw up one guest than 10 at the same time.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.