RAID 0, RAID 1, RAID 5, RAID 10 Explained with Diagrams

by Ramesh Natarajan on August 10, 2010

RAID stands for Redundant Array of Inexpensive (Independent) Disks.

On most situations you will be using one of the following four levels of RAIDs.

  • RAID 0
  • RAID 1
  • RAID 5
  • RAID 10 (also known as RAID 1+0)

This article explains the main difference between these raid levels along with an easy to understand diagram.

In all the diagrams mentioned below:

  • A, B, C, D, E and F – represents blocks
  • p1, p2, and p3 – represents parity

RAID LEVEL 0


Following are the key points to remember for RAID level 0.

  • Minimum 2 disks.
  • Excellent performance ( as blocks are striped ).
  • No redundancy ( no mirror, no parity ).
  • Don’t use this for any critical system.

RAID LEVEL 1

Following are the key points to remember for RAID level 1.

  • Minimum 2 disks.
  • Good performance ( no striping. no parity ).
  • Excellent redundancy ( as blocks are mirrored ).

RAID LEVEL 5


Following are the key points to remember for RAID level 5.

  • Minimum 3 disks.
  • Good performance ( as blocks are striped ).
  • Good redundancy ( distributed parity ).
  • Best cost effective option providing both performance and redundancy. Use this for DB that is heavily read oriented. Write operations will be slow.

RAID LEVEL 10

Following are the key points to remember for RAID level 10.

  • Minimum 4 disks.
  • This is also called as “stripe of mirrors”
  • Excellent redundancy ( as blocks are mirrored )
  • Excellent performance ( as blocks are striped )
  • If you can afford the dollar, this is the BEST option for any mission critical applications (especially databases).

Share

If you enjoyed this article, you might also like..

  1. 50 Linux Sysadmin Tutorials
  2. 50 Most Frequently Used Linux Commands (With Examples)
  3. Top 25 Best Linux Performance Monitoring and Debugging Tools
  4. Mommy, I found it! – 15 Practical Linux Find Command Examples
  5. Linux 101 Hacks 2nd Edition eBook Linux 101 Hacks Book

Bash 101 Hacks Book Sed and Awk 101 Hacks Book Nagios Core 3 Book Vim 101 Hacks Book

{ 81 comments… read them below or add one }

1 Vaisakh August 10, 2010 at 12:09 am

nice… very handy

2 SuhasMK August 10, 2010 at 2:03 am

Good post. Thank you

3 ChristianS August 10, 2010 at 2:15 am

Your explanation of RAID10 is true for the combined level RAID 0+1. The upper layer mirrors the two striped sets below. But if one drive of each stripe set fails, the data is lost.

The other combined level RAID 1+0 means a striped set across two mirrors. With this redundancy level, a disk may fail in each of the mirrors without losing your data.

4 karthik August 10, 2010 at 2:55 am

Would be still better if a few lines was there about what is parity/ what is striped…

5 anurag rana August 10, 2010 at 5:17 am

can u please elobrate what is parity , strriping ..all the terms used..please.

6 varun August 10, 2010 at 5:38 am

Nice One!! Can you elaborate things to understand what is what..

7 Pushpraj August 10, 2010 at 7:14 am

nice article…as anurag said can you elaborate parity..stripping and other terms which seems little bit confusing….

8 sjs August 10, 2010 at 10:02 am

nice opener for a beginning description, but hardly worth the time to read as several key issues are not addressed, in particular:
+ why use RAID at all
+ why is parity important
+ why is striping important
+ how does you implement any of the RAID levels in any version/variation of linux
+ how do you recover data and/or replace a disc after a crash
The pictures are pretty, and convey some understanding of the concept, but there is a lot of missing info.

9 Logan August 10, 2010 at 11:57 am

Nice article. Simple yet effective.

Would be nice to have a diagram for both RAID 0 + 1 and RAID 1 + 0, and the differences between them.

Excellent, Ramesh. Keep up the good work. I learn new things from your site.

10 mohamad reza August 10, 2010 at 2:41 pm

hi
thanks!
A strip is a data that striped(in the raid option you can choose 64kb or 128kb for strip size) to lower one!!! For ex if u have a 1mb data , raid strip that to 12 strips then store them!!
Parity is a XOR bitween 2 strips
for 01 and 11 data , parity is 01!!!

11 The Hulk August 10, 2010 at 4:27 pm

Thanks for the article. Now can you show us how to configure RAID 10? I have not found a decent tutorial on that yet.

12 kamlesh August 10, 2010 at 6:28 pm

Thanks for the valuable tips and can you describe how to configure RAID-10 briefly.
Thanks in advance .

13 Abhishek August 11, 2010 at 1:21 am

Thanks, but can you please elaborate the parity and strip in non technical terms so it
will be more precious than mugging up.

