5 ms·
> Time Machine, only works over a LAN with destinations that support AFP. This is at least in part because of Time Machine's reliance on Unix hard links, and al
by onedognight 13y ago
> Time Machine, only works over a LAN with destinations that support AFP. This is at least in part because of Time Machine's reliance on Unix hard links, and also in part because it has to be able to ensure that any OS X files with HFS+ specific metadata are correctly preserved.
This is not the reason. Time Machine does support hard links, legacy Mac metadata, and other Unix features. It does this by writing all the data into large blobs (a sparse bundle) with an embedded filesystem of its choosing (i.e. HFS+). It can use any destination filesystem for the blobs, including FAT.
- r00fus 13y agoby "large blobs" you mean sparsebundles, right? Sparsebundles (as opposed to diskimages) can be diff'd allowing Time Machine to not only treat them as an HFS capable FS, but to isolate changes to a single block, reducing network traffic and time to backup.
- glhaynes 13y agoSparsebundles aren't diffed in Time Machine (what would they diff against?); and backups are only done in whole-file increments, not at a block level.
- mapgrep 13y ago>backups are only done in whole-file increments, not at a block level OP seems to refer to how the Time Machine destination backup file is chunked when using a sparsebundle, such that individual chunks can be updated in isolation, which is how Time Machine came to support network backups. Previously, Time Machine's destination file was a monolithic disk image that had to be updated in whole, which would be unrealistic for network backups. At a filesystem level, a sparsebundle is just a directory and the chunks are individual data files, which the OS coalesces into a single logical file. Sparsebundles appear as individual "files" in the Finder but you can right click to see the individual chunk files. A sparsebundle is effectively a "blob" as GP states, since it is designed to contain arbitrary data, and since it's implemented with the most rudimentary filesystem components it works across platforms as GP also states. But when discussing network transfers it makes sense to think if it as a simple collection files rather than a "blob." (OP describes the chunks as "blocks" but that implies hard drive blocks which is not the case.)
- jonhohle 13y agoSparse Bundles were always chunked (and introduced at the same time as TimeMachine). Sparse Images were single file, but could grow to accommodate additional data. IIRC, networked TimeMachine backups (say, to a TimeCapsule) always have used sparse bundles.
- randomdata 13y agoI even remember using Time Machine with an SMB share in Tiger. You just had to enable a configuration option to make it work. Did later versions of OS X break that functionality?
- cortesoft 13y agoYou still can, but there are a few more workarounds you have to do now. You have to manually create the sparsebundle AND change configuration options.
- __david__ 13y agoIn particular, Time Machine makes large use of hard links to directories, which not many filesystems support. With HFS+ Apple can be sure that support is always there.
- deathcakes 13y agoActually I think you'll find it makes use of hard links to files. Its basically a reimplementation of rdiff-backup, or it might be the other way round. I can assure you that no directories get hard linked, and I'm sure someone will furnish the obligatory xkcd. Edit -- I stand corrected! It does in fact link folders as well. Also: http://xkcd.com/981/ http://xkcd.com/981/
- astrodust 13y agoIt hard-links directories, which is non-standard but supported by HFS+. It's kind of crazy to do in general, but in this specific use case it's a great idea.
- deathcakes 13y agoAgreed - having read up a bit on how it works I have to say that its a pretty neat trick.