The first thing I’ve played with since updating to OS X Leopard is Time Machine and I have to admit I’m slightly disappointed.

Time Machine is a fantastic addition to any operating system, and it’s brilliant and very cool how it makes backing up and restoring so easy, however it’s using a standard Journaled HFS filesystem (from the output of mount):

/dev/disk2s3 on /Volumes/TimeMachine (hfs, local, journaled)

(I called my backup disk TimeMachine for easy identification).

Why isn’t Time Machine using ZFS? Apple advertised they would include ZFS support in OS X, but only seem to have offer read-only support, and haven’t actually taken advantage of this brilliant filesystem in anyway.

A bit of searching seems to indicate one of the reasons they can’t use ZFS just yet is because Time Machine takes advantage of directory hard linking, which ZFS doesn’t support (at this time).

I know disks are cheap these days, but using hard links seems a bit wasteful. What if you have a 2Gb file and all you change is 10 bytes in the file? The WHOLE file is backed up again. Surely using something like the ZFS snapshot functionality would have been a better idea.

I would have thought the snapshot functionality of ZFS would have been ideal for Time Machine, but I guess Apple have other ideas. Who knows, maybe they’ll change this when read/write ZFS support is officially supplied.

Talking of ZFS, time for me to download the ZFS Beta Seed and bring all the joys of fully functional ZFS to OS X.


3 Responses to “Time Machine is Missing a Trick”  

  1. 1 Shawn Ferry

    I agree, it could be better.

    I have also been a bit disappointed by the way Time Machine is working. As part of my
    blowing up my system using ZFS series I tried a restore.

    For some reason and without much in the way of feedback there was a problem either
    reading or writing a file. This aborted the whole restore 8GB into a 48GB restore.

    I’ve moved to rsync for the restore to see if there are still “problems”

    As for the links, have you looked at the extended attributes?

    drwxr-xr-x@ 6 root sferry 204 Nov 30 01:30 2007-11-30-013037
    com.apple.backup.SnapshotNumber 3
    com.apple.backupd.SnapshotCompletionDate 17
    com.apple.backupd.SnapshotStartDate 17
    com.apple.backupd.SnapshotState 2
    com.apple.backupd.SnapshotType 2

    ./iTunes Music/Various/Dr. Demento Presents The Great:
    total 7752
    -rw-r–r–@ 1 sferry staff 3965305 Dec 25 2006 05 Gayla Peevey - I Want a Hippop.mp3
    com.apple.metadata:_kTimeMachineNewestSnapshot 50
    com.apple.metadata:_kTimeMachineOldestSnapshot 50

    I assume that the metadata is what they use to keep a fully consistent image across the backups
    while saving space with the hard links. If you look at that data and think about user properties
    in ZFS I think I see an overlap.

  2. 2 Colin

    Well look at that. I’ll have to look into this in more depth when I get home. I think I’ve got to try my first restore too as since I installed the ZFS series, everytime I power off my external USB hub, OS X crashes :-/

  3. 3 Shawn Ferry

    Are you looking at the zpool status before you turn it off?

    I found that I could reliably cause a crash every time I disconnected a pool that didn’t have a valid local replica.

    e.g. when as I was sloshing data to the external in preparation to establishing a mirror, trying to not require a restore, I accidentally disconnected my firewire cable and crashed.

    Similar things playing with the usb thumb drive. If the internal was bad and I disconnected the external it crashed. However if the internal was good and I disconnected the external it was fine.

Speak Your Mind    cocomment icon