Which RAID Configuration is The Best?

I've just purchased a new Dell PowerEdge 2800 ( 3.0 GHZ Xeon, 1 GB RAM), and I will be using four 300GB SCSI drives for storage. I have considered many different RAID options and I'm having a hard time figuring out which one would be best. I would like to take advantage of as much storage space as I can out of the four drives, but I also want to have fault tolerance in case a drive fails. I am also worried about performance. I don't want a whole lot of processor overhead that seems to come with a fault tolerance set up. What RAID is the best? RAID 0? RAID 1? RAID 10? RAID 15?
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

Gary CaseConnect With a Mentor RetiredCommented:
"... If you are doing backups of your entire information array, why even worry about fault tolerance? " ==>  Simply stated, a RAID array is NOT a backup !  They are two different things:   RAID is used for one of two purposes:  (a)  fault tolerance -- so a mission critical system does not go down if a drive fails;  or (b) performance -- to get faster speeds than a single disk can provide.

The various levels either (a), (b), or both.

But RAID should NOT be considered a backup !!   A catastrophic system failure;  a local catastrophic event (fire, flood, robbery); etc. won't care if the system uses RAID or not -- so you'll still need a backup.

As for how real-life companies use RAID => as with your situation, it depends on the use.   Nobody who requires fault tolerance will use RAID 0, but companies that need SPEED often use RAID 0 arrays for capturing their data (audio and video production companies often use large RAID 0 arrays).  For MOST situations I suggest RAID 1 for operating systems, and RAID 10 or RAID 5 for data, depending on the speed requirements.
What will this server be doing? This will help determine the best setup for the box.
It really depends on what the server will be doing. If it's mission critical you'd want heavy protection along the lines of RAID 5. If you want more speed oriented with less fault protection you can go with RAID 0. Here's a quick breakdown of the raid tech:

RAID 0: Striping
RAID level 0 refers to striping data across multiple disks without any redundant information. RAID level 0 was not defined by the Berkeley engineers but has become a commonly used term.

Striping can be used to enhance performance in either a request rate intensive or transfer rate intensive environment. Unfortunately. striping reduces the level of data availability since a disk failure will cause the entire array to be inaccessible.

High performance
No cost penalty - all storage is usable
Significantly reduced data availability


RAID 1: Shadowing/Mirroring/Duplexing
RAID level 1 refers to maintaining duplicate sets of all data on separate disk drives. Of the RAID levels, level 1 provides the highest data availability since two complete copies of all information are maintained. In addition. read performance may be enhanced if the array controller allows simultaneous reads from both members of a mirrored pair. During writes, there will be a minor performance penalty when compared to writing to a single disk. Higher availability will be achieved if both disks in a mirror pair are on separate I/O busses, known as duplexing.

Excellent data availabiliy
Higher read performance than a single disk
Used to be expensive - requires twice the desired disk space

Dual Disc Mirror


Peer-to-Peer RAID 1: Mirroring over Networks
Peer-to-peer RAID Level 1 refers to maintaining duplicate sets of all data on separate disk drives, on separate hosts or servers. Of the RAID levels, this provides the highest data availability since two complete copies of all information are maintained. During writes, there will be a minor performance penalty when compared to writing to a single disk.

Excellent data availability
Improved system uptime rating
Used to be expensive - requires at least 2 disks on each host
Moderately slower write performance

Network Disc Mirror


RAID 3: Striping and Parity
In RAID level 3, data is striped across a set of disks. In addition, parity is generated and stored on a dedicated disk. With RAID 3, data chunks are much smaller than the average I/O size and the disk spindles are synchronized to enhance throughput in transfer rate intensive environments. RAID 3 is well suited for CAD/CAM or imaging type applications. Since parity is used, a RAID 3 stripe set can withstand a single disk failure without losing data or access to data.

Good data availability
High performance for transfer rate intensive applications
Cost effective - only 1 extra disk is required for parity
Can satisfy only 1 I/O request at a time
Poor small, random I/O performance


RAID 5: Striping and Parity
In RAID level 5, both parity and data are striped across a set of disks. Data chunks are much larger than the average I/O size. Disks are able to satisfy requests independently which provides high read performance in a request rate intensive environment. Since parity information is used, a RAID 5 stripe can withstand a single disk failure without losing data or access to data.

Unfortunately, the write performance of RAID 5 is poor. Each write requires four independent disk accesses to be completed. First old data and parity are read off of separate disks. Next the new parity is calculated. Finally, the new data and parity are wntten to separate disks. Many array vendors use write caching to compensate for the poor write performance of RAID 5.

Average data availability
Cost effective - only 1 extra disk is required
Poor write performance
No performance gain in data transfer rate intensive applications
Requires special hardware.
Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Gary CaseRetiredCommented:
The lengthy post above gives you the details of the various RAID configurations work (a simple Google will give you many such references).   To focus on your specific question:

