Main image
22nd March
2009

VMWare’s Fusion can lead to slow, large Time machine backups.

written by Mark Wheadon

[This almost certainly applies to most other virtual PC packages as well, so if you’re using Parallels Desktop for example, read on… –Mark]

Are you using the excellent VMware Fusion and backing up your Mac with Time Machine? If so, you may notice a problem.

Large backups

When you’ve been using Fusion‘s virtual machine (in my case, to run Windows), you will find that Time Machine‘s next backup takes longer than expected — sometimes much longer.

This is because Fusion stores its virtual machines’ disks as a bunch of large files. When you run your virtual machine using Fusion, the contents of the VM’s virtual disk changes, and even if you haven’t made many explicit changes to files, all sorts of small changes happen to the virtual disk’s contents.

Incremental can still be too much

Time Machine performs incremental backups. That is, it copies only files that have changed since the last backup. Unfortunately those large files that Fusion uses to store the virtual disk’s contents? They’ve probably all changed, at least a little.

backupSo, instead of your incremental being a few megabytes and taking a few tens of seconds, it’s ten gigabytes, takes ages, and rapidly fills your backup disk. (Which causes its own problems: described here.)

An alternative fix

If you need incremental backups of your VMs, or your VMs are running an operating system that doesn’t have support for accessing theMac OS file-store (Linux, for example), then you’ll likely find this approach is the best for you.

If your VM(s) are running Windows (so you can access the Mac OS file-store from within the VM) and you don’t need a sophisticated incremental backup of your VMs then read on, as the following approach produces by far the most efficient backups.

This fix

The fix described here is to ensure the files you edit in Fusion‘s virtual world are in the Mac’s natural file-store (so they continue to be backed up by Time Machine), stop using Time Machine to back up your virtual machines, and then back up your virtual machines in a different way. I’ll cover each of these steps in turn below.

Put your files somewhere safe

Instead of putting your Windows (or whatever) files in the Windows file-store, place them in the Mac’s file-store (which is available to Windows as the Z: drive by default). This means that your precious files have a proper, incremental backup using Time Machine, and you can restore earlier versions should the need arise.

Stop Time Machine backing up your VMs

Open Time Machine Preferences…, click on Options… and then the small + to add a Folder to the Do not back up list:

add-folderThen navigate to Documents below your home directory and there you will find a folder called Virtual Machines — add that and Time Machine will no longer backup your Fusion VMs.

And backup your VMs in a different way

copying-vm-to-backupIf, like me, your virtual machine is a secondary system, then you probably have no need of an incremental, sophisticated backup. What’s important is the files you edit are protected, and they are now protected by Time Machine as part of the Mac’s natural file-store.

So, simply drag your Documents/Virtual Machines folder onto the backup drive every week or so, and you’re sorted.

Warning

As with any method of backup which relies on backing up the virtual machine’s disk image using the host operating system, your backup may not be of any use if it’s made whilst the VM is running, so I suggest you make sure that Fusion/Parallels is not running when you copy the data.

Why?

Because if you copy the files that Fusion (or Parallels) is using for a disk image, then you’re backing up what’s on disk, but not what’s in memory, in disk buffers, etc. So when you come to restore from backup, you may find that the disk image is corrupted. In the worst case scenario you won’t be able to start up the VM’s operating system successfully at all, or restore any files contained within the VM’s file-store.

By backing up when the VM isn’t running, you ensure that all data is on disk in a safe, consistent state.

2 Comments

  1. Chris Ryder
    26/05/2009

    Another trick that I now use for my Parallels VM’s (same issue as with Fusion) is to create a sparse disk image with Disk Utility, then store my VM disks on the sparse disk image. I have the sparse disk image in my login items so that it gets automatically mounted when I log in. The sparse disk is made up of a folder of small files (4MB, I think…), so time machine only ever backs up those 4MB files that have changed, rather than the entire disk image or VM disk…

  2. 17/07/2009

    I found another workaround which seems to work rather well:

    http://rorohiko.blogspot.com/2009/07/vmware-fusion-and-timemachine.html

    Cheers,

    Kris

Leave a Reply