How it took 2 days to upgrade my RAID, thanks to a bug in Disk Utility, and tired old HFS+

The saga to upgrade my Promise Pegasus R4 RAID drive just kept going.

Last time, I thought it was all done. I had replaced the drives one by one, migrated the size of the logical drive to fill the resulting 6 TB (net), and it had all synchronised properly. All I had left to do was to resize the Macintosh Extended (HFS+) partition to match the 6 TB now available. But that last step took the best part of a day.

In theory, all you should have to do is open Disk Utility, select the drive (not the volume), click on the Partition tool, change the size of the Mac Extended partition, and click on the Apply button.

promisemigrate10

Disk Utility then goes off, makes the change and – the bit that wasted so much time – then runs a full check on the drive and volume. With 2.4 TB of Time Machine backups, and their dense links, to check, this last stage took several hours. At the end, I got the unwelcome snub that “MediaKit reports partition (map) too small. If you recently grew your whole-disk, you should run whole-disk repair. Operation failed…”

promiseresize11

And that was that – all those hours, and an error right at the end stopped it from working.

Despite the unusually fragmented English in that error message, I believed it too. I ran First Aid on the drive and then the volume. That accounted for several more hours, at the end of which there were no significant errors found. So I tried to repartition the drive again, waited several more hours, and got exactly the same error. Disk Utility appeared unable to do the job.

I was just about to resort to Terminal’s command line and the intricacies of its diskutil tool, when it occurred to me that Drive Genius 4 might be able to help. Within a few seconds of asking it to change the partition size, the job was done without error or complaint.

promiseresize12

Believing in belt and braces – and not wanting to increase my 2.4 TB of backups without confidence that they had survived this marathon migration intact – I then used Disk Utility to repair any remaining errors on the drive and then the volume. It found one minor error, which was corrected.

promiseresize13

Finally, around two days after I started installing my new 2 TB hard drives in the Promise Pegasus enclosure, I was ready to let Time Machine roll into action with its first 7 GB or so backup since earlier this month.

The fact that Drive Genius 4 was able to change the partition size when Disk Utility could not must rank as a bug in Disk Utility: beware.

The fact that every single time that you run any sort of check or repair operation on multi-terabyte drives, it takes forever (even over Thunderbolt) can only be put down to the old and gronky file system that we have to put up with. If Apple doesn’t do something about HFS+ in the next major release of OS X, it is going to become a heavy millstone around our necks.