Software vs. hardware RAID: Tips on
striping, mirroring, and striping with parity
May 24, 2005
By Scott Lowe in TechRepublic
responds to a TechRepublic discussion and one member's RAID dilemma. Here are
some tips on RAID levels and some feedback on the software vs. hardware RAID
In reading through TechRepublic
discussion forums, I stumbled across a very recent discussion where member mccoygreg
asked questions about software RAID capacity, and some other members chimed in
with their comments regarding software RAID. As a result of this discussion, I
thought I'd put together a quick RAID primer and offer some of my own opinions
about the issue of hardware vs. software RAID solutions.
If you're interested in some pretty in-depth
information about how RAID works, take a look at the article I originally
wrote for TechProGuild.
While that article went in-depth about a bunch of different RAID levels, I'm going
to focus on only RAID levels 0 (striping), 1 (mirroring), and 5 (striping with
parity) in this article.
First, I want to address the storage dilemma posed
by mccoygreg, who is setting up a lab server so he can play to his heart's
content. He indicated that he purchased a new 80-GB drive that he wanted to use
in conjunction with his existing 6-GB and 8-GB drives. Unfortunately, while he
can create a RAID-5 array, because of the way RAID-5 works, he will lose 74 GB
capacity on his shiny new drive. Why? RAID-5 requires drives of equal capacity.
For situations in which the selected drives differ in size, RAID-5 defaults to
the least common denominator. In this case, the smallest drive is 6 GB in size,
so the RAID-5 configuration will use only 6 GB from the other two drives as
well, and the remaining space is ignored.
If mccoygreg wants to use the total capacity of 80
GB, he would need to purchase two more 80-GB drives, since RAID-5 requires
three drives in order to operate. Mccoygreg's other alternative is to forgo
RAID-5 and use RAID-0 instead, which provides the ability to use the maximum
capacity of each individual disk. In this case, a RAID-0 array would result in
a total of 92 GB of capacity. I would strongly recommend against this approach,
however. In a RAID-0 configuration, the loss of a single disk results in the
loss of all data on the array. By using RAID-0 on three disks, mccoygreg would
triple his chances for complete data loss.
RAID-1-mirroring requires two drives of equal
size, so the 6-GB and 8-GB drives might be good, but the member would still
lose 2 GB from the 8-GB drive, since RAID-1 also uses the smallest disk size in
cases where the drives sizes differ.
I've said a couple of times that mismatched drive
sizes default to the smallest of the individual drives. Note, however, that
this doesn’t always work. Some RAID controllers really require identical
Finally, let's address the issue of software vs.
hardware RAID. As one member pointed out, software RAID is like playing with
fire. If you have a server hiccup, you could have some data loss issues.
However, even though RAID hardware has come down in price, it's still not
always feasible for organizations to incur the additional expense, or perhaps
you're using older servers that don't have RAID hardware. In these cases, if
you want to further protect your data, use software RAID. It's definitely
better than having no RAID at all! And, Windows 2000 and Windows Server 2003's
handling of these kinds of scenarios is really pretty good, though not as
reliable as a hardware solution.
These days, all new servers in my environment use
either RAID-1 or RAID-5, and, with the exception of a couple of older servers
that will soon be virtualized, all servers use hardware RAID controllers,
rather than relying on the Windows RAID feature