Home > Blogs > VMware Fusion Blog

VMware Fusion 201: Snapshots

I previously gave a tip about how to make effective use of snapshots, but what about how they actually work? As I mentioned, one of the key things to understand about snapshots is that they only store the differences between the current state and the original state. Technically-minded people will recognize this as copy-on-write.

Let’s suppose you have a sparse virtual disk as shown. You then take a snapshot and do a little bit of work – modify the file at the far right and shorten the one before it. Once you take a snapshot, the original base disk is no longer written to, but is still read from. Most of the virtual disk is still pointing at the base file, but what you did change now refers to the snapshot. Snapshot_1
By itself, snapshot 1 is not enough to represent the virtual disk, nor is the base disk. Snapshot 1 might not even contain complete files, but only parts of files that have changed.

If you take another snapshot and make more changes, a similar process happens – now neither snapshot 1 nor the base file are written two, but are still referenced. New changes go to snapshot 2.Snapshot_2

Hopefully you can see why each snapshot can take up as much space as is allocated to the virtual disk – you might overwrite every single block, and Fusion needs to keep both the original (in case you want to revert to the snapshot) and the new data.

With a preallocated virtual disk, it’s nearly the same story. Only the base disk changes to a 1-to-1 mapping, but each snapshot is still sparse.

3 thoughts on “VMware Fusion 201: Snapshots

  1. greg stasko

    I think I basically understand the “hows” of Snapshots. I’m now trying to understand is they are applicable to a particular use case.
    Imagine that I’ve successfully installed Windows 7 in a VM. Got it all setup, virus tools, etc. I’m now envisioning having different configurations of Windows 7 to dabble with. “Prod” might be where I try to work on the company network. “XML” would be where I try to install, configure, and use some of the tools I like, checking for compatibility. Last, “Demo”, where I setup some things that I like to show customers.
    Is it appropriate to fork my original WIndows 7 installation in all of these different directions, keeping all of them “active”, continuing to use them and enhance them? Not planning on running them simultaneously. And I’m not wanting to “revert” out of one – I’m wanting to have multiple usable instances, all forked off the base installation. Instances that I can selectively startup, depending upon what type of work I want to do.
    Comments or cusswords?

  2. Brien

    I have a problem in that i accidently reverted to a snapshot taken 8 months ago, but need to go back to my recent setup ie: back to files changed in ‘snapshot 1′. Any advice would be greatly appreciated please!!!! I saw a blog by swoodward about changing settings in the .vmx file. Has anyone come across this problem?


Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>