Retrospect vs. Sparse Disk Image Files
Here at TidBITS, we like to think that we face adversity so you don’t have to. We use our Macs all day long, sometimes even in the evenings, looking for ways to shoulder your karmic burden of computer troubles.
In other words, when bad stuff happens, we write about it because we can, and sometimes that can help someone. Such is the case with my specific travail this week, when I lost important data due to a Retrospect problem.
Following the excellent advice in Joe Kissell’s “Take Control of Mac OS X Backups” (which I edited), I set up a backup system using Retrospect that backs up my laptop’s data each night to one of a set of rotating hard drives. Following some further excellent advice by TidBITS contributor Derek Miller (see “Unintelligible Garbage Is Your Friend,” 2006-06-26), I used Apple’s Disk Utility to create an encrypted disk image that stores financial records and other sensitive data. That disk image is a sparse image file, which occupies only enough space on disk as needed by the files added to it. To access my data, I double-click the file Secure Stuff.sparseimage and enter a password, after which the disk appears on my Desktop just like any other attached drive.
Each night, Retrospect copies files that were added or changed during the day to the backup, including the sparse image file. Or so I thought.
Retrospect’s default backup settings include a useful option called Don’t Back Up FileVault Sparseimages. FileVault, as we’ve discussed before (see “How FileVault Should Work,” 2004-03-01), encrypts your entire home directory as a single file – an encrypted sparse image file, in fact. But that’s FileVault’s fatal flaw: Mac OS X typically stores music, photos, and movie files in the home directory, so the hidden disk image balloons to gigantic proportions. If even one small file in the home directory is changed, the entire disk image is marked as changed, and Retrospect backs up the whole thing. So, sensibly, Retrospect’s developers added the option to ignore that huge file.
I don’t use FileVault, so I didn’t think that leaving the option enabled would matter. However, it turns out that Retrospect ignores all sparse image files if the option is on. And when I repartitioned my laptop’s hard disk the other night, which of course involved backing up and erasing the disk, I discovered that my Secure Stuff volume was gone.
Fortunately, this story doesn’t end as badly as you might have expected. I was repartitioning my new MacBook Pro, so my Secure Stuff.sparseimage file still existed on my PowerBook G4. And because the MacBook Pro had recently arrived, the data was only about a week old. All told, I lost only about four hours of work in Quicken, which isn’t good, but it also isn’t catastrophic.
If you also use sparse image files for storing secure data and back up using Retrospect, check your backup scripts to make sure you’ve turned off Don’t Back Up FileVault Sparseimages (in Retrospect’s Automate tab, open a script and click the Options button). Otherwise, your most important data could end up in the bit bucket.
[A tip of the hat to Jonathan ‘Wolf’ Rentzsch, who wrote about this problem in a bit more detail on his blog back in June. Alas, I didn’t see his report until after I had posted this article on ExtraBITS.]