Ah, storage. Every PC needs it it, but your standard PC storage solutions suffer from two glaring frustrations.
First off, storage performance tends to be one of the main bottlenecks in a typical PC, although the situation has vastly improved with the advent of solid state drives. (Yes, it’s probably your hard drive holding back your high-end PC from even greater glory.) Second, drive failure can lead to the loss of valuable data, and no one wants that.
Thankfully, there’s a way to help mitigate both of these problems using a feature that’s supported on virtually every modern computer system: RAID.
RAID was originally an acronym for Redundant Array of Inexpensive Disks, but that has since morphed into the more commonly accepted Redundant Array of Independent Disks. As its name implies, RAID is a way to pair multiple drives together to improve performance, redundancy, or both.
RAID used to require expensive hardware purchases and was sometimes difficult to configure. Now, though, all but the lowest-end desktop systems (and even some laptops) feature integrated drive controllers with RAID support built right in. Most operating systems–including Windows–also give users the ability to configure what’s known as software RAID. Expansion cards are available too, which can add RAID support to any system with an open PCI-E slot.
Setting up a RAID array is easy in most cases. Typically, the process requires little more than installing some drives, attaching them to a RAID or drive controller, and stepping through a simple wizard that’s either embedded in firmware or available within your operating system.
When to use RAID
Budget permitting, there are many good reasons to use RAID.
Today’s hard disks and solid state drives are far more reliable than their predecessors, which make them perfect candidates for RAID. As we’ve mentioned, RAID can increase storage performance or offer some level of redundancy–both things most PC users want.
Common RAID modes
Choosing the right RAID mode is paramount. Over the years, many RAID modes, or levels, have been defined. On most of today’s desktop systems, however, only a handful of modes are typically supported. Here are the ones you’ll see in the PC space.
RAID 0 — Striping:
RAID 0, or striping, distributes data among the drives used in the array. And because the workload is parallelized and spread across the drives, read and write throughput in many circumstances is improved. RAID 0 requires a minimum of two drives and the total capacity of the drives in the array are combined into a single volume, due to the way data is distributed. Two 1TB drives paired together in a striped RAID 0 configuration, for example, will be recognized as a single, 2TB volume. RAID 0 does not mirror or store any parity data though, so the loss of a single drive will take down the entire array.
Configuring SSDs in RAID 0 can result in some truly jaw-dropping transfer speeds. More on that at the end.
RAID 1 — Mirroring:
RAID 1, or mirroring, also requires a minimum of two drives. But instead of striping data, the data stored on the drives in the array is duplicated across all the hard drives. RAID 1 offers a level of data redundancy, and the array can be rebuilt in the event of a drive failure without any loss of data.
Performance can also be improved somewhat, at least when using hard disk drives, since any drive in the array can be accessed to read data, and one drive may offer lower seek or rotational latency due to the position of its drive heads. Write performance is usually lowered, however, because data is mirrored to all of the drives in the array. The total capacity of a RAID 1 volume will equal the capacity of a single drive on account of the redundancy: If two 1TB drives are used, the total capacity of the RAID 1 volume will still be 1TB.
RAID 5 — Striping with Parity:
RAID 5, which requires a minimum of three drives, improves performance by striping data like RAID 0, but it also offers a level of redundancy in RAID 1-like fashion by storing parity data across the drives in the array.
In a RAID 5 setup, a single drive in the array can fail without any loss of data, but performance will be degraded until the bad drive is replaced and the array rebuilt. Depending on the capacity of the drives used, rebuilding a RAID 5 array can take some time, so it’s usually recommended for smaller volumes. Also note that the total capacity of a RAID 5 setup will be the sum of all of the capacities of the drives used in the array, minus the capacity of one. Three 1TB drives used in RAID 5, for example, will offer a total capacity of 2TB.
JBOD — Just a Bunch Of Disks:
Technically, JBOD is not RAID, since it doesn’t offer any sort of redundancy, but it is a mode supported by most drive controllers. JBOD gives users the ability to link multiple drives together to create a single, larger-capacity volume. There is no performance improvement nor data protection though. JBOD is used to simply increase the capacity of a volume; when one drive in a JBOD array is filled, data spills over to the next drive, and so on.
Prepping for RAID
There are a few things to keep in mind before setting up RAID on an existing system. If you’re starting fresh with a new PC, there’s no preparation needed short of making sure you’ve got the drives connected to the right ports on your motherboard or RAID card/controller. But on an already-configured system, there are many, many considerations.
The first thing we’d recommend is backing up all of your data. Ensure that all of the data on your existing drives is backed up and that you’ve taken a fresh image of your OS installation. (This guide has nitty-gritty details on how to do just that.) If something goes wrong and you lose data, you’ll be happy to have a backup in place. And if setting up RAID somehow mangles your OS, having a fresh image on hand will help you recover in no time.
Note, however, that if you plan to migrate an existing OS installation that resides on a single drive to a new RAID volume, the configuration changes necessary to set up RAID may cause problems with the OS and render it non-bootable. It’s best to install a fresh OS onto a new RAID array whenever possible.
RAID hardware considerations
The vast majority of motherboards sold today have built-in support for RAID. The drive controllers integrated into Intel’s and AMD’s chipsets offer RAID (as do most other lesser-known chipsets) and many motherboard manufacturers often integrate additional RAID controllers, from companies like Marvell, onto their boards as well. It’s common for on-board RAID controllers to support RAID 0, 1, 5, and JBOD, though some also support RAID 10. Keep in mind though, that even on the off chance your motherboard doesn’t have built-in RAID support, software RAID is still most likely possibly, provided the board has a couple of open SATA ports to connect additional drives.
Though the RAID controllers integrated into most motherboards should be adequate for the vast majority of users, higher-end add-in solutions are also available. Typically, inexpensive add-in boards (think under $150) feature the same basic standalone controllers found on many motherboards, but some higher-end offerings like those from Areca, LSI, or 3COM offer true hardware RAID, with dedicated storage processors and cache memory.
Setting up hardware RAID
Configuring an array with a hardware RAID controller is fairly straightforward. If you’re using an add-in board, the first step is to actually install the card. Power down your system, insert that card into an available PCI-E slot, power up the system, and install whatever drivers are necessary for your OS. Installing a RAID controller card is really no different than any other add-in board.