14 mohamadreza August 11, 2010 at 11:21 am

hello boy’s
first excuse me for my bad english(my language is PERSIAN!!!)

to ABHISHEK:
strips:
if u have a data that is: 1000101110011101(for example!) and our RAID strip size is 8 bits!! the RAID Program , break data to this two datas:
10001011
and
10011101
in this level , if u have a RAID 1 , RAID just store them!! but in other RAIDs the RAID program calculate the PARITY that is XOR of two block of strips
why we need PARITY?
if u lose one disk , and change the damaged disk , after boot , the RAID program or hardware calculate the damaged disk again (with the XOR) and store the data on the new disk!!!!(RAID 5 only must have 3 disk)

by good boys and girls!!!!!

15 Raj Mohan August 12, 2010 at 9:20 pm

Thanks for Sharing

16 Ewoud August 17, 2010 at 12:35 pm

Nice post!

17 Ramesh Natarajan August 17, 2010 at 11:22 pm

@All,

Thanks a lot for your valuable feedback. Mohamad Raza has explained on very high-level in the comment above about striping and parity.

I’ll create a separate article to explain in detail about parity and striping concept.

18 rahul October 18, 2010 at 5:46 am

nice explanation, easy to understand and useful to utilize :)

19 pruthvi October 24, 2010 at 3:14 am

Good One
Dude
Very Easy To Understad
Thank$

20 mythili December 7, 2010 at 6:51 pm

good points 2 remember easily….thank u :-)

21 devati December 19, 2010 at 2:41 pm

Very good article. Thanks a lot. Please explain about parity and level 0+1

22 vivek February 2, 2011 at 1:12 am

Good one,easy to understand

23 Roshan Munavar February 3, 2011 at 1:03 am

SRM

hai cool info from ur site but give some explain abt parity bit
why & what it is
keep updating ur work it’s very helpful for us

Thanking You…

24 mohamadreza February 4, 2011 at 12:32 am

thanks to Ramesh Natarajan

for it’s tutorial , First , ask your mainboard support center for RAID enabled in your mother board or not?

then in your Mainboard User Manual , there is a Step by Step tutorial(If support) For Creating RAID(for Ex X58 intel Chipset , can handle RAID 0 , 1 , 10 , 5)

25 Fernando Martins February 28, 2011 at 3:59 am

I picture is worth a thousand words – no doubt about it.

Nice article, thank you for that.

26 Prashant Bhangare March 3, 2011 at 5:09 am

Thanx……..

27 phesant_sk March 30, 2011 at 2:49 am

Clear, thanks!

28 Netsecurity April 12, 2011 at 4:46 pm

Actually Raid 6+1 is the best as it is set up with striping, distributed parity like Raid 5, and mirrored. Raid 6 allows for 2 HDs to fail at the same time in each mirror and still is recoverable.

From Wikipedia: “According to the Storage Networking Industry Association (SNIA), the definition of RAID 6 is: “Any form of RAID that can continue to execute read and write requests to all of a RAID array’s virtual disks in the presence of any two concurrent disk failures. Several methods, including dual check data computations (parity and Reed-Solomon), orthogonal dual parity check data and diagonal parity, have been used to implement RAID Level 6.”[14]”

Raid 6+1 adds mirroring which is good for extreme reliability.

29 Reddy April 16, 2011 at 6:04 am

Good post. Very Nice ………..

30 Ram April 24, 2011 at 8:00 pm

Very Good Article. It was very helpful for me to understand my server setup though i am more into application areas. One of my disk is failing on Raid 5 and now I know that I need to just replace that disk and not go through the entire install from scratch.

31 Sandeep May 3, 2011 at 11:08 am

Nice Explanation!
Please explain the usage also as in which raid level should be used and when it should be used.

32 prasanna kumar May 26, 2011 at 2:48 am

Nice explanation

33 suresh May 31, 2011 at 1:34 am

hi ramesh,
your data is very helpful for beginners…… thanks a TON for your data……..
keep up the good work.

Regards,
Suresh Kumar

34 Anonymous June 2, 2011 at 5:49 am

what is diff betw raid1and10

35 utkarsh June 8, 2011 at 3:11 am

I have configured RAID10 in my server, but I am not sure wether it is performing as per the definiation or not. How will I cross check weter it is working well or not.

My second question is , if one of the drive in RAID10 array fails, will still the server able to boot and run the operating system

36 anil June 9, 2011 at 2:18 am

great , but need to some clear definition , such as parity , strriping ..all the terms used.thease should be defined here …

37 Anish Kumar June 12, 2011 at 1:47 am

Nice one & thanks

38 utkarsh June 13, 2011 at 12:14 am

Is there any tool which can inform me in advance about the hard disk failuer in RAID 10 array? This tool should be able to send me a mail or sms

39 robinatw June 21, 2011 at 3:36 am

