Using Software RAID
The idea behind RAID (Redundant Array of Independent Disks) is that you can combine similar drives together to form large volumes with increased performance or reliability. The downside is that you have to have special hardware or software to manage the RAID. Hardware-based RAID solutions are often external to the computer because they contain many drives and include specialized hardware to manage the RAID. Conversely, software-based RAID solutions don’t require any special hardware as they use software running from the computer’s processor to manage the RAID.
Mac OS X includes a software-based RAID solution as part of its file system. The advantage of using the built-in software-based RAID is that no special hardware is required. All you have to do is connect two or more similar drives to the Mac via any compatible hardware interface, and then use Disk Utility to create the RAID set. The main disadvantage is that you cannot use advanced RAID types normally available from a hardware-based RAID solution. Specifically, the popular RAID 5 and 6 implementations, which provide both increased redundancy and performance, are not available using the built-in software-based RAID solution.
Mac OS X built-in software-based RAID supports:
RAID 0—Commonly called striping, RAID 0 splits up the data into multiple pieces, and then simultaneously writes each piece to a different drive in the set. This yields a single large volume, with dramatically increased read and write performance, equivalent to the cumulative size and performance of all the drives. On the other hand, RAID 0 offers zero increase in reliability since if just one drive in the set fails, then all the data is lost. In fact, RAID 0 increases your chances of data loss because you are introducing more points of failure. In short, RAID 0 is space efficient and fast but provides no redundancy and increased risk.
RAID 1—Commonly called mirroring, RAID 1 writes the same data to each drive in the set. This yields a single volume that is the same size as a single drive. Write performance is no faster than a single drive, whereas read performance is increased. The primary advantage to a RAID 1 set is that it can survive and recover from hardware failure. RAID 1 decreases your chances of data loss by providing redundancy. In short, RAID 1 is space-inefficient and partially slower but provides drive redundancy and decreased risk of data loss due to drive failure. Even so, it’s very important to remember that mirroring is not a backup solution. Backup solutions create an archive of the data frozen in time and save it to another storage device. If hardware failure occurs, you can recover from a previous backup version of the data. With a mirrored RAID set, all file system changes are applied immediately to all drives in the set and no archival history is maintained.
Nested RAID, 1+0 or 0+1—Because RAID 0 and RAID 1 offer opposed feature sets, nesting one type inside of the other can provide the features of both. In other words, you can stripe data between two mirrors, or you can mirror data on two stripes. These nested configurations are certainly more complicated and require a minimum of four separate drives. However, when you combine their features you get increased performance and redundancy.
Concatenated disk set—This isn’t what most would consider a true RAID configuration, as not all drives are being used simultaneously. With a concatenated disk set, the system will simply continue on to the next drive once the previous drive is filled. The only advantage here is that the user will see one large volume instead of several separate drives.
Creating a RAID Set
Creating a RAID set with Mac OS X is only slightly more complicated than formatting a standard disk or flash drive. Remember, you can use just about any combination of drives to create a RAID set. Nevertheless, you should follow a couple rules to ensure a healthy RAID set.
Here are some software-based RAID guidelines:
- Use identical drives if possible—This will ensure consistent size and performance for all drives in the RAID set. RAID sets are susceptible to performance at the lowest common denominator. In other words, all the drives in a RAID set are treated as large or as fast as your smallest and slowest drives. This is not an issue for a concatenated disk set.
- Distribute the drives across multiple interfaces to minimize contention—This often requires extra hardware, but giving the Mac multiple independent paths to the drives can dramatically increase performance.
- Make certain that all drives in a set are simultaneously available to the Mac—This may be a difficult criterion if the drives are using different interfaces, but it’s necessary to maintain RAID consistency. If a drive in a RAID set is missing for more than a few seconds, the system will assume the drive has failed and the RAID set is damaged. In other words, make sure all the drives are turned on and plugged into the Mac at the same time.
To create a software-based RAID set:
- Make sure all the drives for the new, unformatted RAID set are connected to the Mac, and then open /Applications/Utilities/Disk Utility.
- Select any one of the drives from the column on the left, and then click the RAID tab to the right.
- Click the small plus button at the bottom of the RAID diagram to create a RAID set. The new RAID set will assume some defaults that you can change at any time before you create the RAID.
- Configure the newly created RAID set by clicking on its entry in the RAID diagram to select it. For each RAID set, you need to enter a volume name for the RAID set, choose a volume type from the Volume Format pop-up menu, and choose a RAID type from the pop-up menu. Then, click the Options button at the bottom to configure the RAID block size for optimal performance or enable automatic rebuilds if the RAID set is mirrored.
- If you are creating a nested RAID set, click the small plus button to create additional RAID sets.
Be sure to properly configure each new RAID set. Drag the nested RAIDs on top of the root RAID set to configure the nesting order.
- Add the drives by dragging the drive icons from the column on the left to the RAID diagram on the right.
Each storage drive you add to your RAID set is considered a “RAID slice.” To specify a particular RAID set order, continue to drag drive icons around until you set their appropriate locations in the RAID diagram.
- Optionally, if you have added three or more drives to a mirrored RAID set, you can define a spare drive by selecting the drive
from the RAID diagram and then choosing Spare from the Disk Type pop-up menu.
If you set a spare and one of the other drives becomes unreachable during the life of the RAID set, you can have the system automatically rebuild the mirrored RAID. You can enable automatic rebuilding from the RAID options dialog by clicking the Options button below the RAID diagram.
- If you need to delete items in your RAID, select them from the RAID diagram and then click the small minus button below the diagram.
- Double-check all your choices and then click the Create button.
You will be presented with a summary dialog, reminding you once again that continuing may destroy any previous volumes. If you are sure this is what you want to do, click the Create button once more.
RAID set creation takes only a few moments, and once it’s complete, you should see the new RAID set volume in the Disk Utility list and in the Finder. Selecting the newly created RAID set from the column on the left, and then clicking the RAID tab, should reveal that the set is “Online.”
Rebuilding a RAID Set
As mentioned earlier, using multiple drives in a RAID set actually introduces more points of storage failure. Fortunately, RAID 1 data mirroring configurations are designed specifically to prevent data loss when a drive fails. Mac OS X even includes the ability to automatically repair mirrored RAID sets if you specified that option during RAID creation.
Before the system mounts a RAID volume, it will check the set for consistency. If the system finds a degraded striped RAID 0 set, you’d better have a good backup because all that data is lost. The system will report the degraded RAID set in Disk Utility, but it will not mount the volume. Only a data recovery service, such as DriveSavers, might have a chance at recovering your data.
On the other hand, if the system finds that a mirrored RAID 1 set is degraded it will either warn you or automatically start rebuilding the RAID set if configured. Either way, the volume will still mount and be accessible to you in the Finder. You should avoid writing new data to a degraded RAID set until you have completed the rebuilding process.
There are two main failure modes for a mirrored RAID 1 set:
- One of the drives appears to be responding properly, but the data on the drive is not consistent with the other drives in the set. If configured, the system will automatically start rebuilding the RAID set data by recopying it from a working drive to the apparently corrupted drive. Otherwise, the system will wait for you to manually engage the rebuild process from Disk Utility.
- One of the drives in the set is no longer available. If a spare is configured, the system will automatically start rebuilding the RAID set data by copying it from a working drive to the spare drive. Otherwise, the system will wait for you to manually replace the drive and manually engage the rebuild process from Disk Utility.
To manually rebuild a mirrored RAID 1 set:
- Make sure that all the drives that are part of the RAID set are connected to the Mac, and then open /Applications/Utilities/Disk Utility.
- Select the degraded RAID set from the column on the left, which should be easy to locate as it will show up onscreen with bright red text for the name. Select the RAID tab to the right if it isn’t already selected.
- Depending on the failure mode of the RAID set, you will need to choose one of two resolutions:
Inconsistent data. The system has discovered that one of the drives does not have the same data as the others. You will see the word “Failed” next to the drive with inconsistent data. Simply click the Rebuild button to repair the RAID set.
Bad or missing drive. The system can no longer access one of the drives. You will see the word “Offline” next to the missing drive. Select the missing drive from the RAID dialog, and then click the small minus button below the RAID dialog to delete the missing drive. Drag the replacement drive from the column on the left to replace the missing drive from the RAID diagram. Click the Rebuild button to repair the RAID set.
Depending on the size and performance of the RAID set, the rebuild process can take anywhere from seconds to days. Disk Utility will open a progress dialog with the estimated time required to complete the rebuild task.