"... but I also want to have fault tolerance in case a drive fails. " ==> so you absolutely do NOT want to use RAID 0  (it does not, as stated above, give you "... less fault protection ..." ==> it gives you NO fault protection).

"... I am also worried about performance. I don't want a whole lot of processor overhead that seems to come with a fault tolerance set up. " ==> There's not a lot of processor overhead with the Perc controller; but there is overhead in the controller with the XOR requirements for RAID 5 which makes the write performance somewhat slower than with a RAID 1 mirror.

"... I would like to take advantage of as much storage space as I can out of the four drives." ==> You'll get the most storage space with a RAID 5 array, which will give you 900GB of space and provide the fault tolerance you want.   Read performance will be excellent;  write performance will be slower than with a RAID 1 array.

"... What RAID is the best? RAID 0? RAID 1? RAID 10? RAID 15?" ==>  There is no "BEST" mode.  It very much depends on what you'll be doing with the system.   Since you need fault tolerance, I've already noted that RAID 0 is not a candidate.   For maximum storage space, the answer is RAID 5.  But if the write performance is important, then I'd suggest RAID 10, which will let you have essentially a RAID 0 stripe using two fault-tolerant RAID 1 arrays => this will give you 600GB of storage with read performance almost as good as RAID 5 and write performance that's MUCH better than RAID 5.   And it will tolerate any single drive failure.

It is very true that it will depend on the type of work you're doing.  But for maximum performance with the most saved space, you have 2 options really, however it will greatly depend on your hardware support which you'll be able to implement.

In terms of maximum performance a 0 option will always be superior, mirroring is the fastest way to protect your data (1 option), parity is the most efficient way of utilizing your disk space (5 option)

RAID 10 is probably your best option if you don't want to add anymore hardware and want the setup that will most likely work with your current hardware.
max 600GB of usable space
RAID 0 2x performance
Max 2 drive failures or less

RAID 50 is your next best, you'd have to add 2 more drives, and your hardware may not support this high level configuration
max 1200GB of usuable space
RAID 0 2x performance
Max 2 drive failures or less
Some systems list maninblac1's first choice as 0+1, or 1+0.  And, I would concur with that opinion.
In addition concerning processing power, RAID 10 will run very minimal processor utlilization.  RAID 5 or 50 will run you 4-10% processor utilization.
Best for data security- reliability = RAID 1  (neds only 2  big drives)
Best for speed only without reliablity = RAID 5 (min, 3 drives, 4 is needed for failover)
Best for quick data failure - cant recover = RAID 0 (2 and up drives, depends on space)
Best for speed and mirror reliability = RAID 10 (bare minium 6 drives, 8-10 more realistic).

Best RAID always uses more drives.  A good RAID 10 setup need minimum of 8 drives, better with 10.

Scrath, i'm sorry but i have to disagree completely with your post.

RAID 10 or 01 needs a bare minimum of 4 drives.  Regradless of how well they perform you only need 4.
RAID 5 is not a "fast" set up but provides excellent reliability.  Also a RAID 5 of  6 drives may not outperform a RAID 5 of 4 drives if calculating parity information overwhelms the system.
RAID 0 is the fastest, but has no reliability at all.
RAID 1 is reliable but waists drive space.
RAID 50 needs at least 6 drives, but improves RAID 5's speed with striping.

The fault tolerances of these systems are all about the same, 1 to 2 disks given the information provided in the question.  It still stands as obvious that 10 is the best choice, but clean up the facts.
Gary CaseRetiredCommented:
... while discussions about how to best configure varying numbers of disks may be interesting; they are not relevant to this question.   The questioner clearly states they're going to use 4 300GB drives.

As I said originally, the optimal configuration for the stated purpose is RAID 10 if write performance is important; RAID 5 if not.    Both provide "... fault tolerance in case a drive fails ..." and RAID 5 provides "... as much storage space as I can out of the four drives ..." while meeting the fault tolerance requirement.

... a couple of comments on the above comments r.e. RAID levels:
       maninblac1 => r.e. "RAID 1 ... waists drive space" (sic) --> not true;  no more so than any other redundant RAID level;  if you consider the redundant drive a "waste" then the same comment applies to RAID 10 or RAID 0-1 arrays.
      scrathcyboy => r.e. "RAID 10 (bare minium 6 drives ..." --> NO!  You can easily build a RAID 10 array with 4 drives. (as maninblac1 also noted)
      maninblac1 => r.e. "... a RAID 5 of 6 drives may not outperform a RAID 5 of 4 drives ..." --> an irrelevant point since the author is only using 4 drives; but nevertheless not true ==> with a proper hardware XOR-based controller (the only kind you should be using for RAID 5) a larger array will always have better performance.

Gary, i say wastes drive space since, for example with 8 200GB drives.

RAID 1/10/01 wastes 4 drives in mirror
RAID 5 wastes aproximately 1 drive in parity assuming all drives are equal

RAID 1/10/01 800GB total usable space
RAID 5 1400GB total usable space

That's where i'm coming from, all the other RAID levels barring 0 of course, in a typical setup have better than 1:1 drive space.  And i thought it was understood that RAID 10 or 01 would have the same "waste".

I also understand that in 50 you will lose a drive for every 5 set you have inside your zero set, so 50 does lose some diskspace 5 would be able to capitalize on.
Gary CaseRetiredCommented:
... as I noted, "no more so than any other redundant RAID level".   I wouldn't call this "wasting" the space.   It's simply the cost of the redundancy -- it's only "wasted" in the same sense you waste money paying your insurance premiums (if you ever need it -- e.g. a car wreck or your house burns down -- you won't think it was "wasted").
edgecombe74Author Commented:
These are excellent discussions. I really needed the information from someone who has experience in the field. I've read all the online references and I formed an understanding, but until you talk with someone who has the experience, you just really don't know unless you try all of the different RAID configurations. I really don't want to do that. Instead, I want to logically come up with the best solution and go with it. Now, here is my next question. If you are doing backups of your entire information array, why even worry about fault tolerance? If I do RAID 0, and I backup all of my data on a daily basis, do I really need to worry about losing a disk drive? How do small, medium, and large companies do their RAID setups?

My implementation is simply educational, and I'm an IT student and I want to learn as much as possible without spending large amounts of time conducting trial and error on different RAID configurations. Let’s just say I would like to use this system as a domain controller, DNS server, and a file server with little to moderate data traffic. As I mentioned, I will probably be backing up the whole drive.

maninblac1Connect With a Mentor Commented:
Well, that's an interesting proposal.

The question if, if i'm doing a daily backup do i need fault tolerance.  The technical answer is no, you're taking every procaution already to maintain your data.  However, the RAID gives you a slight advantage in recovery.  However, you will lose the "days data" meaning any new content created after you last back up will obviously be lost.  So.....

