RAID is Expands as Redundant Arrays of Inexpensive Disk. It is also Termed as Redundant Arrays of Independent Disk.
RAID Basically Deals with our System Hard Disk.
RAID offers many advantages over the use of single hard disks, but it is clearly not for everyone. The potential for increased capacity, performance and reliability are attractive, but they come with real costs. Nothing in life is free. In this section I take an overview look at RAID, to help explain its benefits, costs, trade offs and limitations. This should give you a better idea if RAID is for you, and help you to understand what RAID can do.
In this section I will start "at the beginning", describing the key concepts that define the fundamental characteristics of RAID. These are the concepts that describe how RAID works, how arrays are set up, and how different RAID levels work to improve reliability and performance. Understanding these concepts provides the foundation for our subsequent discussions of performance issues,reliability concerns, and the various RAID levels.
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.
RAID Level 0:Data Striping
Storing program image libraries or runtime libraries for rapid loading, these libraries are normally read only. Storing large tables or other structures of read only data for rapid application access. Like program images, these data can be backed up on highly reliable media, from which they can recreated in the event of a failure. Collecting data from external sources at very high data transfer rate.
No protection is provided against data loss due to member disk failures. A RAID level 0 array by itself is thus an unsuitable storage medium for data that can not easily be reproduced, or for data that must be available for critical system operation. It is more suitable for data that can be reproduced or is replicated on other media.
RAID Level 1:Data Mirroring RAID level 1 provides both very high data reliability and continued data availability in the event of a failure of an array member. When a RAID level 1 member disk fails, array management software simply directs all application requests to the surviving member.
RAID 1 is usually implemented as mirroring, a drive has its data duplicated on two different drives using either a hardware RAID controller or software (generally via the operating system). If either drive fails, the other continues to function as a single drive until the failed drive is replaced. Conceptually simple, RAID 1 is popular for those who require fault tolerance and don't need top-notch read performance. A variant of RAID 1 is duplexing, which duplicates the controller card as well as the drive, providing tolerance against failures of either a drive or a controller. It is much less commonly seen than straight mirroring.
RAID Level 2:Bit-level striping with Hamming code ECC
Level 2 is the "black sheep" of the RAID family, because it is the only RAID level that does not use one or more of the "standard" techniques of mirroring, striping and/or parity. RAID 2 uses something similar to striping with parity, but not the same as what is used by RAID levels 3 to 7. It is implemented by splitting data at the bit level and spreading it over a number of data disks and a number of redundancy disks. The redundant bits are calculated using Hamming codes, a form of error correcting code (ECC). Each time something is to be written to the array these codes are calculated and written along side the data to dedicated ECC disks, when the data is read back these ECC codes are read as well to confirm that no errors have occurred since the data was written. If a single-bit error occurs, it can be corrected "on the fly". If this sounds similar to the way that ECC is used within hard disks today, that's for a good reason: it's pretty much exactly the same. It's also the same concept used for ECC protection of system memory.
RAID Level 3:Byte-level striping with dedicated parity
Under RAID 3, data is striped across multiple disks at a byte level, the exact number of bytes sent in each stripe varies but is typically under 1024. The parity information is sent to a dedicated parity disk, but the failure of any disk in the array can be tolerated (i.e., the dedicated parity disk doesn't represent a single point of failure in the array.) The dedicated parity disk does generally serve as a performance bottleneck, especially for random writes, because it must be accessed any time anything is sent to the array, this is contrasted to distributed-parity levels such as RAID 5 which improve write performance by using distributed parity (though they still suffer from large overheads on writes, as described here).RAID 3 differs from RAID 4 only in the size of the stripes sent to the various disks.
RAID Level 4:Block-level striping with dedicated parity
RAID 4 improves performance by striping data across many disks in blocks, and provides fault tolerance through a dedicated parity disk. This makes it in some ways the "middle sibling" in a family of close relatives, RAID levels 3, 4 and 5. It is like RAID 3 except that it uses blocks instead of bytes for striping, and like RAID 5 except that it uses dedicated parity instead of distributed parity. Going from byte to block striping improves random access performance compared to RAID 3, but the dedicated parity disk remains a bottleneck, especially for random write performance. Fault tolerance, format efficiency and many other attributes are the same as for RAID 3 and RAID 5.
RAID Level 5:Independent access array with rotating parity
One of the most popular RAID levels, RAID 5 stripes both data and parity information across three or more drives. It is similar to RAID 4 except that it exchanges the dedicated parity drive for a distributed parity algorithm, writing data and parity blocks across all the drives in the array. This removes the "bottleneck" that the dedicated parity drive represents, improving write performance slightly and allowing somewhat better parallelism in a multiple-transaction environment, though the overhead necessary in dealing with the parity continues to bog down writes. Fault tolerance is maintained by ensuring that the parity information for any given block of data is placed on a drive separate from those used to store the data itself. The performance of a RAID 5 array can be "adjusted" by trying different stripe sizes until one is found that is well-matched to the application being used.
The data can be recalculated or regenerated, using parity, when any drive in the array fails. When the failed drive is replaced, either automatically if the subsystem contained a hot spare drive, or by user intervention during a scheduled maintenance period, the system will be restored its full data redundancy configuration by rebuilding all of the data that had been stored on the failed drive onto the new drive. This is accomplished using parity information and data from the other data disks. Once the rebuild process is complete, all data is again protected from loss due to any failure of a single disk drive.
RAID Level 6:Block-level striping with dual distributed parity
RAID 6 can be thought of as "RAID 5, but more". It stripes blocks of data and parity across an array of drives like RAID 5, except that it calculates two sets of parity information for each parcel of data. The goal of this duplication is solely to improve fault tolerance; RAID 6 can handle the failure of any two drives in the array while other single RAID levels can handle at most one fault. Performance-wise, RAID 6 is generally slightly worse than RAID 5 in terms of writes due to the added overhead of more parity calculations, but may be slightly faster in random reads due to spreading of data over one more disk. As with RAID levels 4 and 5, performance can be adjusted by experimenting with different stripe sizes.
In theory, RAID 6 is ideally suited to the same sorts of applications as RAID 5, but in situations where additional fault tolerance is required.
RAID Level:Nested Level RAIDS
RAID 0+1(01): We stripe together drives 1, 2, 3, 4 and 5 into RAID 0 stripe set "A", and drives 6, 7, 8, 9 and 10 into RAID 0 stripe set "B". We then mirror A and B using RAID 1. If one drive fails, say drive #2, then the entire stripe set "A" is lost, because RAID 0 has no redundancy; the RAID 0+1 array continues to chug along because the entire stripe set "B" is still functioning. However, at this point you are reduced to running what is in essence a straight RAID 0 array until drive #2 can be fixed. If in the meantime drive #9 goes down, you lose the entire array.
RAID 1+0(10): We mirror drives 1 and 2 to form RAID 1 mirror set "A"; 3 and 4 become "B"; 5 and 6 become "C"; 7 and 8 become "D"; and 9 and 10 become "E". We then do a RAID 0 stripe across sets A through E. If drive #2 fails now, only mirror set "A" is affected; it still has drive #1 so it is fine, and the RAID 1+0 array continues functioning. If while drive #2 is being replaced drive #9 fails, the array is fine, because drive #9 is in a different mirror pair from #2. Only two failures in the same mirror set will cause the array to fail, so in theory, five drives can fail.
We also having a Nested RAID levels like 3+0,0+3,0+5,5+0,1+5,5+1 etc.,
So far you have seen the Use and Performance of RAID..
There are some issues in RAID concepts,
RAID was originally developed as a way of protecting data by providing fault tolerance; that's the reason for the "R" at the front of the acronym. Today, while matters of reliability, availability and fault tolerance continue to be essential to many of those who use RAID, performance issues are being given about as much attention. There are in fact whole classes of implementers who build RAID arrays solely for performance considerations, with no redundancy or data protection at all. Even those who do employ redundancy obviously care about getting the most from their array hardware.
Mirroring: Read performance under mirroring is far superior to write performance. Let's suppose you are mirroring two drives under RAID 1. Every piece of data is duplicated, stored on both drives. This means that every byte of data stored must be written to both drives, making write performance under RAID 1 actually a bit slower than just using a single disk, even if it were as fast as a single disk, both drives are tied up during the write. But when you go to read back the data? There's absolutely no reason to access both drives; the controller, if intelligently programmed, will only ask one of the drives for the data.
Striping Without Parity: A RAID 0 array has about equal read and write performance (or more accurately, roughly the same ratio of read to write performance that a single hard disk would have.) The reason is that the "chopping up" of the data without parity calculation means you must access the same number of drives for reads as you do for writes.
Striping With Parity: As with mirroring, write performance when striping with parity (RAID levels 3 through 6) is worse than read performance, but unlike mirroring, the "hit" taken on a write when doing striping with parity is much more significant.
and Many More...
Fault Tolerence
When most people talk about the "enhanced reliability of RAID", what they really are referring to is the fault tolerance of most RAID implementations. Reliability and fault tolerance are not the same thing at all, as described in the discussion of RAID array reliability. Fault tolerance refers to the ability of a RAID array to withstand the loss of some of its hardware without the loss of data or availability. When a fault occurs, the array enters a degraded state and the failed drive must be replaced and rebuilt.
The capability of an array to tolerate hard disk faults depends entirely on the RAID level implemented. RAID 0, which has no redundant information, has no fault tolerance for that reason; if any drive fails the array goes down. RAID levels 1, 2, 3, 4, 5 and 7 can tolerate the loss of one hard disk; RAID 6 can tolerate the loss of two. The multiple RAID levels can often tolerate the loss of multiple hard disks depending on which ones they are and how the array is configured. For example, if you have a RAID 10 array consisting of two pairs of mirrored drives striped together, the array can tolerate the simultaneous loss of two of the four drives, as long as they are not in the same pair.
Ultimately, fault tolerance of a RAID-equipped PC depends not only on the reliability of the drives, but also the other hardware in the system . For example, most RAID implementations are dependent upon the RAID controller not failing; if it goes down then your data is probably fine, but availability is not(this is one reason why duplexing is sometimes used, since it can tolerate the loss of a drive and a controller). Since items such as power supplies have a high failure rate and ultimately can bring down any array, fault tolerance in a PC equipped with RAID is also often used to describe features implemented on the system as a whole to prevent faults in this support equipment.
This article contain the Basics of the RAID and importance of using this concept. Follow this link for the Pictorial Representation of the RAID concepts,
http://www.commodore.ca/windows/raid5/raid5.htm
Attachments

For more details, visit http://www.kcservices.com.au/raid_concepts.htm
|