So we had the hard drive in an iMac replaced for free out of warrantee thanks to a recall from Apple due to a fault with that model of hard drive. Well done Apple!
But just before we took it in for service we noticed that the backup drive had failed, an old IDE Lacie external drive. Caught just in time because when you get a drive replaced by Apple, it comes back empty, aside from a fresh operating system installation.
We bought a new external drive, made a new back up using Time Machine and then sent the computer in for repair. It came back with a fresh installation of 10.6.3 on it (it had 10.6.8 when we sent it in – no free upgrade I’m afraid!) so I dutifully applied all the latest updates for 10.6 and restored the back up from Time Machine.
Now, the internal drive in the iMac was originally partitioned into 4 separate “drives” each for different uses. This has never been a problem for Time Machine before, by default it backs up all internal drives.
However now after restoring the backups from Time Machine, every time Time Machine ran to perform a new incremental backup, it kept deciding that it needed to back up everything on 2 out of the 4 partitions on the internal drive – 261GB every time!
This is despite nothing changing on the drives. Nothing at all.
I have spent the last 2 weeks trying to fix this problem, and I believe that I have a solution.
I followed everything to fault find Time Machine problems as described in the troubleshooting section at pondini.org. This website is a good resource but none of the suggestions fixed my problem – none of these helped:
- a full rest of Time Machine
- fixing permissions
- reinstalling 10.6.8 updates
- checking for rouge applications
- rebuilding the file services database
- etc.
I downloaded BackupLoupe as suggested and started to look at what was being backed up.
Strangely, I discovered that two of the internal partitions were undergoing a full back up every time (261GB) but the other two partitions were not, they were being properly incrementally backed up as they should (only a small amount of data). Weird. What could be different between the partitions? They all only hold data, not system files…
To the Terminal!
Looking at the contents of root directory of each partition (ie under /Volumes ) I noticed something strange. The drives that were not backing up properly had extended attributes flag set and the drives that were being backed up properly didn’t have any extended attributes flags set:
This is indicated by the ‘@’ at the end of the attributes for each file e.g.:
Sparkley:~ tom$ ls -la /Volumes
drwxr-xr-x@ 39 tom wheel 1326 21 Mar 01:04 Documents
Incidentally, a ‘+’ at the end of the attributes means there is extended security information applied to eh file, such as an access control list:
Sparkley:~ tom$ ls -la /Volumes
drwxr-xr-x+ 39 tom wheel 1326 21 Mar 01:04 Documents
Strange.
So I had a look what they were, using the xattr program:
Sparkley:~ tom$ xattr /Volumes/Documents
com.apple.backupd.SnapshotVolumeLastFSEventID
com.apple.backupd.SnapshotVolumeUUID
com.apple.backupd.VolumeBytesUsed
com.apple.backupd.VolumeIsCaseSensitive
com.apple.metadata:_kTimeMachineNewestSnapshot
com.apple.metadata:_kTimeMachineOldestSnapshot
Well it seemed that at least Time Machine had something different going on for this partition compared to the others, the extended attributes probably aren’t needed because the other partitions don’t have them. Lets delete them all!
Sparkley:~ tom$ sudo xattr -d com.apple.backupd.SnapshotVolumeLastFSEventID /Volumes/Documents/
Sparkley:~ tom$ sudo xattr -d com.apple.backupd.SnapshotVolumeUUID /Volumes/Documents/
Sparkley:~ tom$ sudo xattr -d com.apple.backupd.VolumeBytesUsed Documents
Sparkley:~ tom$ sudo xattr -d com.apple.backupd.VolumeIsCaseSensitive /Volumes/Documents/
Sparkley:~ tom$ sudo xattr -d com.apple.metadata:_kTimeMachineNewestSnapshot /Volumes/Documents/
Sparkley:~ tom$ sudo xattr -d com.apple.metadata:_kTimeMachineOldestSnapshot /Volumes/Documents/
I noticed that the partitions still had extended security information (ie the ‘+’ attribute) set. For good measure, I also removed this since the partitions that worked did not have them:
Sparkley:~ tom$ sudo chmod -RN /Volumes/Documents
Then I ran another backup – this was another big full back up, but not surprising since I modified the attributes of lots of files in the previous step.
The real test came after this back up was complete. I ran another Time Machine backup and this time only 180kB was backed up! I ran it again immediately, this time only 2kB was backed up!
I fixed it!