RAID Types

From ben.goodacre.name/tech

Jump to: navigation, search

Taken from http://searchstorage.techtarget.com/expert/KnowledgebaseAnswer/0,289625,sid5_gci1126527,00.html

RAID used to stand for "redundant array of inexpensive disks". Today the term has been updated to "redundant array of independent disks". RAID is a way of grouping individual physical drives together to form one bigger drive called a "RAID set". RAID can make many smaller disks appear as one large disk to a server. The RAID set represents all the smaller physical drives as one logical disk to your server. The logical disk is called a LUN, or "logical unit number". Using RAID has two main advantages. Better performance and higher availability, which means it goes faster and breaks down less often.

Contents

RAID benefits

Performance is increased because the server has more "spindles" to read from or write to when data is accessed from a drive.

Availability is increased because the RAID controller can recreate lost data from parity information. Parity is basically a checksum of the data that was written to the disks, which gets written along with the original data. RAID can be done in software on a host, such as Windows "FTDISK" volumes, or in hardware on the storage controllers. The server accessing the data on a hardware-based RAID set never knows that one of the drives in the RAID set went bad. The controller recreates the data that was lost when the drive went bad, by using the parity information stored on the surviving disks in the RAID set.

There are a number of different ways drives can be grouped together to form RAID sets. The different methods used to group drives are called "RAID types". RAID types are numbered from 0 to 5. The numbers represent the "level" of RAID being used. RAID levels 0, 1 and 5 are the most common. Combinations of RAID types may be used together. For example, you can create 2 RAID-0 sets, and then combine the RAID-0 sets into a RAID-1 set. This will essentially give you the performance benefits of RAID-0, with the availability benefits of RAID-1.

In order to survive multiple drive failures in a "RAID-10" setup, you should create multiple RAID-1 mirrors, and then stripe across the mirrors using RAID-0. As long as multiple drive failures occur in separate mirror sets, the RAID set is still available. If you create 2 RAID-0 stripe sets and mirror those together, losing a single disk within the stripe forces all access to occur from the mirrored stripe set.

The RAID type you should use depends on the type of application you are running on your server. RAID-0 is the fastest. RAID-1 is the most reliable and RAID-5 is a good combination of both.

RAID types

Below is a description of the different types of RAID that most commonly used in SAN storage arrays. Not all storage array vendors support all the various RAID types. Check with your vendor for the type of RAID that is available with their storage.

RAID-0: RAID-0 is called disk "striping". All the data is spread out in chunks across all the disks in the RAID set. RAID-0 has great performance, because you spread out the load of storing data onto more physical drives. There is no parity generated for RAID-0. Therefore there is no overhead to write data to RAID-0 disks. RAID-0 is only good for better performance, and not for high availability, since parity is not generated for RAID-0 disks. RAID-0 requires at least two physical disks.

RAID-1: RAID-1 is called disk mirroring. All the data is written to at least two separate physical disks. The disks are essentially mirror images of each other. If one of the disks fails, the other can be used to retrieve data. Disk mirroring is good for very fast read operations. It's slower when writing to the disks, since the data needs to be written twice. RAID-1 requires at least two physical disks.

RAID 1+0: RAID 1+0, which is also called RAID-10, uses a combination of disk mirroring and disk striping. The data is normally mirrored first and then striped. Mirroring striped sets accomplishes the same task, but is less fault tolerant than striping mirror sets. If you lose a drive in a stripe set, all access to data must be from the other stripe set, because stripe sets have no parity. RAID 0+1 requires a minimum of four physical disks.

RAID-2: RAID-2 is no longer used.

RAID-3: RAID-3 uses something called a "parity disk" to store the parity information generated by the RAID controller on a separate disk from the actual data disks, instead of striping it with the data as in RAID-5. This RAID type is not currently used very often, because it performs poorly when there are a lot of little requests for data, as in a database. This type performs well under applications that just want one long sequential data transfer. Applications like video servers work well with this RAID type. RAID-3 requires a minimum of three physical disks.

RAID-4: RAID-4 is good for sequential data access, but is not used much.

RAID-5: RAID-5 uses disk striping with parity. The data is striped across all the disks in the RAID set, along with the parity information needed to reconstruct the data in case of disk failure. RAID-5 is the most common method used, since it achieves a good balance between performance and availability. RAID-5 requires at least three physical disks.

Adaptive RAID: Adaptive RAID lets the RAID controller figure out how to store the parity on the disks. It will choose between RAID-3 and RAID-5, depending on which RAID set type will perform better with the type of data being written to the disks.

RAID-6: RAID-6 increases reliability by utilizing 2 parity stripes, which allows for 2 disk failures within the RAID set before data is lost. RAID-6 is seen in SATA environments, and solutions that require long data retention periods, such as data archiving, or disk-based backup.

