A feature planned for the upcoming release of Mac OS X 10.5 Leopard, Time Machine (lightly inaccurate or misleading Wikipedia article) is a backup technology with an unusual user interface. It is also largely misunderstood to be a file system-level versioning implementation, such as originally by myself before I got a chance to thoroughly look into it:
File-system-level versioning. This is perhaps the one thing left in Vista that I’m actually looking forward to, beyond just a ‘meh’. Tiger introduced extensible attributes, and HFS plus has always had support for many forks (not just two), so it would be easy to implement this. I’d like it to go to the point where old versions are automatically compressed (zip? stronger compression may be too slow to be on-the-fly/seamless) so they don’t waste space. That, and binary diffs, please. This would truly rock. For the ‘what happens if you delete’ concern, the folder containing the file would hold archives too. For the ‘what about privacy’ concern, Panther introduced secure delete; this would obviously be enhanced to undo versioning, too. Versioning would rock. (And single-handedly kill Retrospect. Which Dantz in their infinite arrogance deserve. SuperDuper! and similar cloning tools, on the other hand, would “automagically” become even more useful.) Update: got it. This one I’m especially proud of since this wasn’t rumored on any site as far as I’m aware, nor was it particularly obvious. This might even make SuperDuper! useless, they way they’ve implemented this.
I was wrong on several counts in that quote, but so was Paul Thurrott:
1. Time Machine. “With Mac OS X Leopard and Time Machine … you can go back in time to recover anything you’ve ever backed up. Time Machine’s time-based browser [lets you] see a snapshot of how your entire system looked on any given day — file by file.” Wow, neat. It was especially neat when Microsoft included it in Windows Server 2003 over three years ago and called it Volume Shadow Copy. And yes, Windows Vista has it too, built right-in. It even has the backup stuff. Obviously.
And Sam Griffith, writing for the O’Reilly Network, jumps to the same faulty conclusion, to the point where he puts “proof” in the title:
Over on SUN’s ZFS web site, you’ll find an interesting little article about ZFS snapshots…. [..] I think you’ll find it similiar enough to confirm that OS X Leopard will have ZFS as it’s main file system.
So here’s the run-down:
- Time Machine isn’t an implementation of file system snapshots (which is essentially what Microsoft calls Volume Shadow Copy), Leopard’s HFS+ doesn’t feature file system snapshots, Leopard doesn’t (in the current developer preview, anyway; it does, however, ship with a new file system type called a “union”, which you can see explained in some fashion in its mount manpage) ship with ZFS, bootable or not bootable, and finally, Time Machine couldn’t possibly be implemented using file system snapshots (I’ll get to that later).
- Time Machine also doesn’t feature booting (as I had assumed at first). It creates virtually complete clones of the original file systems, but they don’t end up in the root directory. Because TM has a “Latest” symlink, however, I suppose you might be able to manually bless whichever is the newest backup, and then boot from that. (Or, to bless a specific backup “version”.)
- Time Machine doesn’t do compression, which comes with the big advantage of allowing transparent access to all files and folders of all versions, but with the obvious disadvantage of taking up more space.
- Time Machine doesn’t support binary diffs, which becomes a huge problem if you work with large files. Got a 500 MByte file backed up, then change one single Byte? It’ll take up two entire 500 MByte files, rather than just one plus the 1 Byte difference. This is probably worst for people in video editing and similar areas.
- Time Machine can only backup to a different volume, which is why file system snapshots wouldn’t make sense. They’d be the exact opposite: only allowing to backup to the same volume.
So with all those fancy technologies not available, what’s still left?
- Time Machine leverages file system event notification. As changes happen, TM keeps a log of them. What this means is that the actual backup, once scheduled, can take as little as a few seconds, even for a large partition, because TM doesn’t have to go through the entire file system and compare what changed (unlike SuperDuper!, which does just that, slowing it down considerably). So in essence, TM backups are fast.
- Time Machine has no noticeable overhead. You can usually schedule it run hourly just fine, although per default, it runs once a day. You barely even notice it.
- Time Machine is not limited to the boot volume. In fact, you can backup (and later restore) older Mac OS X installations as well. However, backing up a Windows partition does not work.
- Time Machine allows direct and transparent Finder access. It uses hardlinks to achieve this: files that are the same are simply hardlinked to the previous version, so they take up once the space yet appear as two separate files to the user. You don’t have to use the Time Machine UI at all; you can compare different versions using the Finder, or even open old versions in your programs. They’re just that; files. There’s no proprietary archive format involved.
- Time Machine lets you easily roll back an entire system backup. In this sense, it is much like Windows ME’s and Windows XP’s System Restore. Upon inserting the installer DVD, you get prompted to restore from a backup. Likewise, the installer now lets you create a backup just before installing or upgrading (presumably even when your system is still running Tiger).
A few comparisons:
- Compared to Windows System Restore. This feature in Windows ME and XP (and planned, I believe, for Windows Vista) stores previous states of important files, in a proprietary format (not sure about this). It doesn’t allow for partial restore, nor is it tailored for restoring user files, quite unlike Time Machine. Its main intent is to repair a broken system, not to undo the accidental deletion of a file. Conversely, Time Machine’s main purpose is the opposite: to undo user mistakes such as accidentally deleting, overwriting or saving a faulty version of a file. It can be used like System Restore, and the new Installer in Mac OS X 10.5 Leopard specifically has a UI for it, but that is not the primary feature (though not a minor one either).
- Compared to Windows’s Volume Shadow Copy. This feature in Windows Server 2003 (and planned for Windows Vista) transparently keeps track of every single change to files and automatically stores previous versions. It uses NTFS’s built-in snapshot functionality for this. You can then, in Explorer, go to a file’s or folder’s properties and see a list of previous versions and restore one of them. As far as I’m aware, you do not have any means of actually comparing versions, or of previewing an old version. Unless you know specifically what version it is you’re looking for (from the date), this is hardly helpful. It’s also limited to using the very same volume. A better UI to this is, to the best of my knowledge, not planned. Conversely, Time Machine doesn’t use snapshots at all, and it only works on different volumes.
- Compared to SuperDuper!. This application is ideal to create regular clones of a complete file system. I use it extensively and recommend it to other people. It is very easy to restore a system to a working state, and also very easy to restore and compare single files or directories. However, the bootability comes at a price: each target partition can only hold one version. You could theoretically rotate between different partitions, perhaps two or three, but that’s obviously extremely space-consuming and thus not realistic. SuperDuper! comes with a very simple UI and requires little setup. Compared to Time Machine, it still has the automatic bootability as advantage, although it may be possible (see way, way above) to allow a TM target volume to boot as well.
- Compared to Dantz Retrospect. This application
needs to dieuses archives, which are kept in a proprietary format. You do not have file system-level access to any of the files, which means you cannot browse around, nor compare, nor open anything up in your programs, nor boot off it short of doing a complete restore (which, in turn, destroys your current state). It is highly space-efficient with storing many old versions, presumably even using binary diffs, but for most users, it is far too inflexible. I would never recommend it as a primary backup solution, but if you want to keep a comprehensive archive with as little space consumption as possible, this may be a decent choice. For most people, SuperDuper! would be sufficient, and Time Machine even better.
What I would like, still, is binary diffs, and an easy way to select a Time Machine backup point for booting, so you can test the environment to see whether it’s worth restoring. The latter is easy enough to implement (even for a third party, hint hint), whereas the former requires actual changes in the file system for the diffs to appear as complete files to the Finder.
Others' Thoughts
Comment on August 21st, 2006 at 8:14 pm
Are there notifications, so the user knows that a Time Machine backups is presently taking place (i.e., when Spotlight indexes, the magnifying glass in the corner blinks)?
Comment on August 21st, 2006 at 8:41 pm
Yes and no. No, there is nothing in the GUI says “hey man, I know things are a little slower right now; that’s because I’m busy backing up”. However:
• Activity Monitor or comparable tools will show you that Time Machine (shown as
backupd) is “the culprit”. • The performance hit is really very negligible and may not even be noticeable at all to most users (and advanced users, on the other hand, which are more likely to notice it, are also more likely to know or to find out what it is). • In the Time Machine preference pane, you get a progress bar when it is busy backing up. So, if you suspect that Time Machine may be keeping your machine busy, you can open the preference pane to verify.I suppose Apple may add a badge to the Time Machine Dock icon to add Spotlight-esque notification. The behaviour and looks of the Spotlight icon changed considerably during the Tiger pre-releases, and as far as I recall, the “I’m busy indexing” animation was completely lacking at first.
Comment on August 21st, 2006 at 11:59 pm
Yeah, I can’t see them not adding a notification of sorts. Also, since the Dock icon is removable, it probably won’t be the notification area; I sort of picture a bezel fading in and out, like the “Connection Lost” one for BT mice…
Or maybe a small, black icon next to the clock…
Comment on August 22nd, 2006 at 12:00 am
Oh, and random thought: you should add whatever the proper tag is to the “Please add x and y” textbox, so that it doesn’t remember what’s entered; it’s sort of silly for Safari to suggest in a pop-up what numbers I’ve entered previously.
Comment on August 2nd, 2007 at 11:06 am
Time Machine would seem to be a friendly implementation of something like rsnapshot which is a versioning tool based on rsync. Rsnapshot uses hardlinks to save disk space for files that have not changed between backups, but Time Machine would appear to have the advantage of knowing which files have changed without doing a full recursive scan of every folder.
Your Own Thoughts
I'd love to hear your input. Just try to stick to a few rules:
Before you comment for the first time (or, after you have deleted cookies), you will have to answer a little challenge to prove that you are not a spammer.
Comments are written in Markdown.