OpenStack / Cloud / Virtualizaton / Linux

Raid Levels Explained and Simplified

As a Systems Administrator, I deal with Raid 1(mirroring) pretty much exclusively. Hell, nowadays when building a server the server automatically mirrors your Operating System disks for you, which means that you do not even need to understand what is happening behind the scenes. You just pop your two drives in your server and go. However the world of the San Administrator is much more complicated.

First off its important to know that RAID stands for either “Redundant Array of Independent Disks”, or less commonly “Redundant Array of Inexpensive Disks”. Either way you slice it (pun intended) the basic idea of RAID is to combine multiple hard disks to either increase performance or increase redundancy.

Before I get started its important to introduce the term LUN. A LUN is a logical disk that consists of raw physical
disk space. LUNs are created as a basic part of the storage provisioning process. They are presented across a SAN to a server as a single physical disk.

Note that the title of this article is “Raid Levels Explained and Simplified“, and when I say simplified I mean it. I am going to give a brief overview of most of the common RAID levels and then present a weakness and strength. Scroll down to the bottom of the article for links to more in depth articles and web pages.

RAID 0: Striped…No Fault Tolerance

OK, in my opinion, and in the opinion of many other, RAID 0 is not even RAID, because there is no redundancy. If a disk fails, you are toast. Basically your take a slice of two disk or more disks and create a LUN. For example lets say that you as the Sysadmin request 1 80GB disk from your local SAN Admin. In the scenario below your SAN guru would carve 8 10GB blocks and present them in order (block 1,2,3,4,5,6,7,8) to you as a single LUN. RAID 0 provides good read and write performance. In the end RAID 0 is striping which is the most important thing that you probably need to know about it.

RAID1: Mirroring

RAID one is mirroring, pure and simple. Its not all that fast because all writes need to be duplicated to both disks in the mirror. Best thing about RAID 1 is redundancy. Most often used for mirroring OS hard disks. You can loose any 1 disk in your mirror without issue.

RAID 2: Obsolete

RAID 2 is no longer used. What’s important to know about it is that it does not use any of the standard RAID methods of mirroring, striping, or parity. Go here if you want to know more.

RAID 3: Welcome to Parity

A RAID 3 LUN is stripped with dedicated parity for data redundancy. Imagine RAID 0 with an additional parity disk. Raid 3 requires a minimum of 3 disks, and can tolerate the loss of one disk in the RAID set, and you are going to take a performance hit when you loose that disk. RAID 3 is faster when reading then when writing (because of the additional parity disk). Raid 3 is byte level striping.

RAID 4: Block Level/Shared Parity

Many people confuse RAID 4 with RAID 3. RAID 4 uses block level striping with a dedicated parity disk. RAID 4 reads fast, but writes pretty slowly in comparison. Also a disk rebuild after a disk failure is a very inefficient process.

RAID 5: Distributed Parity

RAID 5 uses, like RAID 4, used block-level striping. However parity data is distributed across all member disks, meaning that there is a specific disk that is assigned as the keeper of parity data. RAID 5 is popular because of its low cost of redundancy and its read transfer rate. Like RAID 4, a disk rebuild after a disk failure is a very inefficient process.

RAID 6: Even More Parity

RAID 6 is striped disks with two parity disks. RAID 6 protects you against the loss of any two disks. RAID 5 is perfect for mission critical data, however it does have a higher cost of ownership due to the two parity disks.

RAID 10 (or 1+0): Reliable, High Performing Mirrored Stripes

RAID 10 is a mirrored stripe. At its most simple, two disks are mirrored and then those two mirrors are striped together into one LUN, which is then presented out to a server. Due to the number of disks used, RAID 10 is a moderately high cost solution, however it does offer decent I/O rates.

RAID 01 (or 0+1): High Performing Striped Mirrors

RAID 01 is a striped mirror. In its simplest form, two sets of two disks are striped, then then are mirrored. RAID 01 is an yields high performance but not maximum reliability.

RAID 50: High I/O From Striped Raid 5s

With RAID 50, you basically take two RAID 5 sets and stripe them together into one LUN. RAID 50 is more fault tollerant than RAID 5, and it out performs RAID 5 as well. However its rather expensive to implement.