Regarding your question about the benefit of using more disks in a RAID set than the minimum, the answer is you get more available storage and more "actuators" or "spindles" for the OS to use. Most RAID arrays use a maximum of 16 drives within a RAID set due to higher overhead and diminishing returns in performance when exceeding that many drives. Up to 8 seems to be a good rule of thumb for RAID-5 and RAID-10. If you need more space, you can just create another RAID set with the other disks. As another rule of thumb, try to keep different workload data types on separate RAID sets. You can use RAID-10 for best performance everywhere, but most budgets dictate the use of RAID-5 for database data volumes, with RAID-1 or RAID-10 used on database log volumes. (the database volumes can be highly random I/O, and the logs tend to be sequential in nature).

Rebuild times depend on the kind of RAID. If you are using software-based RAID, then more spindles within the group means longer rebuild times. If it's hardware-based RAID, then rebuild times are usually dictated by the size of the drives themselves, since the hardware usually does the sparing in and out of the set. A 146 GB drive takes longer to rebuild than a 73 GB drive.

See Also: http://www.pcguide.com/ref/hdd/perf/raid/levels/single.htm

http://miracleas.com/BAARF/RAID5_versus_RAID10.txt

Exchange 2007 RAID Discussion

Taken from http://www.experts-exchange.com/Storage/Storage_Technology/Q_22545022.html jmulvey123: Exchange 2007 has vastly improved disk performance over Exchange 2003. You need to be careful of advice that is given by people who may only have prior experience with Exchange 2003. That being said, you are still asking a relevant question, as disk performance is crucial to user's perception of the mail service as a whole. Let's start the discussion by talking about user perception

In general, user's perception of the mail service is driven by the response time to opening email messages. Unlike when a user sends an email, a user is typically staring at the screen and waiting after double-clicking a message to read it. In Exchange 2003, disk read transactions were much more common than write transactions. Exchange 2007 can leverage the additional RAM on the server to cache the data and respond to these reads faster. So I hope you're going to put a good amount of RAM in your server (with 500 users, 5-6 GB should give good performance).

Anyway, RAID 1+0 has the best read performance, the best write performance, and the best fault tolerance. RAID 5 would almost certainly work in your environment due to the fact that your users have such large mailboxes, it's likely that the IOPS load of your users per disk is going to be relatively low (generally, users with big mailboxes don't tend to open more mail than users with small mailboxes, so your disks will be less utilized [per gigabyte] than typical Exchange implementations).

But you've also got to consider one very important additional factor that you haven't mentioned: RAID 5 rebuild performance! When one of the disks in your RAID 5 array dies (and it WILL), read performance (the metric that matters most for your users!) is absolutely horrible. And the level (and duration) of horror will be dependent upon the number of disks in your RAID 5 array. In order words, if you DO do RAID 5, I wouldn't create RAID groups of more than 5 disks.

In my mind, the benefits to RAID 1+0 are obvious: Better performance, better redundancy. RAID 5 is a substandard solution that might be necessary if you just don't have the budget for 3 GB mailboxes. But my guess is that if your users are demanding enough to want 3 GB mailboxes, they're going to be unhappy with the unpredictable sacrifices they will eventually have to make when a RAID 5 rebuild takes place.

I would highly recommend that you look at the Exchange 2007 Storage Calculator as well. This tool, available from Microsoft, will tell you exactly what the anticipated IOPS performance of the disk subsystem will be, and then you can determine for yourself what kind of disk array will satisfy the performance requirements.


meyersd: The CX3-20 supports RAID 5, not RAID 6. The CLARiiON has a number of RAID 5 optimisations that, coupled with the CLARiiON's write cache, means that RAID 5 performance is very close to RAID 1/0 performance for most applications. RAID 1/0 will always have the edge in an environment where large numbers small write operations dominate. Generally speaking, however, RAID 5 will out-perform RAID 1/0 on read operations due to greater read bandwidth, and RAID 1/0 will outperform RAID 5 when the array is being heavily hit - which is unlikely in your scenario. This document describes a CX3-20 tested with 8000 users: http://www.emc.com/solutions/microsoft/esrp/pdf/esrp_clariion_cx-20_stor_sol_ms_exch_wp_ldv.pdf

Go with Fibre Channel discs for your Exchange LUNs and save the SATA II discs for archiving or backup to disc. You can typically expect SATAII discs to run at around half the speed of the FC discs depending on the I/O profile. FC discs remain king where the I/O load is random.

jmulvey makes a very important point around rebuild performance - a RAID 1/0 rebuild is around 4 times faster than a RAID 5 rebuild. The difference is that a RAID 1/0 rebuild simply involves remirroring a disc pair whilst RAID 5 rebuild involve reconstruction of data and parity form the existing discs. For me, that is often enough to overcome the objections of the extra cost involved in using RAID 1/0. Having said that, RAID 5 works extremely well on a CLARiiON - and I've seen it running well on a CLARiiON CX700 (the previous generation to your system) in Exchange 2003 environments with up to 4000 users.

See Also

RAID Types - Classifications

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox