Apple Software RAID Tests or: What to Do if You Don't Have an Intel Mac
Yes, I got very excited about what I saw in Boot Camp, though for maybe different reasons than most, and now I'm over it. I don't have an Intel Mac, so I couldn't really do much with the Boot Camp Assistant, but I did get turned on to the latest software RAID capabilities included with the Mac OS. Specifically, two items I was previously unaware of: concatenated RAID and the new resizeVolume verb included with the latest version of the diskutil command. Since I promised I'd report about anything I found, and since I did take the time to perform a battery of tests on all things Apple Software RAID, I thought I'd share what I found, though there's not much here that's very exciting, or perhaps even very enlightening. Still, what follows is a fairly thorough explanation of the various RAID options available in Mac OSX. For PPC, that is.
First of all, software RAIDs cannot be partitioned, which I actually didn't realize, though it does make sense.
The two most common and useful types of RAID are Striped and Mirrored. A RAID stripe combines two drives for increased storage and performance. A mirror combines two drives for redundancy. Here are some details on creating RAID stripes and mirrors on Mac OS X.
Striped RAID
Mirrored RAID
Most of this I already knew, though I did discover that the RAID mirror can also be set to automatically rebuild in the event that one of the disks fails. Unfortunately, there is no notification for disk failure. So you can automatically rebuild the set, but you have to manually check its status. This is obviously putting the cart before the horse. Kind of stupid. But whatever.
What I did not already know about, however, was something called concatenated RAID. Turns out concatenated RAID (or "JBOD" for Just a Bunch Of Disks) is the oldest form of RAID, and has generally fallen out of fashion. No one uses concatenated RAID anymore. With the current size of hard drives, there's little reason to.
Basically, concatenated RAID does only one thing. It combines a set of drives for increased capacity. There is no performance increase. Concatenated RAID can be used with combinations of drives of any size and can be added to dynamically. If you add a disk to a concatenated RAID, the added disk is erased but the contents of the RAID remain untouched. There is also no redundancy with concatenated RAID, so if you lose one drive in the set, you lose all the data on the RAID. Here's how concatenated RAID works in Apple's Disk Utility.
Concatenated RAID
Resizing Partitions with diskutil resizeVolumes
Finally, in Mac OS X 10.4.6 there is a new option for diskutil, the command-line version of the Disk Utility application. This new verb is called resizeVolumes and is intended for doing just what it says: taking existing partitions and resizing them dynamically. Unfortunately, as indicated in the comments of this MacGeekery article, though the option is included in the PPC version of 10.4.6, it only works on GPT (GUID Partition Table) formatted partitions which are not normally created by PPC Macs. PPC Macs use the APM (Apple Partition Map) format for their partitions, so on my machine the command failed with the following errors:
This appears to be more than just a partition format problem though. The new Disk Utility in 10.4.6 allows for creating partitions with the GUID scheme:
But attempting to resize these with diskutil still fails thusly:
So, it would appear that, although there are some intriguing new partitioning tidbits in Mac OS X 10.4.6, they are not to be enjoyed by the Intel Mac-less. Alas! Such is life on an educational salary. If I can convince someone to buy me an Intel Mac, I'll surely mess around with this stuff some more. Until then I guess we'll leave the real cutting edge stuff up to the early adopters.
Lucky bastards!
First of all, software RAIDs cannot be partitioned, which I actually didn't realize, though it does make sense.
The two most common and useful types of RAID are Striped and Mirrored. A RAID stripe combines two drives for increased storage and performance. A mirror combines two drives for redundancy. Here are some details on creating RAID stripes and mirrors on Mac OS X.
Striped RAID
- Increase in capacity
- Increase in performance
- No redundancy
- Works best with disks of equal size/type
- Can be used with disks of different sizes
- Consequences unknown
- Deletes disk contents on creation
Mirrored RAID
- Half capacity of combined disks
- No performance increase
- Redundancy for disk failures
- Works best with disks of equal size/type
- Can be used with disks of different sizes
- Total size/redundancy is equal to the smaller of the two members
- Other consequences unknown
- Deletes disk contents on creation
Most of this I already knew, though I did discover that the RAID mirror can also be set to automatically rebuild in the event that one of the disks fails. Unfortunately, there is no notification for disk failure. So you can automatically rebuild the set, but you have to manually check its status. This is obviously putting the cart before the horse. Kind of stupid. But whatever.
What I did not already know about, however, was something called concatenated RAID. Turns out concatenated RAID (or "JBOD" for Just a Bunch Of Disks) is the oldest form of RAID, and has generally fallen out of fashion. No one uses concatenated RAID anymore. With the current size of hard drives, there's little reason to.
Basically, concatenated RAID does only one thing. It combines a set of drives for increased capacity. There is no performance increase. Concatenated RAID can be used with combinations of drives of any size and can be added to dynamically. If you add a disk to a concatenated RAID, the added disk is erased but the contents of the RAID remain untouched. There is also no redundancy with concatenated RAID, so if you lose one drive in the set, you lose all the data on the RAID. Here's how concatenated RAID works in Apple's Disk Utility.
Creating a Concatenated RAID Set: Data Will be Deleted
(click for larger view)
(click for larger view)
Concatenated RAID
- Increase in capacity
- No increase in performance or redundancy
- Works with any set of disks
- WILL delete disk contents on creation
- Unmounting one member of the set will cause the RAID to fail completely; RAID must be mounted/unmounted all at once
- Rebooting fixes the broken RAID
- Adding to the set deletes data on the new disk, but keeps data on the existing set
Updating a Concatenated RAID Set: RAID Data is Preserved
(click for larger view)
(click for larger view)
Resizing Partitions with diskutil resizeVolumes
Finally, in Mac OS X 10.4.6 there is a new option for diskutil, the command-line version of the Disk Utility application. This new verb is called resizeVolumes and is intended for doing just what it says: taking existing partitions and resizing them dynamically. Unfortunately, as indicated in the comments of this MacGeekery article, though the option is included in the PPC version of 10.4.6, it only works on GPT (GUID Partition Table) formatted partitions which are not normally created by PPC Macs. PPC Macs use the APM (Apple Partition Map) format for their partitions, so on my machine the command failed with the following errors:
Attempting to Resize an APM Volume on PPC: Fat Chance!
(click for larger view)
(click for larger view)
This appears to be more than just a partition format problem though. The new Disk Utility in 10.4.6 allows for creating partitions with the GUID scheme:
Choosing a Partition Scheme: No Help for the Intel-Challenged
(click for larger view)
(click for larger view)
But attempting to resize these with diskutil still fails thusly:
Attempting to Resize a GPT Volume on PPC: Nice Try!
(click for larger view)
(click for larger view)
So, it would appear that, although there are some intriguing new partitioning tidbits in Mac OS X 10.4.6, they are not to be enjoyed by the Intel Mac-less. Alas! Such is life on an educational salary. If I can convince someone to buy me an Intel Mac, I'll surely mess around with this stuff some more. Until then I guess we'll leave the real cutting edge stuff up to the early adopters.
Lucky bastards!
Labels: Applications, MacOSX, Systems
2 quick comments:
You say "Concatenated RAID". There is no such thing. It has nothing to do with RAID. There is RAID 0, 1, 2, 3, 4, 5 and that's it. Other things are either made up, mistakes, BS marketing, or stacking (mirroring striped volumes, for example).
I was doing concatenated drives with a normal driver back in... 1993? Mirror Technologies driver supported this. Please make a note of correction.
Also, and this may be of more direct interest to you, when you write "First of all, software RAIDs cannot be partitioned, which I actually didn't realize, though it does make sense." you are again wrong.
The problem is that Apple's RAID software, although priced right, is crap. To make RAID partitions you have to FIRST partition EACH drive you want to put into the array the size you want it to be.
For instance, if you want a 30GB RAID 1 (mirrored) startup partition, a 40 GB RAID 0 (striped) partition, and the rest of the drive as a normal partition, you have to do this:
Partition your first drive into 3 parts: a 30GB, a 40GB, and the rest as normal. Again, due to the crappy nature of Apple's RAID software, you can't make the 30 and 40 free space to save time.
Then Partition the 2nd drive the same way (note, it can be bigger or smaller than the first drive, and no, for striping it doesn't much matter that the drives don't match).
NOW make your RAID 1 partition dragging the 30GB partitions over. Ah ha!. The 40 GB striped is easy at that point. Don't forget the rebuild automatically and why that isn't the default I'd like to know.
Let me tell you, this really makes a sysadmin appreciate Veritas's disk management software.
Anyway, I was able to boot my PPC Mac mini from a similar arrangement (I mirrored the entire internal drive against a larger firewire drive) and it worked just fine.
I didn't check the rest of what you wrote, but hope you can correct or notate the original post and hope the partitioning bit helps. If you don't like the way Apple's RAID software works, you can get SoftRAID, which is much better.
4:32 PM
Brian,
The article deals specifically with Apple's software RAID capabilities. That's why the title says, "Apple Software RAID Tests," and why that phrase or variations on it are sprinkled throughout the article. It is not meant to be a comprehensive treatment of RAID technology. It's only meant as a description of the capabilities and limitations of Apple's included RAID utilities. "Concatenated RAID" is the language used by Apple in said utilities, so it's what I used. If I'd said something else, the article wouldn't make sense.
Apple's RAID software may be crap. I suppose it depends on what you need to do. For many I'm sure it's more than adequate. For me it's simply interesting, in an academic way. But not so interesting that I feel like appending my article.
Thanks for the detailed comment.
-systemsboy
5:32 AM
Re: RAID 1/Mirror..
There was definitely a performance increase having 2 mirrored drives on my system (mac pro/5GB ram/etc)
Sustained reads jumped from about 60mb/sec to 97mb/sec and sustained writes are about the same when copying huge files.
The array also ate through heavy digital audio data and large video files during sessions. A substantial performance increase compared to a single drive.
Also when I used to use PC for audio, at the time I had a Promise Ultra 133 RAID card with 2 x 40gb (hehe huge!) mirrored - and read performance was greatly higher than a single drive.
Just my .02,
Neil
2:11 AM
I did a double take when I read that you can not partition a RAID 1 (mirrored) setup. I'm used to have multiple partitions for organizing and having multiple OS's on same machine. This is disappoint as I have two shinny new 750gb disk setting on my desk just waiting to taste the 1's and 0's. I guess I'll be running my linux partition on an external disk. You said, "makes since" when referring to not being able to partition a RAID 1. I guess I don't fully understand the underlying of a RAID. I would think that it would mirror the partition table and be good to go. Thanks for the article, know I don't need to worry about my partition table. That will make my install go faster.
11:19 AM
No problem. Glad you found it useful.
-systemsboy
4:03 PM
Thanks for the general overview of the Apple Disk Utility Raid function. :-)
Brian needs to work at a place where he can feel more appreciated. It seems obvious that he has a great need to share his wisdom. Also, 10 != 2.
5:38 PM
"Brian needs to work at a place where he can feel more appreciated. It seems obvious that he has a great need to share his wisdom. Also, 10 != 2."
Heh. Funny.
-systemsboy
» Post a Comment