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).
Additional RAID Tutorials:
If you enjoyed this article, you might also like..
|
|
|
|











My name is Ramesh Natarajan. I will be posting instruction guides, how-to, troubleshooting tips and tricks on Linux, database, hardware, security and web. My focus is to write articles that will either teach you or help you resolve a problem. Read more about
{ 100 comments… read them below or add one }
nice… very handy
Good post. Thank you
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.
Would be still better if a few lines was there about what is parity/ what is striped…
can u please elobrate what is parity , strriping ..all the terms used..please.
Nice One!! Can you elaborate things to understand what is what..
nice article…as anurag said can you elaborate parity..stripping and other terms which seems little bit confusing….
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.
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.
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!!!
Thanks for the article. Now can you show us how to configure RAID 10? I have not found a decent tutorial on that yet.
Thanks for the valuable tips and can you describe how to configure RAID-10 briefly.
Thanks in advance .
Thanks, but can you please elaborate the parity and strip in non technical terms so it
will be more precious than mugging up.
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!!!!!
Thanks for Sharing
Nice post!
@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.
nice explanation, easy to understand and useful to utilize
Good One
Dude
Very Easy To Understad
Thank$
good points 2 remember easily….thank u
Very good article. Thanks a lot. Please explain about parity and level 0+1
Good one,easy to understand
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…
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)
I picture is worth a thousand words – no doubt about it.
Nice article, thank you for that.
Thanx……..
Clear, thanks!
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.
Good post. Very Nice ………..
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.
Nice Explanation!
Please explain the usage also as in which raid level should be used and when it should be used.
Nice explanation
hi ramesh,
your data is very helpful for beginners…… thanks a TON for your data……..
keep up the good work.
Regards,
Suresh Kumar
what is diff betw raid1and10
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
great , but need to some clear definition , such as parity , strriping ..all the terms used.thease should be defined here …
Nice one & thanks
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
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…
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.
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.
The RAID10 explanation is still incorrect
@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!
@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.
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.
Good concepts sharing …
thanks to all…
Nice one it is easy to understand RAID basic funda
Thanks very much
easy to understand and many thanks
@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.
Still worried that Ramesh hasn’t fixed his definition for RAID10 yet
Thank you so much.Gr8 job.
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.
nice, easy to understand
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!
@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.
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.
@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.
Thanks,
Simple and effective
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.
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
@Gerald,
Thanks for pointing out the issue with RAID 10. It is fixed now.
good……
Very useful thanks for good material
It this useful for easy understanding about RAID
Hai this one is good to clear about RAID
Thank you
Is there RAID 15(1+5) ?
Can RAID read from 6 different HDDs or SSDs? If it can, what RAID will it be? RAID 1*6?
@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.
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
@Kjell – whatever you decide to do make sure you do a full BACKUP first!
Very gud presentation and explain for Biggner
Very useful thanks
Good concept mirroring and data sharing.But clear define the striping.and define the
very good diagram.
so is anybody are having the idea about snap mirror and snapshot technology.if so pls share it.
which tool we can use for snapshot technology
pls suggest me
Glen,
have a look here http://en.wikipedia.org/wiki/Snapshot_(computer_storage)
thanx Gerald,
i have a another question for you….
how to check the PC is enabled with the VT technology….
@Glen,
If you are using DELL machine, you can view/enable VT option from the BIOS.
Very Informative and Interestingly Understandable
thankx @Ramesh
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
plz explian what is parity and striped
Look here for Striping http://en.wikipedia.org/wiki/Data_striping
And here for parity http://en.wikipedia.org/wiki/Parity_bit
i want more explanation on raids especially raid 10 and raid o1
in both of these raid levels concept is same i.e
striping performance of raid 0 and full redundancy concept raid 1
so why raid 10 giving more performance than raid 01
There isnt a RAID-01 defintion. There is a RAID-1.
We used to use RAID-0+1 and RAID-1+0 but as these terms are ambiguous because different manufacturers used both of them to mean striped-mirrors we have started to use RAID10 which has a standard definition of striped-mirrors, to remove this ambiguity.
Why does RAID10 perform better than RAID-1?
1) It gives better capacity
2) IT gives the IOPS benefit of a stripe (RAID-1 only the IOPS of 1 spindle say approx 80-150 depending on the disk technology)
You say ; “RAID stands for Redundant Array of Inexpensive Disks”
You are wrong. This is an old and out-of-date definition.
Since the floods at the HardDisk manufacturers, it now stands for
Reallyexpensive Array of Incrediblyexpensive Disks ( ! )
Thanks for this article Ramesh !
Ady
Nice document which expains to the point and is used these concepts in the real sceanario, it also help us to explain to the customer the advantages of one raid level to another. Thank you for uploading the nice document.
very nice explanation…………
thank you
Thank u very much for short and simple explanation.
Thank you for this great explaination – especially the pictures helped me a lot to understand the difference between RAID 0, 1, 5 and 10.
i learn about raid levels very well with ur diagrammatic representation but some matter missing about stripping,mirroring
@hari, you are joking right? The A, B, C etc don’t give you a clue? and the fact that on RAID-1 it has A on both sides? and it says mirrored in the diagram description!
I really appreciate this site. Really simplifies the differences to help them be more digestible and make sense. Thank you for putting it together.
Thanks a lot for this quick overview!
good post . .
but try to elaborate it more . .
I really appreciate this site. Really simplifies the differences to help them be more digestible and make sense. Thank you for putting it together.
good
I know this may be a simple question however, can I set up the raid level 1 across IDE and SATA ? Just wanting to migrate to SATA and provide some redundancy to this server.
Thanks fore your time.
In computers that use multiple hard disk systems, disk striping is the process of dividing a body of data into blocks and spreading the data blocks across several partitions on several hard disks. Each stripe is the size of the smallest partition. For example, if three partitions are selected with one partition equaling 150megabytes, another 100MB, and the third 50MB, each stripe will be 50 MB in size. It is wise to create the partitions equal in size to prevent wasting disk space. Each stripe created is part of the stripe set. Disk striping is used with redundant array of independent disks (RAID). RAID is a storage system that uses multiple disks to store and distribute data. Up to 32 hard disks can be used with disk striping.
There are two types of disk striping: single user and multi-user. Single user disk striping allows multiple hard disks to simultaneously service multiple I/O requests from a single workstation. Multi-user disk striping allows multiple I/O requests from several workstations to be sent to multiple hard disks. This means that while one hard disk is servicing a request from a workstation, another hard disk is handling a separate request from a different workstation.
Disk striping is used with or without parity. When disk striping is used with parity, an additional stripe that contains the parity information is stored on its own partition and hard disk. If a hard disk fails, a fault tolerance driver makes the lost partition invisible allowing reading and writing operations to continue which provides time to create a new stripe set. Once a hard disk fails, the stripe set is no longer fault tolerant, which means that if one or more hard disks fail after the first one, the stripe set is lost. Disk striping without parity provides no fault tolerance. The disk striping process is used in conjunction with software that lets the user know when a disk has failed. This software also allows the user to define the size of the stripes, the color assigned to the stripe set for recognition and diagnosing, and whether parity was used or not.