RAID introduction.

Udgivet d. 16 Nov. 2001 af: Bo Krüger Hansen


Microsoft recommends to use hardware-based RAID or Windows NT software-based RAID instead of using segments in SQL Server 6.5. So, segments are no longer supported in SQL Server 7.0. In this article, I want to tell you, what you should know about RAID levels to choose appropriate RAID system for your databases.

RAID is an abbreviation of Redundant Array of Inexpensive Disks (sometimes write Redundant Array of Inexpensive Drives). This term was used in a 1988 by David Patterson, Randy Katz and Garth Gibson in their publication about "A Case for Redundant Arrays of Inexpensive Disks".

RAID provides real-time data recovery when a hard drive fails, increasing system uptime and network availability, while protecting against loss of data. Multiple drives working together can also increase system performance in several times.

RAID Levels

There are many different ways to implement a RAID array, using some combination of mirroring, striping, duplexing and parity technologies. Several standardized methods were defined in the 1988 Berkeley research publication that is credited with starting the RAID phenomenon; for some (unfortunate) reason, the researchers decided to call these different techniques levels. This was a poor choice of words in my opinion because the word "level" implies hierarchy or revision, or that the different RAID levels are somehow "built upon each other", when in fact, that is not the case. The word "level" implies to some people that "RAID level N+1" is better somehow than "RAID level N". In fact, this isn't really true--the various levels are independent and different, and no strict hierarchy should be inferred from the specific number attached to a RAID level. A given RAID level that is "better" for one person may be "worse" for another.

The original 1988 paper defined RAID levels 1 through 5; since then, single RAID levels 0 and 6 have been added to the mix, and other extensions such as the proprietary RAID 7 have shown up as well. Beyond these single-level RAID designs, a number of multiple RAID levels have been defined, which use two or more of the single RAID levels in combination to create new array types with new capabilities (and limitations). Most of these different RAID levels are in use today in different systems, a testament to the different needs of various RAID users. Some have largely disappeared from the market as experience over time has shown them to be inferior to other levels without advantages to compensate.

In this section I take a detailed look at RAID levels. I start with a discussion of some of the key technical factors that differentiate RAID levels; these are then used to frame the coverage of the RAID levels themselves. I discuss the eight single-level RAID designs, and take a look at several common multiple-level RAID types as well. Each RAID level is discussed in detail and information is provided about over a dozen of its various characteristics, with general recommendations provided for typical uses of each level. Finally, I show a summary comparison table that contrasts the different levels in terms of their benefits and costs.

Tip: Carefully consider all the factors and variables when comparing different RAID levels; sometimes, things are not what they seem. Pay careful attention to the various performance attributes, to help differentiate levels based on how you are most likely to use the array; sometimes the "common wisdom" about different RAID levels will not apply to your needs.

Warning: As I am noticing increasingly these days in all areas of computing, the RAID levels are sometimes not used consistently by manufacturers. For example, I have encountered a significant RAID controller maker that provides support for what they call "RAID 3"; when you examine the details, however, you find that this RAID level is actually implemented as block striping with dedicated parity, which is RAID 4, not 3. Why they did this, I have no idea. An organization called the RAID Advisory Board or RAB does maintain RAID standards and certifies hardware that meets "official" RAID level definitions, so you can look for their "seals of approval". Even so, it's still best to ask for specific technical details about any RAID system if you aren't certain of what the manufacturer has implemented.

Basic RAID Levels:

Basic RAID Levels include six RAID levels, 0 through 5. Each level offers various mixes of performance, reliability, and cost. Each level uses a different algorithm to implement fault tolerance. Following is a brief description of each basic RAID level.

Level 0

RAID level 0 does not provide fault tolerance. This level is also known as disk striping, because it uses a disk file system called a stripe set. Data is divided into blocks and is spread in a fixed order among all the disks in the array. RAID level 0 improves read and write performance by spreading operations across multiple disks, so that operations can be performed independently.

Level 1

RAID level 1 provides fault tolerance. This level is also known as disk mirroring because it uses a disk file system called a mirror set. Disk mirroring provides a redundant, identical copy of a selected disk. All data written to the primary disk is written to the mirror disk. It also generally improves read performance (but may degrade write performance).

Level 2

RAID level 2 uses error correcting algorithm that employs disk-striping strategy that breaks a file into bytes and spreads it across multiple disks. The error-correction method requires several disks. RAID level 2 is more advanced than Level 0, because it provides fault tolerance, but is not as efficient as other RAID levels and is not generally used.

Level 3

RAID level 3 is similar to RAID level 2, because it uses the same striping method as level 2, but it requires only one disk for parity data. RAID 3 suffers from a write bottleneck, because all parity data is written to a single drive, but provides some read and write performance improvement.

Level 4

RAID level 4 is similar to RAID level 3, because it uses the similar striping method as level 3 and requires only one disk for parity data, but it employs striped data in much larger blocks or segments. RAID level 4 is not as efficient as RAID level 5, because (as in RAID level 3) all parity data is written to a single drive, so RAID level 4 suffers from a write bottleneck and is not generally used.

Level 5

RAID level 5 is known as striping with parity. This is the most popular RAID level. It is similar to level 4 in that it stripes the data in large blocks across all the disks in the array. It differs in that it writes the parity across all the disks. The data redundancy is provided by the parity information. The data and parity information are arranged on the disk array so that the two are always on different disks.

RAID level 5 has better performance than RAID level 1 and provides fault tolerance.

Hybrid RAID Levels:

Some hardware vendors provide hybrid RAID levels combining features of the original RAID levels. Three of the most common hybrid levels are RAID level 10, RAID level 30, and RAID level 50. RAID level 10 is hybrid RAID level that combine mirroring with striping. RAID level 30 and RAID level 50 are hybrid RAID levels that combine parity RAID techniques with data striping.

Level 10

RAID level 10 is known as mirroring with striping. This level uses a striped array of disks, which are then mirrored to another identical set of striped disks. RAID level 10 provides the performance benefits of disk striping (level 0) with the disk redundancy of mirroring (level 1). RAID 10 provides the highest read/write performance of any of the Hybrid RAID levels, but uses twice as many disks.

Level 30

RAID level 30 is formed by striping across a number of RAID level 3 sub-arrays. In general, it provides performance better than RAID 3 due to the addition of RAID 0 striping, but is not as efficient as RAID level 0.

Level 50

RAID level 50 is formed by striping across a number of RAID level 5 sub-arrays. In general, it provides performance better than RAID 5 due to the addition of RAID 0 striping, but is not as efficient as RAID level 0. It also provides better fault tolerance than the single RAID level 5.

Most of the characteristics of RAID level 50 are similar to those of RAID level 30.

Back to RAID main page.

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: YES) in D:\\nimda\stats.php on line 16
Der kunne ikke forbindes