Link to home
Start Free TrialLog in
Avatar of edgecombe74
edgecombe74

asked on

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?
Avatar of simsjrg
simsjrg
Flag of United States of America image

What will this server be doing? This will help determine the best setup for the box.
Avatar of lbbcsg
lbbcsg

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.

Advantages:
High performance
No cost penalty - all storage is usable
Disadvantages:
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.

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

Dual Disc Mirror
Immunity


--------------------------------------------------------------------------------


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.

Advantages
Excellent data availability
Improved system uptime rating
Disadvantages
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.

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


--------------------------------------------------------------------------------


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.

Advantages:
Average data availability
Cost effective - only 1 extra disk is required
Disadvantages:
Poor write performance
No performance gain in data transfer rate intensive applications
Complexity
Requires special hardware.
Avatar of Gary Case
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.
... 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.
... 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").
Avatar of edgecombe74

ASKER

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.

SOLUTION
Avatar of maninblac1
maninblac1

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
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?
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.
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?
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).
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.
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.