What is wrong with Time Machine?

Time Machine is an incredibly nice backup program, set it on and forget. That really is pretty amazing and it has been wonderful for many people.

Unfortunately however, it is not very suitable for keeping correct backups of your virtual machines.
Why is that you say?

Well, there’s quite a list of things, bare with me for a bit.

First off look at what makes up a virtual machine. A virtual machine consists of a set of files and some of them (the virtual disks) are quite large. We’re talking gigabytes here. If you have your virtual machine running and Time Machine tries to backup that virtual machine it is very likely that the disk that gets written to your backup media is corrupt. The reason being that the virtual machine can still write data to files while the backup process runs. In other words, the file written out to backup is different from what it is on your machine. That is pretty bad for a backup.

Another issue is that virtual disks are large binary files and when Time Machine comes by, it will see the whole virtual disk has changed even if you only changed a small file.
So pretend that you just made a change to a small document and saved it. The file you changed is .. maybe 1MB in size. The update to your Time Machine backup however is gigabytes.

So you do the proper thing and you exclude virtual machines from backups as is suggested at VMware’s Knowledge base best practices for virtual machine backup as well as by many old timers at the VMware Fusion forum.

Next is that even if you copy your shut down virtual machine to a separate folder and then have Time Machine back it up nicely that you still might end up with problems. Unfortunately here is another caveat,. A problem arises when your Time Machine backup disk starts to run out of disk space.
The documentation says it will remove the oldest data first. It does, except when it does not.

Time Machine tends to remove larger files first. That actually makes sense for a lot of media types, just not for virtual disks. The default type for virtual disks nowadays is “split into multiple files”. This means that your virtual disk is built up from big binary files also referred to as disk slices.

If one disk slice is missing from your virtual disk, the risk is real that all of your data on that virtual disk is gone. Only a data recovery specialist can help you at that moment. We have a few very good ones down over at the VMware community forum, but you might want to prevent getting there.

If you have decided for not splitting your disk into multiple files then if Time Machine decides to delete the largest file, and your virtual disk happens to be that file then everything from that Virtual Machine is gone.

Also note that if you make your backups manually by copying them to a static folder every now and then that you lost one of the main features of Time Machine. “Set and forget”. You now have to remember to make backups on a timely fashion.

As an active community user I have seen too many people depend on Time Machine for backups of their virtual machines and loose their Virtual Machine. Please do not be that next person.

At the very least make a manual copy, or if you want, use Vimalin. Vimalin is fully functional for a trial period of 30 days and can make automatic backups on your behalf. After 30 days you can continue to use Vimalin for free, but the backups have to be made manually (click a “Backup Now” button), not automatic on a schedule.

Of course I would appreciate it if you support my work on Vimalin by buying a license, but you are welcome to use the free version, that certainly is better than depending on Time Machine for your VM backups.