SAN Snapshots vs VMware Snapshots

February 27, 2012 10 By Eric Shanks

I found people have a hard time understanding that a SAN Snapshot and a VMware snapshot are fundamentally different.  I think because unless you’re a storage administrator, you’re probably not dealing a whole lot with snaps to begin with.  VMware has made it more commonplace for System Administrators to deal with snapshot technology.

SAN Snapshots

Lets first look at how traditional SANs take snapshots.

To start we have 6 blocks being used.  The file system has marked blocks which blocks are being used.

Now we create a SAN Snapshot and modify part of the data.  Notice how the data changes.

As you can see, block 4 was not overwritten, but the new data was written to block 11 and the file system made note of the change.  Notice the data shows 1,2,3,11,5,6 where 11 has replaced 4.

The snapshot however still has pointers to the original data which can be mounted, backed up, modified etc. depending upon your storage system.

VMware Snapshots

VMware snapshots are much different.  When you have a virtual disk there is an associated .vmdk file.  When you take a snapshot, a new .vmdk will be created to write any of the changes.  This DISKNAME-00001.vmdk will then store all of the deltas.  VMware is using Copy on Write to then take any changes to the original DISKNAME.vmdk and write them to the DISKNAME-00001.vmdk.

VMware snapshots should be used carefully because they can quickly fill up the datastore they belong too. For instance a 40 Gb disk could potentially have a 40Gb snapshot file.  There could also be another 40 Gb snapshot of that file so with 2 snapshots we could have tripled the amount of space used.

Also, when you have finished using a snapshot and “delete” the snapshot, you actually are committing those deltas to the original vmdk.  This will take resources and could affect your VM’s performance.  The larger the snapshot, the longer it will take to commit and the higher the likelihood that you’ll notice a performance issue.

VMware snapshots work best for short term operations such as applying a new patch.  If you finish installing your patch and are satisfied with the results, get rid of your snapshot.  Don’t leave them sitting around taking up space and causing you a performance issue later on.

SNAPSHOTS ARE NOT BACKUPS!

My final point is this: SNAPSHOTS ARE NOT BACKUPS.  If you lose the disk array that the snapshots are on, you’ve lost your data too.  Make sure your backups are stored in another location.

More information on snapshots

http://blogs.vmware.com/kb/2010/06/vmware-snapshots.html

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

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