为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 问题1使用RAID有何好处

问题1使用RAID有何好处

2018-04-08 48页 doc 421KB 24阅读

用户头像

is_591137

暂无简介

举报
问题1使用RAID有何好处问题1使用RAID有何好处 RAID (Redundant Arrays of Inexpensive Disks ) RAID 0 Block striped Disk Array without Fault Tolerance RAID 1 Mirroring and Duplicating RAID 2,bit striped disk with ECC RAID 3,byte striped disks with shared parity disk RAID 4:Block striped dis...
问题1使用RAID有何好处
1使用RAID有何好处 RAID (Redundant Arrays of Inexpensive Disks ) RAID 0 Block striped Disk Array without Fault Tolerance RAID 1 Mirroring and Duplicating RAID 2,bit striped disk with ECC RAID 3,byte striped disks with shared parity disk RAID 4:Block striped disks with shared parity disk RAID 5:Block striped disks with distributed parity blocks RAID 6,Block striped disks with two independent distributed parity schemes RAID 7,Optimized Asynchrony for High I/O Rates as well as High Data Transfer Rates 問題1,使用RAID有何好處,RAID為何可增加存取效能,RAID為何具有容錯能力, , Redundancy產生之好處:Fault Tolerance、Improved Availability、Data Security , Multiple:interleaved: access產生之好處:Improved Performance , 將small disk連結成Disk array產生之好處:Increased, Integrated Capacity 問題2,哪些level的RAID是分別屬於Bit-level striping, byte-level striping, block-level striping, , Bit-level striping,level 2, , byte-level striping,level 3, , block-level striping,level 0、4、5、6、7 問題3,使用parity的是哪些level的RAID,使用ECC的是哪些level的RAID, , Level 3、4、5、6、7 , level 2 問題4,哪些level的RAID不具有復原故障磁碟的能力,哪些level的RAID可以復原單一故 障磁碟,哪些level的RAID可以復原兩個故障磁碟, , Level 0 , Level 1、2、3、4、5、 , Level 6、7 問題5,較常用的是哪些level的RAID,level 0、1、5 問題6,何謂disk mirror,屬於哪一level的RAID, , disk mirror,a drive has its data duplicated on two different drives。 , Level 1、7 RAID Benefits , Higher Data Security: Through the use of redundancy, most RAID levels provide protection for the data stored on the array. This means that the data on the array can withstand even the complete failure of one hard disk (or sometimes more) without any data loss, and without requiring any data to be restored from backup. This security feature is a key benefit of RAID and probably the aspect that drives the creation of more RAID arrays than any other. All RAID levels provide some degree of data protection, except RAID level 0. , Fault Tolerance: RAID implementations that include redundancy provide a much more reliable overall storage subsystem than can be achieved by a single disk. This means there is a lower chance of the storage subsystem as a whole failing due to hardware failures. , Improved Availability: Availability refers to access to data. Good RAID systems improve availability both by providing fault tolerance and by providing special features that allow for recovery from hardware faults without disruption , Increased, Integrated Capacity: By turning a number of smaller drives into a larger array, you add their capacity together.. , Improved Performance: RAID systems improve performance by allowing the controller to exploit the capabilities of multiple hard disks to get around performance-limiting mechanical issues that plague individual hard disks.. RAID Costs , Planning and Design: For a decent-sized RAID system, you must allow some resources for planning what type of RAID will be implemented, deciding on array size, choosing hardware, and so on. , Hardware: Hardware costs include hard disks, enclosures, power supplies, power protection and possibly a hardware RAID controller. While "high-end" RAID requires all of the above, "economy" RAID implementations can be done within a regular PC case, using the existing PC power supply and protection, and either an inexpensive hardware controller or no controller. Most people think immediately of the cost of the hard disks in a RAID system when they think about expenses associated with RAID. This is only true to a point, and it depends on what RAID level is being implemented. Remember that if you need "X" amount of space for your files, you're going to have to buy "X" worth of hard disks regardless. RAID only costs extra in this regard to the extent that additional drives must be purchased for redundancy. If you are implementing RAID 0, there is no additional disk drive cost unless you are buying extra-large drives and you don't really need the full capacity of the array. , Software: Most hardware RAID solutions come with all the software you need to operate them. If you are doing software RAID however, you need an operating system such as Windows NT or Windows 2000 that provides this functionality. Of course, you may already be planning to use an operating system with software RAID support anyway... , Setup and Training: Simple RAID systems in individual PCs don't really require training, and are easy to set up. Larger RAID systems can require many hours to set up and configure, and training of IS professionals may be required. , Maintenance: Enterprise-class RAID systems require ongoing maintenance if they are to continue to provide the organization with high availability and performance. RAID Tradeoffs "Fast, cheap, good: choose two" This triangle shows how performance (or capacity), cost and fault tolerance trade off in the RAID world. At each of the corners, one of the attributes is maximized at the expense of the other two. Point "A" represents a balance between the three: not great in any of them, not poor in any either. Points "B", "C" and "D" represent doing well in two of the attributes at the expense of the third: these are the "choose two" points that were mentioned earlier. 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. 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. Mirroring is one of the two data redundancy techniques used in RAID (the other being parity). In a RAID Mirroring system using mirroring, all data in the system is written simultaneously to hard disks instead of one; two thus the "mirror" concept. The principle behind mirroring is that this 100% data redundancy provides full protection against the failure of either of the disks containing the duplicated data. Mirroring setups always require an even number of drives for obvious reasons. The chief advantage of mirroring is that it provides not only complete redundancy of data, but also reasonably fast recovery from a disk failure. Since all the data is on the second drive, it is ready to use if the first one fails. Mirroring also improves some forms of read performance (though it actually hurts write performance.) The chief disadvantage of RAID 1 is expense: that data duplication means half the space in the RAID is "wasted" so you must buy twice the capacity that you want to end up with in the array. Performance is also not as good as some RAID levels. Block diagram of a RAID mirroring configuration. The RAID controller duplicates the same information onto each of two hard disks. Note that the RAID controller is represented as a "logical black box" since its functions can be implemented in software, or several different types of hardware (integrated controller, bus-based add-in card, stand-alone RAID hardware.) Mirroring is used in RAID 1, as well as multiple-level RAID involving RAID 1 (RAID 01 or RAID 10). It is related in concept to duplexing. Very high-end mirroring solutions even include such fancy technologies as remote mirroring, where data is configured in a RAID 1 array with the pairs split between physical locations to protect against physical disaster! You won't typically find support for anything that fancy in a PC RAID card. :^) Duplexing Duplexing is an extension of mirroring that is based on the same principle as that technique. Like in mirroring, all data is duplicated onto two distinct physical hard drives. Duplexing goes one step beyond mirroring, however, in that it also duplicates the hardware that controls the two hard drives (or sets of hard drives). So if you were doing mirroring on two hard disks, they would both be connected to a single host adapter or RAID controller. If you were doing duplexing, one of the drives would be connected to one adapter and the other to a second adapter. Block diagram of a RAID duplexing configuration. Two controllers are used to send the same information to two different hard disks. The controllers are often regular host adapters or disk controllers with the mirroring done by the system. Contrast this diagram with the one for straight mirroring. Duplexing is superior to mirroring in terms of availability because it provides the same protection against drive failure that mirroring does, but also protects against the failure of either of the controllers. It also costs more than mirroring because you are duplicating more hardware. Duplexing is one option when implementing RAID 1 (though most people think of RAID 1 as only being mirroring, and certainly, mirroring is much more commonly implemented than duplexing.) Since hardware RAID is typically set up under the assumption that the RAID controller will handle all the drives in the array, duplexing is not supported as an option in most PC hardware RAID solutions--even fairly high-end ones. Duplexing is more often found in software RAID solutions managed by the operating system, where the operating system is running the RAID implementation at a high level and can easily split the data between the host adapters. (There are hardware RAID duplexing solutions but usually only on very expensive external RAID boxes.) Striping The main performance-limiting issues with disk storage relate to the slow mechanical components that are used for positioning and transferring data. Since a RAID array has many drives in it, an opportunity presents itself to improve performance by using the hardware in all these drives in parallel. For example, if we need to read a large file, instead of pulling it all from a single hard disk, it is much faster to chop it up into pieces, store some of the pieces on each of the drives in an array, and then use all the disks to read back the file when needed. This technique is called , after the pattern that might striping be visible if you could see these "chopped up pieces" on the various drives with a different color used for each file. It is similar in concept to the memory performance-enhancing technique called interleaving. Striping can be done at the byte level, or in blocks. Byte-level striping means that the file is broken into "byte-sized pieces". (See the discussion of RAID level 3 for more on byte-level striping.) Sometimes byte-level striping is done as a sector of 512 bytes. Block-level striping means that each file is split into blocks of a certain size and those are distributed to the various drives. The size of the blocks used is also called the stripe size (or block size, or several other names), and can be selected from a variety of choices when the array is set up; see here for more details. Striping is used in the implementation of most of the basic, single RAID levels. RAID 2 uses bit-level striping with ECC RAID 3 and RAID 7 use byte-level striping with parity; RAID 4, RAID 5 and RAID 6 use block-level striping with parity. RAID 0 uses block-level striping without parity; Block diagram of a RAID striping configuration. One controller splits files into blocks or bytes and distributes them across several hard disks.. Parity Mirroring is a data redundancy technique used by some RAID levels, in particular RAID level 1, to provide data protection on a RAID array. While mirroring has some advantages and is well-suited for certain RAID implementations, it also has some limitations. It has a high overhead cost, because fully 50% of the drives in the array are reserved for duplicate data; and it doesn't improve performance as much as data striping does for many applications. For this reason, a different way of protecting data is provided as an alternate to mirroring. It involves the use of parity information, which is redundancy information calculated from the actual data values. You may have heard the term "parity" before, used in the context of system memory error detection; in fact, the parity used in RAID is very similar in concept to parity RAM. The principle behind parity is simple: take "N" pieces of data, and from them, compute an extra piece of data. Take the "N+1" pieces of data and store them on "N+1" drives. If you lose any one of the "N+1" pieces of data, you can recreate it from the "N" that remain, regardless of which piece is lost. Parity protection is used with striping, and the "N" pieces of data are typically the blocks or bytes distributed across the drives in the array. The parity information can either be stored on a separate, dedicated drive, or be mixed with the data across all the drives in the array. The parity calculation is typically performed using a logical operation called "exclusive OR" or "XOR". As you may know, the "OR" logical operator is "true" (1) if either of its operands is true, and false (0) if neither is true. The exclusive OR operator is "true" if and only if one of its operands is true; it differs from "OR" in that if both operands are true, "XOR" is false. This truth table for the two operators will illustrate: Input Output #1 #2 "OR" "XOR" 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 0 Uh huh. So what, right? Well, the interesting thing about "XOR" is that it is a logical operation that if performed twice in a row, "undoes itself". If you calculate "A XOR B" and then take that result and do another "XOR B" on it, you get back A, the value you started with. That is to say, "A XOR B XOR B = A". This property is exploited for parity calculation under RAID. If we have four data elements, D1, D2, D3 and D4, we can calculate the parity data, "DP" as "D1 XOR D2 XOR D3 XOR D4". Then, if we know any four of D1, D2, D3, D4 and DP, we can XOR those four together and it will yield the missing element. Let's take an example to show how this works; you can do this yourself easily on a sheet of paper. Suppose we have the following four bytes of data: D1=10100101, D2=11110000, D3=00111100, and D4=10111001. We can "XOR" them together as follows, one step at a time: D1 XOR D2 XOR D3 XOR D4 = ( (D1 XOR D2) XOR D3) XOR D4 = ( (10100101 XOR 11110000) XOR 00111100) XOR 10111001 = (01010101.XOR 00111100) XOR 10111001 = 01101001 XOR 10111001 = 11010000 So "11010000" becomes the parity byte, DP. Now let's say we store these five values on five hard disks, and hard disk #3, containing value "00111100", goes el-muncho. We can retrieve the missing byte simply by XOR'ing together the other three original data pieces, and the parity byte we calculated earlier, as so: D1 XOR D2 XOR D4 XOR DP = ( (D1 XOR D2) XOR D4) XOR DP = ( (10100101 XOR 11110000) XOR 10111001) XOR 11010000 = (01010101 XOR 10111001) XOR 11010000 = 11101100 XOR 11010000 = 00111100 Which is D3, the missing value. Pretty neat, huh? :^) This operation can be done on any number of bits, incidentally; I just used eight bits for simplicity. It's also a very simple binary calculation--which is a good thing, because it has to be done for every bit stored in a parity-enabled RAID array. Compared to mirroring, parity (used with striping) has some advantages and disadvantages. The most obvious advantage is that parity protects data against any single drive in the array failing without requiring the 50% "waste" of mirroring; only one of the "N+1" drives contains redundancy information. (The overhead of parity is equal to (100/N)% where N is the total number of drives in the array.) Striping with parity also allows you to take advantage of the performance advantages of striping. The chief disadvantages of striping with parity relate to complexity: all those parity bytes have to be computed--millions of them per second!--and that takes computing power. This means a hardware controller that performs these calculations is required for high performance--if you do software RAID with striping and parity the system CPU will be dragged down doing all these computations. Also, while you can recover from a lost drive under parity, the missing data all has to be rebuilt, which has its own complications; recovering from a lost mirrored drive is comparatively simple. All of the RAID levels from RAID 3 to RAID 7 use parity; the most popular of these today is RAID 5. RAID 2 uses a concept similar to parity but not exactly the same. Single RAID Levels In this section I take a look at the "single" RAID levels--meaning, the "regular" RAID levels, as opposed to multiple or nested RAID levels. Single RAID levels are by far the most commonly used since they are simpler and less expensive to implement, and satisfy the needs of most RAID users. Generally, only very high-end or specialty applications require the use of multiple RAID levels. There are eight "regular" RAID levels, which are used to varying degrees in the "real world" today. A few levels, especially RAID 0, RAID 1 and RAID 5, are extremely popular, while a couple are rarely if ever seen in modern systems. For each level, I provide a comprehensive discussion of its attributes and characteristics in the areas of capacity, performance, fault tolerance, cost and more. RAID Level 0 Common Name(s): RAID 0. (Note that the term "RAID 0" is sometimes used to mean not only the conventional striping technique described here but also other "non-redundant" ways of setting up disk arrays. Sometimes it is (probably incorrectly) used just to describe a collection of disks that doesn't use redundancy.) Technique(s) Used: Striping (without parity) Description: The simplest RAID level, RAID 0 should really be called "AID", since it involves no redundancy. Files are broken into stripes of a size dictated by the user-defined stripe size of the array, and stripes are sent to each disk in the array. Giving up redundancy allows this RAID level the best overall performance characteristics of the single RAID levels, especially for its cost. For this reason, it is becoming increasingly popular by performance-seekers, especially in the lower end of the marketplace. This illustration shows how files of different sizes are distributed between the drives on a four-disk, 16 kiB stripe size RAID 0 array. The red file is 4 kiB in size; the blue is 20 kiB; the green is 100 kiB; and the magenta is 500 kiB. They are shown drawn to scale to illustrate how much space they take up in relative terms in the array--one vertical pixel represents 1 kiB. (To see the impact that increasing or decreasing stripe size has on the way the data is stored in the array, see the 4 kiB and 64 kiB stripe size versions of this illustration on the page discussing stripe size issues.) Controller Requirements: Supported by all hardware controllers, both SCSI and IDE/ATA, and also most software RAID solutions. Hard Disk Requirements: Minimum of two hard disks (some may support one drive, the point of which escapes me); maximum set by controller. Any type may be used, but they should be of identical type and size for best performance and to eliminate "waste". Array Capacity: (Size of Smallest Drive * Number of Drives). Storage Efficiency: 100% if identical drives are used. Fault Tolerance: None. Failure of any drive results in loss of all data, short of specialized data recovery. Availability: Lowest of any RAID level. Lack of fault tolerance means no rapid recovery from failures. Failure of any drive results in array being lost and immediate downtime until array can be rebuilt and data restored from backup. Degradation and Rebuilding: Not applicable. Random Read Performance: Very good; better if using larger stripe sizes if the controller supports independent reads to different disks in the array. Random Write Performance: Very good; again, best if using a larger stripe size and a controller supporting independent writes. Sequential Read Performance: Very good to excellent. Sequential Write Performance: Very good. Cost: Lowest of all RAID levels. Special Considerations: Using a RAID 0 array without backing up any changes made to its data at least daily is a loud statement that that data is not important to you. Recommended Uses: Non-critical data (or data that changes infrequently and is backed up regularly) requiring high speed, particularly write speed, and low cost of implementation. Audio and video streaming and editing; web servers; graphic design; high-end gaming or hobbyist systems; temporary or "scratch" disks on larger machines. RAID Level 1 Common Name(s): RAID 1; RAID 1 with Duplexing. Technique(s) Used: Mirroring or Duplexing Description: 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. Illustration of a pair of mirrored hard disks, showing how the files are duplicated on both drives. (The files are the same as those in the RAID 0 illustration, except that to save space I have reduced the scale here so one vertical pixel represents 2 kiB.) Controller Requirements: Supported by all hardware controllers, both SCSI and IDE/ATA, and also most software RAID solutions. Hard Disk Requirements: Exactly two hard disks. Any type may be used but they should ideally be identical. Array Capacity: Size of Smaller Drive. Storage Efficiency: 50% if drives of the same size are used, otherwise (Size of Smaller Drive / (Size of Smaller Drive + Size of Larger Drive) ) Fault Tolerance: Very good; duplexing even better. Availability: Very good. Most RAID controllers, even low-end ones, will support hot sparing and automatic rebuilding of RAID 1 arrays. Degradation and Rebuilding: Slight degradation of read performance; write performance will actually improve. Rebuilding is relatively fast. Random Read Performance: Good. Better than a single drive but worse than many other RAID levels. Random Write Performance: Good. Worse than a single drive, but better than many other RAID levels. :^) Sequential Read Performance: Fair; about the same as a single drive. Sequential Write Performance: Good; again, better than many other RAID levels. Cost: Relatively high due to redundant drives; lowest storage efficiency of the single RAID levels. Duplexing is still more expensive due to redundant controllers. On the other hand, no expensive controller is required, and large consumer-grade drives are rather inexpensive these days, making RAID 1 a viable choice for an individual system. Special Considerations: RAID 1 arrays are limited to the size of the drives used in the array. Multiple RAID 1 arrays can be set up if additional storage is required, but RAID 1+0 begins to look more attractive in that circumstance. Performance may be reduced if implemented using software instead of a hardware controller; duplexing may require software RAID and thus may show lower performance than mirroring. Recommended Uses: Applications requiring high fault tolerance at a low cost, without heavy emphasis on large amounts of storage capacity or top performance. Especially useful in situations where the perception is that having a duplicated set of data is more secure than using parity. For this reason, RAID 1 is popular for accounting and other financial data. It is also commonly used for small database systems, enterprise servers, and for individual users requiring fault tolerance with a minimum of hassle and cost (since redundancy using parity generally requires more expensive hardware.) RAID Level 2 Common Name(s): RAID 2. Technique(s) Used: Bit-level striping with Hamming code ECC. Description: 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. Level 2 is the only RAID level of the ones defined by the original Berkeley document that is not used today, for a variety of reasons. It is expensive and often requires many drives--see below for some surprisingly large numbers. The controller required was complex, specialized and expensive. The performance of RAID 2 is also rather substandard in transactional environments due to the bit-level striping. But most of all, level 2 was obviated by the use of ECC within a hard disk; essentially, much of what RAID 2 provides you now get for "free" within each hard disk, with other RAID levels providing protection above and beyond ECC. Due to its cost and complexity, level 2 never really "caught on". Therefore, much of the information below is based upon theoretical analysis, not empirical evidence. Controller Requirements: Specialized controller hardware required. Hard Disk Requirements: Depends on exact implementation, but a typical setup required 10 data disks and 4 ECC disks for a total of 14, or 32 data disks and 7 ECC disks for a total of 39! The disks were spindle-synchronized to run in tandem. Array Capacity: Depends on exact implementation but would be rather large if built today using modern drives. Storage Efficiency: Depends on the number of data and ECC disks; for the 10+4 configuration, about 71%; for the 32+7 setup, about 82%. Fault Tolerance: Only fair; for all the redundant drives included, you don't get much tolerance: only one drive can fail in this setup and be recoverable "on the fly". Availability: Very good, due to "on the fly" error correction. Degradation and Rebuilding: In theory, there would be little degradation due to failure of a single drive. Random Read Performance: Fair. Bit-level striping makes multiple accesses impossible. Random Write Performance: Poor, due to bit-level striping and ECC calculation overhead. Sequential Read Performance: Very good, due to parallelism of many drives. Sequential Write Performance: Fair to good. Cost: Very expensive. Special Considerations: Not used in modern systems. Recommended Uses: Not used in modern systems. RAID Level 3 Common Name(s): RAID 3. (Watch out for some companies that say their products implement RAID 3 when they are really RAID 4.) Technique(s) Used: Byte-level striping with dedicated parity. Description: 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. This illustration shows how files of different sizes are distributed between the drives on a four-disk, byte-striped RAID 3 array. As with the RAID 0 illustration, the red file is 4 kiB in size; the blue is 20 kiB; the green is 100 kiB; and the magenta is 500 kiB, with each vertical pixel representing 1 kiB of space. Notice that the files are evenly spread between three drives, with the fourth containing parity information (shown in dark gray). Since the blocks are so tiny in RAID 3, the individual boundaries between stripes can't be seen. You may want to compare this illustration to the one for RAID 4. Controller Requirements: Generally requires a medium-to-high-end hardware RAID card. Hard Disk Requirements: Minimum of three standard hard disks; maximum set by controller. Should be of identical size and type. Array Capacity: (Size of Smallest Drive) * (Number of Drives - 1) Storage Efficiency: If all drives are the same size, ( (Number of Drives - 1) / Number of Drives). Fault Tolerance: Good. Can tolerate loss of one drive. Availability: Very good. Hot sparing and automatic rebuild are usually supported by controllers that implement RAID 3. Degradation and Rebuilding: Relatively little degrading of performance if a drive fails. Rebuilds can take many hours. Random Read Performance: Good, but not great, due to byte-level striping. Random Write Performance: Poor, due to byte-level striping, parity calculation overhead, and the bottleneck of the dedicated parity drive. Very good. Sequential Read Performance: Sequential Write Performance: Fair to good. Cost: Moderate. A hardware controller is usually required, as well as at least three drives. Special Considerations: Not as popular as many of the other commonly-implemented RAID levels. For transactional environments, RAID 5 is usually a better choice. Recommended Uses: Applications working with large files that require high transfer performance with redundancy, especially serving or editing large files: multimedia, publishing and so on. RAID 3 is often used for the same sorts of applications that would typically see the use of RAID 0, where the lack of fault tolerance of RAID 0 makes it unacceptable. RAID Level 4 Common Name(s): RAID 4 (sometimes called RAID 3 by the confused). Technique(s) Used: Block-level striping with dedicated parity. Description: 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. This illustration shows how files of different sizes are distributed between the drives on a four-disk RAID 4 array using a 16 kiB stripe size. As with the RAID 0 illustration, the red file is 4 kiB in size; the blue is 20 kiB; the green is 100 kiB; and the magenta is 500 kiB, with each vertical pixel representing 1 kiB of space. Notice that as with RAID 3, the files are evenly spread between three drives, with the fourth containing parity information (shown in gray). You may want to contrast this illustration to the one for RAID 3 (which is very similar except that the blocks are so tiny you can't see them) and the one for RAID 5 (which distributes the parity blocks across all four drives.) Controller Requirements: Generally requires a medium-to-high-end hardware RAID card. Hard Disk Requirements: Minimum of three standard hard disks; maximum set by controller. Should be of identical size and type. Array Capacity: (Size of Smallest Drive) * (Number of Drives - 1). Storage Efficiency: If all drives are the same size, ( (Number of Drives - 1) / Number of Drives). Fault Tolerance: Good. Can tolerate loss of one drive. Availability: Very good. Hot sparing and automatic rebuild are usually supported.. Degradation and Rebuilding: Moderate degrading if a drive fails; potentially lengthy rebuilds. Random Read Performance: Very good. Random Write Performance: Poor to fair, due to parity calculation overhead and the bottleneck of the dedicated parity drive. Sequential Read Performance: Good to very good. Sequential Write Performance: Fair to good. Cost: Moderate. A hardware controller is usually required, as well as at least three drives. Special Considerations: Performance will depend to some extent upon the stripe size chosen. Recommended Uses: Jack of all trades and master of none, RAID 4 is not as commonly used as RAID 3 and RAID 5, because it is in some ways a "compromise" between them that doesn't have a target market as well defined as either of those two levels. It is sometimes used by applications commonly seen using RAID 3 or RAID 5, running the gamut from databases and enterprise planning systems to serving large multimedia files. RAID Level 5 Common Name(s): RAID 5. Technique(s) Used: Block-level striping with distributed parity. Description: 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. This illustration shows how files of different sizes are distributed between the drives on a four-disk RAID 5 array using a 16 kiB stripe size. As with the RAID 0 illustration, the red file is 4 kiB in size; the blue is 20 kiB; the green is 100 kiB; and the magenta is 500 kiB, with each vertical pixel representing 1 kiB of space. Contrast this diagram to the one for RAID 4, which is identical except that the data is only on three drives and the parity (shown in gray) is exclusively on the fourth.drive. Controller Requirements: Requires a moderately high-end card for hardware RAID; supported by some operating systems for software RAID, but at a substantial performance penalty. Hard Disk Requirements: Minimum of three standard hard disks; maximum set by controller. Should be of identical size and type. Array Capacity: (Size of Smallest Drive) * (Number of Drives - 1). Storage Efficiency: If all drives are the same size, ( (Number of Drives - 1) / Number of Drives). Fault Tolerance: Good. Can tolerate loss of one drive. Availability: Good to very good. Hot sparing and automatic rebuild are usually featured on hardware RAID controllers supporting RAID 5 (software RAID 5 will require down-time). Degradation and Rebuilding: Due to distributed parity, degradation can be substantial after a failure and during rebuilding. Random Read Performance: Very good to excellent; generally better for larger stripe sizes. Can be better than RAID 0 since the data is distributed over one additional drive, and the parity information is not required during normal reads. Random Write Performance: Only fair, due to parity overhead; this is improved over RAID 3 and RAID 4 due to eliminating the dedicated parity drive, but the overhead is still substantial. Sequential Read Performance: Good to very good; generally better for smaller stripe sizes. Sequential Write Performance: Fair to good. Cost: Moderate, but often less than that of RAID 3 or RAID 4 due to its greater popularity, and especially if software RAID is used. Special Considerations: Due to the amount of parity calculating required, software RAID 5 can seriously slow down a system. Performance will depend to some extent upon the stripe size chosen. Recommended Uses: RAID 5 is seen by many as the ideal combination of good performance, good fault tolerance and high capacity and storage efficiency. It is best suited for transaction processing and is often used for "general purpose" service, as well as for relational database applications, enterprise resource planning and other business systems. For write-intensive applications, RAID 1 or RAID 1+0 are probably better choices (albeit higher in terms of hardware cost), as the performance of RAID 5 will begin to substantially decrease in a write-heavy RAID Level 6 Common Name(s): RAID 6. Some companies use the term "RAID 6" to refer to proprietary extensions of RAID 5; these are not discussed here. Technique(s) Used: Block-level striping with dual distributed parity. Description: 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. This illustration shows how files of different sizes are distributed between the drives on a four-disk RAID 6 array using a 16 kiB stripe size. As with the RAID 0 illustration, the red file is 4 kiB in size; the blue is 20 kiB; the green is 100 kiB; and the magenta is 500 kiB, with each vertical pixel representing 1 kiB of space. This diagram is the same as the RAID 5 one, except that you'll notice that there is now twice as much gray parity information, and as a result, more space taken up on the four drives to contain the same data than the other levels that use striping. Controller Requirements: Requires a specialized (usually meaning expensive) hardware controller. Hard Disk Requirements: Minimum of four hard disks; maximum set by controller. Should be of identical size and type. Array Capacity: (Size of Smallest Drive) * (Number of Drives - 2). Storage Efficiency: If all drives are the same size, ( (Number of Drives - 2) / Number of Drives). Fault Tolerance: Very good to excellent. Can tolerate the simultaneous loss of any two drives in the array. Availability: Excellent. Degradation and Rebuilding: Due to the complexity of dual distributed parity, degradation can be substantial after a failure and during rebuilding. Dual redundancy may allow rebuilding to be delayed to avoid performance hit. Random Read Performance: Very good to excellent; generally better for larger stripe sizes. Random Write Performance: Poor, due to dual parity overhead and complexity. Sequential Read Performance: Good to very good; generally better for smaller stripe sizes. Sequential Write Performance: Fair. Cost: High. Special Considerations: Requires special implementation; not widely available. Recommended Uses: 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. In practice, RAID 6 has never really caught on because few companies are willing to pay for the extra cost to insure against a relatively rare event--it's unusual for two drives to fail simultaneously (unless something happens that takes out the entire array, in which case RAID 6 won't help anyway). On the lower end of the RAID 5 market, the rise of hot swapping and automatic rebuild features for RAID 5 have made RAID 6 even less desirable, since with these advanced features a RAID 5 array can recover from a single drive failure in a matter of hours (where without them, RAID 5 would require downtime for rebuilding, giving RAID 6 a substantial advantage.) On the higher end of the RAID 5 market, RAID 6 usually loses out to multiple RAID solutions such as RAID 10 that provide some degree of multiple-drive fault tolerance while offering improved performance as well. RAID Level 7 Common Name(s): RAID 7. Technique(s) Used: Asynchronous, cached striping with dedicated parity. Description: Unlike the other RAID levels, RAID 7 isn't an open industry standard; it is really a trademarked marketing term of Storage Computer Corporation, used to describe their proprietary RAID design. (I debated giving it a page alongside the other RAID levels, but since it is used in the market, it deserves to be explained; that said, information about it appears to be limited.) RAID 7 is based on concepts used in RAID levels 3 and 4, but greatly enhanced to address some of the limitations of those levels. Of particular note is the inclusion of a great deal of cache arranged into multiple levels, and a specialized real-time processor for managing the array asynchronously. This hardware support--especially the cache--allow the array to handle many simultaneous operations, greatly improving performance of all sorts while maintaining fault tolerance. In particular, RAID 7 offers much improved random read and write performance over RAID 3 or RAID 4 because the dependence on the dedicated parity disk is greatly reduced through the added hardware. The increased performance of RAID 7 of course comes at a cost. This is an expensive solution, made and supported by only one company. Controller Requirements: Requires a specialized, expensive, proprietary controller. Hard Disk Requirements: Depends on implementation. Array Capacity: Depends on implementation. Storage Efficiency: Depends on implementation. Fault Tolerance: Very good. Availability: Excellent, due to use of multiple hot spares. Degradation and Rebuilding: Better than many RAID levels due to hardware support for parity calculation operations and multiple cache levels. Random Read Performance: Very good to excellent. The extra cache can often supply the results of the read without needing to access the array drives. Random Write Performance: Very good; substantially better than other single RAID levels doing striping with parity. Sequential Read Performance: Very good to excellent. Sequential Write Performance: Very good. Cost: Very high. Special Considerations: RAID 7 is a proprietary product of a single company; if it is of interest then you should contact Storage Computer Corporation for more details on the specifics of implementing it. All the caching creates potential vulnerabilities in the event of power failure, making the use of one or more UPS units mandatory. Recommended Uses: Specialized high-end applications requiring absolutely top performance and willing to live with the limitations of a proprietary, expensive solution. For most users, a multiple RAID level solution like RAID 1+0 will probably yield comparable performance improvements over single RAID levels, at lower cost. RAID Levels 0+1 (01) and 1+0 (10) Common Name(s): RAID 0+1, 01, 0/1, "mirrored stripes", "mirror of stripes"; RAID 1+0, 10, 1/0, "striped mirrors", "stripe of mirrors". Labels are often used incorrectly; verify the details of the implementation if the distinction between 0+1 and 1+0 is important to you. Technique(s) Used: Mirroring and striping without parity. Description: The most popular of the multiple RAID levels, RAID 01 and 10 combine the best features of striping and mirroring to yield large arrays with high performance in most uses and superior fault tolerance. RAID 01 is a mirrored configuration of two striped sets; RAID 10 is a stripe across a number of mirrored sets. RAID 10 and 01 have been increasing dramatically in popularity as hard disks become cheaper and the four-drive minimum is legitimately seen as much less of an obstacle. RAID 10 provides better fault tolerance and rebuild performance than RAID 01. Both array types provide very good to excellent overall performance by combining the speed of RAID 0 with the redundancy of RAID 1 without requiring parity calculations. This illustration shows how files of different sizes are distributed between the drives on an eight-disk RAID 0+1 array using a 16 kiB stripe size for the RAID 0 portion. As with the RAID 0 illustration, the red file is 4 kiB in size; the blue is 20 kiB; the green is 100 kiB; and the magenta is 500 kiB, with each vertical pixel representing 1 kiB of space. The large, patterned rectangles represent the two RAID 0 "sub arrays", which are mirrored using RAID 1 to create RAID 0+1. The contents of the striped sets are thus identical. The diagram for RAID 1+0 would be the same except for the groupings: instead of two large boxes dividing the drives horizontally, there would be four large boxes dividing the drives vertically into mirrored pairs. These pairs would then be striped together to form level 1+0. Contrast this diagram to the ones for RAID 0 and RAID 1. Controller Requirements: Almost all hardware controllers will support one or the other of RAID 10 or RAID 01, but often not both. Even low-end cards will support this multiple level, usually RAID 01. High-end cards may support both 01 and 10. Hard Disk Requirements: An even number of hard disks with a minimum of four; maximum dependent on controller. All drives should be identical. Array Capacity: (Size of Smallest Drive) * (Number of Drives ) / 2. Storage Efficiency: If all drives are the same size, 50%. Fault Tolerance: Very good for RAID 01; excellent for RAID 10. Availability: Very good for RAID 01; excellent for RAID 10. Degradation and Rebuilding: Relatively little for RAID 10; can be more substantial for RAID 01. Random Read Performance: Very good to excellent. Random Write Performance: Good to very good. Sequential Read Performance: Very good to excellent. Sequential Write Performance: Good to very good. Cost: Relatively high due to large number of drives required and low storage efficiency (50%). Special Considerations: Low storage efficiency limits potential array capacity. Recommended Uses: Applications requiring both high performance and reliability and willing to sacrifice capacity to get them. This includes enterprise servers, moderate-sized database systems and the like at the high end, but also individuals using larger IDE/ATA hard disks on the low end. Often used in place of RAID 1 or RAID 5 by those requiring higher performance; may be used instead of RAID 1 for applications requiring more capacity.
/
本文档为【问题1使用RAID有何好处】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索