Keeping your Promise: upgrading a Promise Pegasus R4 RAID

If you have a hardware RAID system like the Promise Pegasus R4, how easy is it to increase its drive capacity non-destructively?

It takes a little time, but works well.

My upgrade was rather forced on me, when the original four 1 TB hard drives started to fail after more than four years of continuous and quite heavy use. Holding my Time Machine backup drive and configured as a Level 5 array, its 3 TB space had been steadily eaten away until less than 450 GB were remaining. Rather than keep replacing 1 TB drives, I decided that it was time to replace all four drives with new 2 TB units.

Once they arrived, I popped the dead drive first, replaced it with a new 2 TB unit, powered the RAID up, and set it to rebuild the new drive. Because I am using Level 5 RAID, one out of the four drives can fail without incurring any data loss, so the remaining three drives can always rebuild a fourth.

Once the first new drive had been rebuilt, I shut the system down, popped the next old drive out, replaced it with a new 2 TB unit, and rebuilt the RAID again. I repeated that until all four of the drives were new 2 TB units.

promisemigrate1

promisemigrate2

promisemigrate3

After the fourth and final rebuild, I had the same 3 TB logical drive on four 2 TB drives, which were actually capable of delivering a net total of 6 TB storage. But to achieve that, I had to migrate the RAID to the new, larger size.

promisemigrate4

The Promise Utility app does that from its Background Activities tool: simply click on the Start button in the Migration section. The first task then is to select the disk array to migrate. In my case, as I have just the one array, there is no choice: DA0. As all four physical drives are part of that array, there is no need to select a drive either, so just click the Next button to accept those defaults.

promisemigrate5

Configuring the migration is a bit more complex, and the defaults will do nothing. First you need to check the box at the left, to enable the migration settings. As there is no change in RAID Level, that popup menu is left as it is, but you must check the Expand box and enter the desired capacity of 6 TB. Then click on the Next button.

promisemigrate6

You get a chance to check and confirm the proposed migration. Once happy that it is correct, click on the Submit button.

promisemigrate7

Promise Utility is unusual in the way that it requests confirmation of actions which are potentially destructive of data: you have to type the word CONFIRM in this dialog, then click on the Confirm button, before the process can start.

promisemigrate8

If you then check the Events log in detail, you will see that the migration itself takes almost no time at all. However, it kicks off the next step in the process, which is for the physical drives to synchronise – and that will take several hours.

promisemigrate9

Once that is complete, your Pegasus RAID should then provide you with the full 6 TB of storage.

But before you can turn Time Machine backups on again, you have to use Disk Utility to resize the RAID logical drive under the Macintosh Extended (HFS+) file system.

promisemigrate10

In theory, that should be simple. In practice Disk Utility then performs a full check (not repair) of the file system, several hours more of intense disk thrashing. At the end of that, it told me that one of the tables was too small, quit, and left the volume set at 3 TB size. So it is probably worth repairing the existing 3 TB volume before trying to expand its size. As Disk Utility continues to grind through the laborious repair process, I can only hope that works.

I will let you know.