How to enlarge an AppleRAID mirrored raid set (RAID 1)

I recently attempted to enlarge a 1 TB mirrored raid set by replacing the 1 TB drives one at a time with 4 TB drives. At the end of the process, I successfully had a RAID with 4 TB slices... but the RAID set itself (the device that has the filesystem and gets mounted) was stuck at 1 TB with no way to enlarge it. I found a lot of posts on the internet from people in the same situation, but no answers to any of them. Since my old drives were still working (but removed) and all the data was backed up to tape anyway, I decided to experiment. Here's what I found out:


1. It's possible.

2. Easy, even.

3. It relies on an unexpected approach with one step in particular that works in a surprising way.


This works on a Mac Pro with Snow Leopard. For the purposes of example, disk1s2 and disk3s2 are the RAID slices that make up this mirror. This will NOT work for a stripe set (RAID 0). Don't even try it! Maybe if you can somehow convert the stripe set into a mirror first (RAID 0+1), but you're on your own with that one.



  1. Use Disk Utility.app to demote one RAID slice from the mirror. Select the slice, click the "-" button, then the "demote" button.
  2. Since the internal drive bays aren't hot-swap, you will have to shut down to remove the demoted drive, and insert the new (larger) drive. You can use System Profiler.app to determine which drive bay has which disk.
    For the purposes of this example, we will demote disk3s2 from the RAID, and System Profiler.app says it's in drive bay 2.
  3. Boot up again, and use Disk Utility.app to add the new (larger) disk to the RAID. Just drag and drop. After the reboot, the disks may be renumbered (bay 2 may not be disk3 this time) but for clarity we'll assume that they are the same as before. Wait for the rebuild to complete; it may take many hours.
  4. This is the surprising part: in Disk Utility.app, destroy the RAID set. I wouldn't have tried this except after six hours and lots of digging into various things with no results, I was ready to just start from scratch and restore from backups. But what happened was, it split the mirrored RAID set into two separate volumes, each with an independent copy of my data (i.e. one 1 TB volume that had 5 GB free, and one 4 TB volume that had 3005 GB free).
  5. Open Terminal.app and use diskutil to create an unpaired (one disk) mirrored RAID using the new (large) volume.
    $ sudo diskutil appleraid enable mirror disk3s2
    This will take a minute or so, and you'll end up with the enlarged RAID set you were after in the first place, though with only one disk for now.
  6. After verifying which bay the remaining old (smaller) disk is in (i.e. System Profiler.app says disk1 is in drive bay 4), shut down, and replace it with the new (larger) disk.
  7. Boot up again, and use Disk Utility.app to add the new (larger) disk to the new (larger) RAID, just like you did in step 3. Wait for the rebuild to complete. Have a Coke and a smile.



There's no need even to boot off the recovery media to do any of this, unless you're trying to enlarge your boot/OS RAID (I only did a data RAID, but in theory it should work the same way).


I hope somebody finds this helpful.

Posted on Sep 12, 2012 12:44 PM

Reply
1 reply
Sort By: 

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

How to enlarge an AppleRAID mirrored raid set (RAID 1)

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.