VMWare’s Fusion can lead to slow, large Time machine backups.
[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.
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.
So, 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.
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:
And backup your VMs in a different way
If, 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.
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.
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.