RAID 0, if one of the disks dies, you have to kill the machine, meaning until you replace the drive, the machine will be down, once you replace the drive, you will have to rebuild all 4 drives again from back up (if it's tape this could take a while)  You'd have to do this ASAP, even in the middle of the night possibly.

The other RAIDS 1/01/10 and 5 will all allow you to operate in "degraded" mode, which means even if a drive dies, the machine will be functional, but will not perform optimally (only RAID 5, RAID 1/01/10 does not suffer performance loss from degredation)  This could run for days in degraded mode until you had the time or opportunity or wait for the delivery of a new drive.

This however is beneficial because most controllers support "hot swap" so you yank out the drive that died, slap a new one in, it will "rebuild the drive 'on the fly'" and then when it's finished you're all set with zero downtime.  This is important for "mission critical" things, like mail servers or webhosts since their clients obviously don't want to lose incoming email or have their site down.

So lets look at recovery,
RAID 0, you have to rebuild the entire set from back up, this cannot be done online and will result in downtime, recovery speed is moderate since data copying is relatively simple but is bad since you'll have downtime.

RAID 1/01/10, you need only rebuild one drive, this can be done while the machine is up and running, recovery speed is fast because data is stored locally, this recovery is seemless to the end user

RAID 5, you only have to rebuild one drive, this can be done while the machine is up and running, recovery speed is slow since not only does that data need to be calculated from parity, but new parity has to be created, this recovery results in performance loss that may or may not be noticiable to the end user

So lets look at storage,
RAID 0  1200GB
RAID 1/01/10 600GB
RAID 5 900GB
You may need to make your decision based on how much space you need.

So what do the pro's use, exactly the same question you asked, what's best for me in this situation.

Simply said, they don't use RAID 0, they in control of maintaining the servers and must keep them up and running as long as possible, RAID 0 simply does not provide the protection they need on their servers.

This is a general idea for you on what is appropriate.

Mail Servers, Controllers, File Storage, or anywhere that performance is not critical and extra drive space may be needed, RAID 5/50
Databases, Research computing, or anywhere that performance is crucial to the system, RAID 01/10

I don't maintain any large scale servers, but i work with the administration that does.  My desktop runs a RAID 0, I've had it up for a year without any failures i like it.  I'm going to put together another desktop that's going to be RAID 5 1.6-3.2TB.

You'll be happy and see a perfomance increase in any setup you do, you have to ask yourself, how much does 300GB extra drivespace mean to me.
RAID 10/01 will outperform RAID 5, but you'll lose that extra drive space, the decision is ultimately up to you.  Since you're using it for storage, i would likely recommend RAID 5
edgecombe74Author Commented:
Ah yes, I see the whole picture now. I've never been a big RAID fanatic; therefore I've never bothered using it until I became a entry-level network administrator. Now that I've seen it in action outside of the textbook, I'm a little more interested. Since it was about time to upgrade my home server, I decided to buy more of an enterprise type server and implement a RAID configuration. From what you guys have written, I've been missing out on the benefits of RAID all this time.

Here is my next question. Since I'm stuck in Iraq until October, I haven't had a chance to explore the full capabilities of the Dell  Poweredge 2800; And I won't until I get home because I bought it while I was out here. I'm not sure, but I believe the Dell 2800 has two internal storage channels outside of the six drive bays. Is it recommended to utilize those and use one or two smaller size (73GB) internal drives, then either install one and use it as is with no RAID, or install two and put them in a RAID 1 configuration? Of course I would be leaving the other four 300GB drives in their places and placing them in a different RAID configuration. How would you go about putting your OS on a drive with RAID 1?
Gary CaseRetiredCommented:
I'd do just as they say -- use two smaller drives for the RAID 1 for the OS.   I think they probably suggest using the other two internal bays as a heat management issue -- so you don't have all six of the drive bays full.
Putting your computer on a RAID configuration is ideally no different than putting it on a standalone drive.  Assuming we're using hardware controllers.  I doubled checked the dell site and it did say it came with dual controllers.  Meaning you can have 2 different RAID sets.  As you so extrapolated.  If you opted for the optional controller which i'm assuming you did.  Then when you boot your computer you should see the option to enter the controller config utility.  It should happen sometime before windows would start.  Obviously if you don't have an OS, you don't have to worry about it.  On my machine it says hit "ctrl + I " to enter the config utility, at that point you would format and configure your drive sets.

Great so now they are formatted and set up.  Now you can install windows, the tiny problem is windows.  XP (at least...i don't know about 2003 server) does not have SATA/SCSI drivers, so it won't find your hard disks.  Obviously you can't install windows if it doesn't know where your drives are.  So most likely you will have to provide SCSI/RAID/SATA drivers for windows to install.  You would hit F6 during the blue screen at initial setup....it will tell you when to hit F6 at the bottom of the screen.

*NOTE* this is an XP setup, i've never installed 2003 server so you may not even have to do this.

After hitting F6 windows will finish it's initial load and ask you to put in the disk (floppy or CD/DVD) with the drivers on it, put it in load it up, and windows will go about it's normal install.  That's the beauty of hardware controllers, windows doesn't know anything about the RAID and really doesn't care, all that happens behind the scenes so after you've set up the RAID sets, you really don't have to worry about them unless they fail.

If you do the RAID 1 for the OS, it's a good idea i think.  Windows will see 1 drive of 74GB (likely less), it knows nothing of the second drive.  If 1 drive fails, the controller prompts you of the failed set, and will allow you to continue using the other disk.  Windows will still see just 1 drive of 74GB, it doesn't really care which drive in the set, since they are identical.

Windows will see your other RAID set as drive "D" and it will/could be one big huge drive.  Or you can partition it like any other drive.  Windows doesn't really care about how the hardware is laid out.  Once again, you wouldn't have to worry about the RAID unless it failed, which you would be prompted and would be allowed to continue on anyway.  I hope that's enough info.
edgecombe74Author Commented:
Yes, Yes. This is what I was looking for. Someone with the experince and the know-how to help kinda explain and offer suggestions. Thanks!
I will be installing Windows Server 2003 just to keep everything realistic. And yes, you have to load a third party SCSI driver with Windows Server 2003 as well.
I think I will be utilizing the two 73GB SCSI's that are already installed in the system for the operating system, put those in a RAID 1 configuration, just leave the other four drives for data, and maybe put those in either a RAID 0 or RAID 5 configuration.
Are there anymore suggestions before I close this question?
Gary CaseRetiredCommented:
Remember that you said you wanted "... fault tolerance in case a drive fails ..." ==> if you create a RAID 0 array with your 300GB drives you will not only NOT have fault tolerance, but will loose everything on all 4 drives if any one drive fails.   So as I originally suggested, I'd advise that you use either RAID 5 or RAID 10 for those 4 drives (depending on how important write performance is) => RAID 5 will give you 900GB of space;  RAID 10 will give you 600GB of space (but much better write performance).
edgecombe74Author Commented:
Thanks everyone for you tips. It will be sometime before I actually implement the discussed setup. I think I will enjoy doing configuring it once I'm all ready to get started. I will be awarding points accordingly.
edgecombe74Author Commented:
I screwed up on giving the accepted answer. maininblac1 provided the best input. garycase also did extremely well. I'm not in the business of hurting one's feelings, but I wanted to give credit where it is due. Again, Thanks for the suggestions.
All Courses

From novice to tech pro — start learning today.