More Leopard SysAdmin Goodness

The other day a staff member's firewire drive tanked. I could see it in Disk Utility, but I could not repair it, nor could I mount it. It was in a bad way.

After exhausting my standard barrage of tests and utilities, I remembered that Leopard seemed to have some rather advanced disk management capabilities not found in previous versions of the OS. So I figured I might as well try examining the bad drive on my Leopard install, if for no other reason than to see what happened.

What happened was awesome. Upon attaching the drive to my Leopard install I received this alert (note the drop-shadow, which is now included in Leopard window caps):

Leopard Disk Repair Alert

(click image for larger view)

From there the drive mounted read-only, and I was able to copy most of the data from the damaged drive. Initially I was copying from the Finder. The problem with this method is that, at least in this iteration (build 9A527), every time the Finder hits a corrupt piece of data, the copy stops — hangs, actually — and you have to force quit the Finder and pick up the copy where you left off. Painful if you have lots of broken bits. In the end I used the ditto command to copy over the data. The ditto command will continue copying even after hitting bad data, and it will report which data is bad as well. I sent the output of ditto to a text file and so was able to run the process unattended while still having a record of which files were broken. Pretty sweet! I feel smart!

If you're wondering, my command looked like this:

sudo ditto -V -rsrc /source/directory /target/directory 2> DittoOutput.txt

But the real news here is how cleverly and usefully Leopard seems to be dealing with disks. And how Leopard has some genuine new goodness for SysAdmins. That's pretty amazing. I'm getting excited.

I'm not sure this post violates my NDC. It probably does. But honestly, I've seen other sites posting much more revealing stuff, so I'm going to assume I can probably get away with this. If not, well, we'll know soon enough. But this is just too cool to keep secret.