I have configured RAID10 in my server, but I am not sure wether it is performing as per the definiation or not. How will I cross check weter it is working well or not.
———–>whatever in speed and performance ,RAID10 is the better than other raid but raid 0.In fact , every server’s vendor has utility to monior raid level is or not good..

My second question is , if one of the drive in RAID10 array fails, will still the server able to boot and run the operating system
——————->well, guys, you know, if you setup os on raid 1 or raid10 disk.. when part of disk fails, it can’t affect your os run normally…

40 Gerald June 21, 2011 at 2:51 pm

Your description of RAID10 is incorrect. You have described mirrored stripes which is exactly what RAID10 is NOT

The definition of RAID10 means striped mirrors and was brought into use to solve the issue of the confusion between RAID0+1 and RAID1+0 which have both been used to describe Striped Mirrors. See this wiki article.

41 Eric Hazlewood July 15, 2011 at 12:11 pm

I have 4 150 gb western digital velociraptors 10000 rpm hard drives I am using raid 10 under the suggestion of a friend of mine Windows 7 sees this as a 300gb hard drive is this correct
i was under the assumption it would see it as a 600gb hard drive as raid 10 is stripped pluis mirrored.

42 Gerald July 15, 2011 at 3:12 pm

The RAID10 explanation is still incorrect

43 Gerald July 15, 2011 at 3:19 pm

@eric
so two of the disks are mirrored, that gives you 150GB useable and so are the other two disk (another 150GB) then the two mirrors are striped. ie 150GB + 150GB ie 300GB

If you striped the lot, 4*150GB would equal 600GB but where is the redundancy? lose one disk, lose all your data!

44 Gerald July 15, 2011 at 3:28 pm

@robinatw
RAID-0 is only for files and data that you can reconstruct as losing a disk in a RAID-0 array means you have lost all of the data.

RAID10 is the most redundant and the best performing array, but its also the worst utilisation (only 50%).

And yes if one drive fails then the array will still be valid and the system will still boot and run. In fact it can sustain a disk failure in each of the mirrors and still survive.

45 maximus July 21, 2011 at 10:32 pm

Do we have to use exactly the same type/model of hdd in raid5?

Can we use 2 seagate barracuda LP 2TB and 2 seagate barracuda green 2TB to form a raid5?

Kindly advise. Thanks.

46 Ashit Kumar Das July 24, 2011 at 7:09 am

Good concepts sharing …
thanks to all…

47 Umesh Nigam July 25, 2011 at 7:33 am

Nice one it is easy to understand RAID basic funda
Thanks very much

48 sure August 9, 2011 at 2:30 am

easy to understand and many thanks

49 Gerald August 9, 2011 at 1:31 pm

@maximus, yes its likely that your RAID controller will let you do that although its not normally a good idea to mix drives with different attributes.

50 Gerald August 9, 2011 at 1:36 pm

Still worried that Ramesh hasn’t fixed his definition for RAID10 yet

51 rahul August 26, 2011 at 7:48 am

Thank you so much.Gr8 job.

52 touristguy87 August 26, 2011 at 9:21 am

your raid 10 diagram is backwards.
the first number indicates the first stage operation, the 2nd the 2nd-stage operation.
ie raid1 in raid0

so a raid10 is a raid0 array of raid1 arrays, where raid0 is striping and raid1 is mirroring.
Your diagram is obviously wrong, knowing that basic fact.
It should go
aa:bb
cc:dd
etc

what you have is
ab:ab
cd:cd

which is obviously a mirrored pair of striped disks, which would be raid01

Unless, you know, Wiki is just wrong:
http://en.wikipedia.org/wiki/Nested_RAID_levels#RAID_1_.2B_0

but you raise a good point:
on the Internet, you can expect a fair number of people to have it wrong.

53 Anonymous September 13, 2011 at 1:02 am

nice, easy to understand

54 joe fido September 20, 2011 at 1:26 pm

Another good reason for a RAID configuration is speed. Especially in a gaming environment. Having the extra paths for data read and write on two (2) separate discs, speeds things up considerably with HDD’s. Add SDD’s and it’s a whole ‘nother story!

55 Gerald September 21, 2011 at 11:43 am

@joe fido, You are obviously only talking about RAID-1 (aka mirroring)
NB not all RAID controllers read from both disks – they read and write from one primary disk and just copy on write to the other – the second disk only gets used if the primary fails.

56 Trevor September 28, 2011 at 1:46 pm

I like the explanation of the raids and the diagrams. Makes it easier to understand.

However Raid 10 can be done one of two ways. 0+1 which is what you have shown in your diagram, and 1+0 which is two sets of mirrors, striped.

57 Gerald September 28, 2011 at 2:25 pm

@Trevor, well no, RAID10 only has one defintion, it is striped mirrors. (ie mirrors that are striped)

