[SunRescue] Info on Sun Multipack and disk arrays in general (long)

Paul Theodoropoulos rescue at sunhelp.org
Sat Dec 2 11:19:00 CST 2000


>RAID: Redundant Array of Inexpensive Disks (industry changed 
>inexpensive to
>independant a few years ago because it sounds better)
>
>RAID 0: Mirroring. All data from one drive is simultaneously 
>written to
>another drive. 100% redundancy, decrease in write performance, 
>modest
>increase in read performance. The problem with this is that you 
>need to
>double the number of drives for the same capacity. Mirrors can 
>also be made
>hot swappable. This is the most common type of RAID.
>
>RAID 1: Striping. A group of drives is logically combined, and 
>data is
>written across all of the drives simultaneously in stripes or 
>"chunks". This
>radically improves all performance because the system can read 
>"chunks' of
>data from more than one disk at a time (or write). It aslo 
>seriously reduces
>reliability because if any single disk in a stripe set fails all 
>of the data
>can be lost. This also has the effect of creating a single very 
>large
>logical volume to the operating system, which allows you to create
>filesystems far larger than a single disk could support. 
>Technically this
>isnt really RAID becasue it isnt redundant, but it's a part of the
>standards. Also drives in a stripe set are not hot swappable.

you have the above backwards - RAID 0 is striping, RAID 1 is 
mirroring.


>RAID 5: Striping with parity. As I mentioned in RAID one, if a 
>single drive

incomplete - RAID 5 is striping with rotated parity, i.e. the 
parity blocks are distributed across all the drives in the array, 
in order to reduce the read/write bottleneck inherent in the 
additional parity data. 5 was brought into being to address said 
bottleneck that was found in RAID 3 and RAID 4, which each use a 
single dedicated parity disk. more below.

>fails in a stripe set then all of the data can be lost. In order 
>to get
>around this while still providing the benefits of RAID 1, RAID 5 
>provides
>something called parity. In an 8 bit byte it is possible to learn 
>the value
>of a missing bit by comparing the values of all of the present 
>bits, plus
>what is called a parity bit. This uses a mathematica comparison 
>known as a
>'bitwise exclusive or', or 'XOR'. Basically what that means is 
>that if one
>drive fails then the data left on the other drives can be used to
>reconstruct the missing data. This is a pretty good solution for a 
>lot of
>things, but it has some important limitations. It provides between 
>12.5% and
>33% redundancy depending on how many disk there are per RAID 
>group, while
>losing a much smaller amount of useful capacity than RAID 0, and 
>retains
>much of the perfomance of RAID 1 if a good controller is used. The
>limitations are as follows. First, you lose one drives worth of 
>capacity. A
>RAID 5 array must have a minimum of 3 disks, and generally a 
>maximum of 8
>disks. These disks do not have to be the same size, but if they 
>aren't each
>one is treated as if it was the same size as the RAID groups 
>smallest
>member. If you need more space you can configure multiple RAID 
>groups. You
>lose one drives worth of capacity to parity data, because In 
>effect each
>byte becomes longer because of its parity information. Also this 
>XOR
>calculation is resource intensive, so your disk controller has to 
>do a lot
>more work. This is the second most common type of raid.
>
>RAID 0+1: Mirroring of a stripe. In this configuration, a stripe 
>set as
>shown in RAID 1 above is mirrored as in RAID 0 above. This 
>provides 100%
>redundancy for the stripe set, but it only protects agains the 
>failure of a
>drive on one side of a mirror. If a drive on one side and a drive 
>on the
>other side of the mirror both fail, the data is lost. This is 
>unlikely in
>small arrays, but for large arrays the likelihood of a multi disk 
>failure
>increases proportional to the number of disks in the array. This 
>is not an
>official RAID level, but a common industry term for the 
>combination of two
>raid levels.

while RAID 0+1 is not an "official" RAID level, it is a recognized 
basic form of RAID. it's important to note that there are _no_ 
"official" RAID levels, since there is no standards body nor set of 
recognized standards for RAID. RAID is defined by the RAID Advisory 
Board, a trade association.

http://www.raid-advisory.com

>RAID 10: Striping of mirrors. In this configuration all the drives 
>are set
>up in mirrored pairs as in RAID 0. Each pair is then added to a 
>stripe set
>as in RAID 1. This provides all of the performance benefits of 
>RAID 1
>without the reliability penalties. It allows for up to half of the 
>drives in
>the array to fail before data is lost. It also makes hot swapping 
>possible
>because when you remove adrive, it's mirror takes over. The 
>limitations to
>this are that you lose 50% of your raw capacity, and only one 
>drive per
>mirrored pair can fail before you lsoe data. If an entire mirrored 
>pair
>fails you lose your data. This is not an official RAID level, but 
>a common
>industry term for the combination of two raid levels.
>
>RAID 50: Mirroring of a stripe with parity: In this configuration 
>a RAID 5
>parity stripe set is mirrored in a similar fashion to RAID 0+1. 
>THis
>configuration is pretty much pointless since it doesnt provide 
>anything
>extra in the way of redundancy, while wasting more storage than 
>any other
>configuration. This is not an official RAID level, but a common 
>industry
>term for the combination of  several raid levels.
>
>
>RAID 100: Striping with parity of mirrors. In this configuration 
>all drives
>are configured in mirorred pairs. The mirrored pairs are then made 
>into a
>stripe set with parity. This striping does induce the overhead of 
>RAID 5
>into the array, but it allows you to have one complete mirrored 
>pair fail in
>your array , and still be able to recover the data. This provides 
>you with
>better than 100% redundancy with almost all of the performance of 
>a RAID 10
>configuration. This is not yet commonly used, however I expect it 
>to gain
>popularity for mid level enterpise storage systems. This is not an 
>official
>RAID level, but a common industry term for the combination 
>of  several raid
>levels.


Additional RAID levels:

RAID 3 arrays typically run with all drives 'regulated', i.e. 
spindle speeds locked and synchronized, and heads in synch as well, 
since 3 operates on the block level rather than the chunk level. 
RAID 3 is well suited to applications that stream very large 
amounts of data. It sucks for random I/O.

RAID 4 uses dedicated parity as well, but at the chunk level, so 
the disks don't need to be in lockstep. it *tends* to suffer the 
same poor performance for random I/0. However, Network Appliances, 
through the use of a custom filesystem (WAFL), has overcome this 
performance penalty in their application of RAID 4. One could argue 
that RAID 4 may well be the second most common form of RAID, in 
terms of volume of shipments, since NetApps are ubiquitous.

There is an outstanding article describing the various RAID levels 
in the July 2000 issue of Server/Workstation Expert (formerly 
SunExpert) magazine. It's part of a series of articles on storage, 
well worth reading.

regards,
paul



-----------------------------------
Paul Theodoropoulos   paul at atgi.net
Senior Unix Systems Administrator
Advanced Telcom Group, Inc.
Santa Rosa, California
Work: http://www.atgi.net
Play: http://www.anastrophe.com
Downtime is Not an Option




More information about the rescue mailing list