The term RAID10 has been created to remove the confusion between RAID 0+1 and RAID 1+0 both of which have ambiguosly been used to describe striped mirrors.

58 David October 2, 2011 at 7:48 am

Thanks,
Simple and effective

59 Larry October 3, 2011 at 11:19 am

This is a great graphic, thanks.

But if it’s correct then RAID 10 is basically RAID 0 mirrored, or RAID 1. Stripe and Mirror is basically mirror, from a DR or redundancy perspective. There’s no parity. You can lose drives 1 and 2, 1 & 4, or 2 & 3, but if you lose both 1 & 3 or 2 & 4 you’re restoring from backups because the excrement is in the HVAC.

60 Gerald October 3, 2011 at 3:04 pm

But its not correct!

RAID10 is defined as mirror sets (RAID-1) that are striped (RAID-0) i.e. you create mirror sets for redundancy then you stripe for capacity and performance.

If you lose 1 disk in RAID10 your data is still safe (but at risk).
If you lose 1 disk in a mirrored stripe config you have lost all of your data

61 Ramesh Natarajan October 4, 2011 at 10:19 pm

@Gerald,

Thanks for pointing out the issue with RAID 10. It is fixed now.

62 shree October 10, 2011 at 10:20 am

good……

63 Govind October 12, 2011 at 7:09 am

Very useful thanks for good material

64 Venkat October 18, 2011 at 9:10 am

It this useful for easy understanding about RAID

65 pandia rajan October 20, 2011 at 12:53 am

Hai this one is good to clear about RAID

Thank you

66 1wd November 10, 2011 at 12:10 am

Is there RAID 15(1+5) ?

67 Muujig November 10, 2011 at 1:20 pm

Can RAID read from 6 different HDDs or SSDs? If it can, what RAID will it be? RAID 1*6?

68 Gerald November 10, 2011 at 2:40 pm

@1wd its not a usual configuration, but some controllers implement RAID50 (Striped RAID-5 sets)

@Muujig Most RAID controllers will generally allow large numbers of disks to be configured in RAID-0, RAID-1, RAID-5 and RAID-6 sets although its is generally accepted that more than 10 disks in RAID-5/RAID-6 RAIDsets are not a good idea due to the overhead involved if a disks fails (ie having to read from all the other disks in the RAIDset to do the XOR)
6 disks could be in:
- RAID-0 – Straight stripe, no redundancy. [Capacity 6*Disks]
- RAID-5 – 1) 5 Data, 1 Parity. [Capacity 5*Disks]
or
2) 4 Data, 1 Parity + Hot Spare [Capacity 4* Disks] (RAID-6 probably a better option)
- RAID-6 – 4 Data, 2 Parity [Capacity 4*Disks]
- RAID10 – a Stripe (RAID-0) of 3*Mirrors (RAID-1) Capacity [3*Disks]
+ plus sundry other esoteric RAID configurations.

For modern high capacity disks, RAID-6 or RAID10 are recommended.

69 Kjell Roar Bjørnsen November 15, 2011 at 3:34 pm

I have a PC with ASUS P5Q PRO motherboard and use Win7 64 and two HDD each of 1,5TB set up in a RAID1 (mirroring). Do you know if it’s possible to move to a RAID 10, without reinstalling the PC, of course after installing two extra HDD of 1,5TB

70 Gerald November 16, 2011 at 1:00 am

@Kjell – whatever you decide to do make sure you do a full BACKUP first!

71 Rakesh Sharma November 16, 2011 at 8:21 am

Very gud presentation and explain for Biggner

72 Anonymous November 24, 2011 at 12:45 am

Very useful thanks

73 saudan singh November 30, 2011 at 2:31 am

Good concept mirroring and data sharing.But clear define the striping.and define the
very good diagram.

74 Glen d'souza December 12, 2011 at 12:38 am

so is anybody are having the idea about snap mirror and snapshot technology.if so pls share it.

75 Glen December 18, 2011 at 4:27 am

which tool we can use for snapshot technology
pls suggest me

76 Gerald December 19, 2011 at 12:58 am
77 Glen December 22, 2011 at 9:01 am

thanx Gerald,
i have a another question for you….
how to check the PC is enabled with the VT technology….

78 Ramesh Natarajan December 22, 2011 at 4:20 pm

@Glen,

If you are using DELL machine, you can view/enable VT option from the BIOS.

79 Waqar Maqsood January 6, 2012 at 12:38 am

Very Informative and Interestingly Understandable

80 Glen January 15, 2012 at 10:28 am

thankx @Ramesh

81 Ritchie January 24, 2012 at 2:19 pm

Really nice information pal. I think you concentrated only with the main RAID types. But its good. Its much better than telling everything and make the article to look dry.

Good Job. Keep up this good work

Leave a Comment

Previous post:

Next post: