Despre Sistemul RAID

download Despre Sistemul RAID

of 23

Transcript of Despre Sistemul RAID

  • 7/27/2019 Despre Sistemul RAID

    1/23

    About RAID sistems

    Principles

    RAID combines two or more physical hard disks into a single logical unitusing special hardware or software. Hardware solutions are often designedto present themselves to the attached system as a single hard drive, sothat the operating system would be unaware of the technical workings. Forexample, if one were to configure a hardware-based RAID-5 volume usingthree 250 GB hard drives (two drives for data, and one for parity), theoperating system would be presented with a single 500 GB volume.Software solutions are typically implemented in the operating system and

    would present the RAID volume as a single drive to applications runningwithin the operating system.

    There are three key concepts in RAID: mirroring, the writing of identicaldata to more than one disk; striping, the splitting of data across more thanone disk; and error correction, where redundant parity data is stored toallow problems to be detected and possibly repaired (known as faulttolerance). Different RAID schemes use one or more of these techniques,depending on the system requirements. The purpose of using RAID is toimprove reliability and availability of data, ensuring that important data isnot harmed in case of hardware failure, and/or to increase the speed of fileinput/output.

    Each RAID scheme affects reliability and performance in different ways.Every additional disk included in an array increases the likelihood that onewill fail, but by using error checking and/or mirroring, the array as a wholecan be made more reliable by the ability to survive and recover from afailure. Basic mirroring can speed up the reading of data, as a system canread different data from multiple disks at the same time, but it may beslow for writing if the configuration requires that all disks must confirmthat the data is correctly written. Striping, often used for increasing

    performance, writes each bit to a different disk, allowing the data to bereconstructed from multiple disks faster than a single disk could send thesame data. Error checking typically will slow down performance as dataneeds to be read from multiple places and then compared. The design ofany RAID scheme is often a compromise in one or more respects, andunderstanding the requirements of a system is important. Modern diskarrays typically provide the facility to select an appropriate RAIDconfiguration.

    Organization

    1

    http://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Parity_bithttp://en.wikipedia.org/wiki/Disk_mirrorhttp://en.wikipedia.org/wiki/Data_stripinghttp://en.wikipedia.org/wiki/Error_correctionhttp://en.wikipedia.org/wiki/Fault_tolerancehttp://en.wikipedia.org/wiki/Fault_tolerancehttp://en.wikipedia.org/wiki/Input/outputhttp://en.wikipedia.org/wiki/Disk_arrayhttp://en.wikipedia.org/wiki/Disk_arrayhttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Parity_bithttp://en.wikipedia.org/wiki/Disk_mirrorhttp://en.wikipedia.org/wiki/Data_stripinghttp://en.wikipedia.org/wiki/Error_correctionhttp://en.wikipedia.org/wiki/Fault_tolerancehttp://en.wikipedia.org/wiki/Fault_tolerancehttp://en.wikipedia.org/wiki/Input/outputhttp://en.wikipedia.org/wiki/Disk_arrayhttp://en.wikipedia.org/wiki/Disk_array
  • 7/27/2019 Despre Sistemul RAID

    2/23

    Organizing disks into a redundant array decreases the usable storagecapacity. For instance, a 2-disk RAID 1 array loses half of the total capacitythat would have otherwise been available using both disks independently,and a RAID 5 array with several disks loses the capacity of one disk. Othertypes of RAID arrays are arranged, for example, so that they are faster to

    write to and read from than a single disk.

    There are various combinations of these approaches giving different trade-offs of protection against data loss, capacity, and speed. RAID levels 0, 1,and 5 are the most commonly found, and cover most requirements.

    RAID 0

    RAID 0 (striped disks) distributes data across multiple disks in ways thatgives improved speed at any given instant. If one disk fails, however, all ofthe data on the array will be lost, as there is neither parity nor mirroring.In this regard, RAID 0 is somewhat of a misnomer, in that RAID 0 is non-redundant. A RAID 0 array requires a minimum of two drives. A RAID 0configuration can be applied to a single drive provided that the RAIDcontroller is hardware and not software (i.e. OS-based arrays) and allowsfor such configuration. This allows a single drive to be added to acontroller already containing another RAID configuration when the userdoes not wish to add the additional drive to the existing array. In this case,the controller would be set up as RAID only (as opposed to SCSI in non-RAID configuration), which requires that each individual drive be a part ofsome sort of RAID array.

    RAID 1

    RAID 1 mirrors the contents of the disks, making a form of 1:1 ratiorealtime mirroring. The contents of each disk in the array are identical tothat of every other disk in the array. A RAID 1 array requires a minimum oftwo drives.

    RAID 3, RAID 4

    RAID 3 or 4 (striped disks with dedicated parity) combines three or more

    disks in a way that protects data against loss of any one disk. Faulttolerance is achieved by adding an extra disk to the array, which isdedicated to storing parity information; the overall capacity of the array isreduced by one disk. A RAID 3 or 4 array requires a minimum of threedrives: two to hold striped data, and a third for parity. With the minimumthree drives needed for RAID 3, the storage efficiency is 66 percent. Withsix drives, the storage efficiency is 83 percent.

    RAID 5

    2

  • 7/27/2019 Despre Sistemul RAID

    3/23

    Striped set with distributed parity or interleave parity requiring 3 or moredisks. Distributed parity requires all drives but one to be present tooperate; drive failure requires replacement, but the array is not destroyedby a single drive failure. Upon drive failure, any subsequent reads can becalculated from the distributed parity such that the drive failure is masked

    from the end user. The array will have data loss in the event of a seconddrive failure and is vulnerable until the data that was on the failed drive isrebuilt onto a replacement drive. A single drive failure in the set will resultin reduced performance of the entire set until the failed drive has beenreplaced and rebuilt.

    RAID 6

    RAID 6 (striped disks with dual parity) combines four or more disks in away that protects data against loss of any two disks. For example, if thegoal is to create 10x1TB of usable space in a RAID 6 configuration, weneed two additional disks for the parity data.

    RAID 10

    RAID 1+0 (or 10) is a mirrored data set (RAID 1) which is then striped(RAID 0), hence the "1+0" name. A RAID 1+0 array requires a minimum offour drives two mirrored drives to hold half of the striped data, plusanother two mirrored for the other half of the data. In Linux, MD RAID 10 isa non-nested RAID type like RAID 1 that only requires a minimum of twodrives and may give read performance on the level of RAID 0.

    RAID 01

    RAID 0+1 (or 01) is a striped data set (RAID 0) which is then mirrored(RAID 1). A RAID 0+1 array requires a minimum of four drives: two to holdthe striped data, plus another two to mirror the first pair. It provides bestRW performance[citation needed].

    Hardware/Software

    RAID can involve significant computation when reading and writing

    information. With traditional "real" RAID hardware, a separate controllerdoes this computation. In other cases the operating system or simpler andless expensive controllers require the host computer's processor to do thecomputing, which reduces the computer's performance on processor-intensive tasks (see Operating system based ("software RAID") andFirmware/driver-based RAID below). Simpler RAID controllers may provideonly levels 0 and 1, which require less processing.

    RAID systems with redundancy continue working without interruptionwhen one (or possibly more, depending on the type of RAID) disks of the

    array fail, although they are then vulnerable to further failures. When thebad disk is replaced by a new one the array is rebuilt while the system

    3

    http://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#Operating_system_based_.28.22software_RAID.22.29%23Operating_system_based_.28.22software_RAID.22.29http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#Firmware.2Fdriver-based_RAID_.28.22FakeRAID.22.29%23Firmware.2Fdriver-based_RAID_.28.22FakeRAID.22.29http://en.wikipedia.org/wiki/RAID_controllerhttp://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#Operating_system_based_.28.22software_RAID.22.29%23Operating_system_based_.28.22software_RAID.22.29http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#Firmware.2Fdriver-based_RAID_.28.22FakeRAID.22.29%23Firmware.2Fdriver-based_RAID_.28.22FakeRAID.22.29http://en.wikipedia.org/wiki/RAID_controller
  • 7/27/2019 Despre Sistemul RAID

    4/23

    continues to operate normally. Some systems have to be powered downwhen removing or adding a drive; others support hot swapping, allowingdrives to be replaced without powering down. RAID with hot-swapping isoften used in high availability systems, where it is important that thesystem remains running as much of the time as possible.

    Note that a RAID controller itself can become the single point of failurewithin a system.

    Standard levels

    Main article: Standard RAID levels

    A number of standard schemes have evolved which are referred to aslevels. There were five RAID levels originally conceived, but many morevariations have evolved, notably several nested levels and many non-standard levels (mostly proprietary).

    Following is a brief summary of the most commonly used RAID levels.[4]Space efficiency is given as amount of storage space available in an arrayof n disks, in multiples of the capacity of a single drive. For example if anarray holds n=5 drives of 250GB and efficiency is n-1 then available spaceis 4 times 250GB or roughly 1TB.

    4

    http://en.wikipedia.org/wiki/Hot_swappinghttp://en.wikipedia.org/wiki/High_availabilityhttp://en.wikipedia.org/wiki/Standard_RAID_levelshttp://en.wikipedia.org/wiki/Nested_RAID_levelshttp://en.wikipedia.org/wiki/Non-standard_RAID_levelshttp://en.wikipedia.org/wiki/Non-standard_RAID_levelshttp://en.wikipedia.org/wiki/Proprietary_softwarehttp://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-3%23cite_note-3http://en.wikipedia.org/wiki/Hot_swappinghttp://en.wikipedia.org/wiki/High_availabilityhttp://en.wikipedia.org/wiki/Standard_RAID_levelshttp://en.wikipedia.org/wiki/Nested_RAID_levelshttp://en.wikipedia.org/wiki/Non-standard_RAID_levelshttp://en.wikipedia.org/wiki/Non-standard_RAID_levelshttp://en.wikipedia.org/wiki/Proprietary_softwarehttp://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-3%23cite_note-3
  • 7/27/2019 Despre Sistemul RAID

    5/23

    Level DescriptionMinimum

    # ofdisks

    SpaceEfficiency

    FaultToleranc

    eImage

    RAID 0

    Striped set without parity or mirroring. Providesimproved performance and additional storage but noredundancy or fault tolerance. Because there is noredundancy, this level is not actually a Redundant

    Array of Independent Disks, i.e. not true RAID.However, because of the similarities to RAID(especially the need for a controller to distributedata across multiple disks), simple stripe sets arenormally referred to as RAID 0. Any disk failure

    destroys the array, which has greater consequenceswith more disks in the array (at a minimum,

    catastrophic data loss is twice as severe comparedto single drives without RAID). A single disk failure

    destroys the entire array because when data iswritten to a RAID 0 drive, the data is broken into

    fragments. The number of fragments is dictated bythe number of disks in the array. The fragments arewritten to their respective disks simultaneously onthe same sector. This allows smaller sections of the

    entire chunk of data to be read off the drive inparallel, increasing bandwidth. RAID 0 does not

    implement error checking so any error isunrecoverable. More disks in the array means higher

    bandwidth, but greater risk of data loss.

    2 n 0 (none)

    5

    http://en.wikipedia.org/wiki/RAID_0http://en.wikipedia.org/wiki/Data_stripinghttp://en.wikipedia.org/wiki/Parity_bithttp://en.wikipedia.org/wiki/Disk_mirroringhttp://en.wikipedia.org/wiki/File:RAID_0.svghttp://en.wikipedia.org/wiki/RAID_0http://en.wikipedia.org/wiki/Data_stripinghttp://en.wikipedia.org/wiki/Parity_bithttp://en.wikipedia.org/wiki/Disk_mirroring
  • 7/27/2019 Despre Sistemul RAID

    6/23

    Level DescriptionMinimum

    # ofdisks

    SpaceEfficiency

    FaultToleranc

    eImage

    RAID 1

    Mirrored set without parity or striping. Providesfault tolerance from disk errors and failure of all but

    one of the drives. Increased read performanceoccurs when using a multi-threaded operating

    system that supports split seeks, as well as a verysmall performance reduction when writing. Array

    continues to operate so long as at least one drive is

    functioning. Using RAID 1 with a separate controllerfor each disk is sometimes called duplexing.

    2

    1 (size ofthe

    smallestdisk)

    n-1 disks

    RAID 2

    Hamming code parity. Disks are synchronized andstriped in very small stripes, often in single

    bytes/words. Hamming codes error correction iscalculated across corresponding bits on disks, and is

    stored on multiple parity disks.

    3

    RAID 3

    Striped set with dedicated parity or bitinterleaved parity or byte level parity.

    This mechanism provides fault tolerance similar toRAID 5. However, because the stripe across the

    disks is much smaller than a filesystem block, readsand writes to the array perform like a single drive

    with a high linear write performance. For this to work

    properly, the drives must have synchronisedrotation. If one drive fails, performance is not

    affected.

    3 n-1 1 disk

    6

    http://en.wikipedia.org/wiki/RAID_1http://en.wikipedia.org/wiki/Disk_mirroringhttp://en.wikipedia.org/wiki/Data_stripinghttp://en.wikipedia.org/wiki/Multi-threadedhttp://en.wikipedia.org/wiki/RAID_2http://en.wikipedia.org/wiki/Hamming_codehttp://en.wikipedia.org/wiki/Error_correctionhttp://en.wikipedia.org/wiki/RAID_3http://en.wikipedia.org/wiki/File:RAID_3.svghttp://en.wikipedia.org/wiki/File:RAID_2.svghttp://en.wikipedia.org/wiki/File:RAID_1.svghttp://en.wikipedia.org/wiki/RAID_1http://en.wikipedia.org/wiki/Disk_mirroringhttp://en.wikipedia.org/wiki/Data_stripinghttp://en.wikipedia.org/wiki/Multi-threadedhttp://en.wikipedia.org/wiki/RAID_2http://en.wikipedia.org/wiki/Hamming_codehttp://en.wikipedia.org/wiki/Error_correctionhttp://en.wikipedia.org/wiki/RAID_3
  • 7/27/2019 Despre Sistemul RAID

    7/23

    Level DescriptionMinimum

    # ofdisks

    SpaceEfficiency

    FaultToleranc

    eImage

    RAID 4

    Block level parity. Identical to RAID 3, but doesblock-level striping instead of byte-level striping. Inthis setup, files can be distributed between multiple

    disks. Each disk operates independently whichallows I/O requests to be performed in parallel,

    though data transfer speeds can suffer due to thetype of parity. The error detection is achieved

    through dedicated parity and is stored in a separate,single disk unit.

    3 n-1 1 disk

    RAID 5

    Striped set with distributed parity orinterleave parity. Distributed parity requires all

    drives but one to be present to operate; drive failurerequires replacement, but the array is not destroyed

    by a single drive failure. Upon drive failure, anysubsequent reads can be calculated from thedistributed parity such that the drive failure is

    masked from the end user. The array will have dataloss in the event of a second drive failure and is

    vulnerable until the data that was on the failed driveis rebuilt onto a replacement drive. A single drive

    failure in the set will result in reduced performanceof the entire set until the failed drive has been

    replaced and rebuilt.

    3 n-1 1 disk

    RAID 6

    Striped set with dual distributed parity.Provides fault tolerance from two drive failures;array continues to operate with up to two failed

    drives. This makes larger RAID groups morepractical, especially for high availability systems.

    4 n-2 2 disks

    7

    http://en.wikipedia.org/wiki/RAID_4http://en.wikipedia.org/wiki/RAID_5http://en.wikipedia.org/wiki/RAID_6http://en.wikipedia.org/wiki/File:RAID_6.svghttp://en.wikipedia.org/wiki/File:RAID_5.svghttp://en.wikipedia.org/wiki/File:RAID_4.svghttp://en.wikipedia.org/wiki/RAID_4http://en.wikipedia.org/wiki/RAID_5http://en.wikipedia.org/wiki/RAID_6
  • 7/27/2019 Despre Sistemul RAID

    8/23

    Level DescriptionMinimum

    # ofdisks

    SpaceEfficiency

    FaultToleranc

    eImage

    This becomes increasingly important because large-capacity drives lengthen the time needed to recoverfrom the failure of a single drive. Single parity RAID

    levels are vulnerable to data loss until the faileddrive is rebuilt: the larger the drive, the longer therebuild will take. Dual parity gives time to rebuild

    the array without the data being at risk if a (single)

    additional drive fails before the rebuild is complete.

    8

  • 7/27/2019 Despre Sistemul RAID

    9/23

    Nested (hybrid) RAID

    Main article: Nested RAID levels

    In what was originally termed hybrid RAID,[5] many storage controllersallow RAID levels to be nested. The elements of a RAID may be eitherindividual disks or RAIDs themselves. Nesting more than two deep isunusual.

    As there is no basic RAID level numbered larger than 9, nested RAIDs areusually unambiguously described by concatenating the numbers indicatingthe RAID levels, sometimes with a "+" in between. For example, RAID 10

    (or RAID 1+0) consists of several level 1 arrays of physical drives, each ofwhich is one of the "drives" of a level 0 array striped over the level 1arrays. It is not called RAID 01, to avoid confusion with RAID 1, or indeed,RAID 01. When the top array is a RAID 0 (such as in RAID 10 and RAID 50)most vendors omit the "+", though RAID 5+0 is clearer.

    RAID 0+1: striped sets in a mirrored set (minimum four disks; evennumber of disks) provides fault tolerance and improved performancebut increases complexity. The key difference from RAID 1+0 is thatRAID 0+1 creates a second striped set to mirror a primary stripedset. The array continues to operate with one or more drives failed in

    the same mirror set, but if drives fail on both sides of the mirror thedata on the RAID system is lost.

    RAID 1+0: mirrored sets in a striped set (minimum two disks butmore commonly four disks to take advantage of speed benefits;even number of disks) provides fault tolerance and improvedperformance but increases complexity.

    The key difference from RAID 0+1 is that RAID 1+0 creates a stripedset from a series of mirrored drives. In a failed disk situation, RAID1+0 performs better because all the remaining disks continue to be

    used. The array can sustain multiple drive losses so long as nomirror loses all its drives. RAID 5+1: mirror striped set with distributed parity (some

    manufacturers label this as RAID 53).

    New RAID classification

    In 1996, the RAID Advisory Board introduced an improved classification ofRAID systems. It divides RAID into three types: Failure-resistant disksystems (that protect against data loss due to disk failure), failure-tolerantdisk systems (that protect against loss of data access due to failure of any

    single component), and disaster-tolerant disk systems (that consist of two

    9

    http://en.wikipedia.org/wiki/Nested_RAID_levelshttp://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-Vijayan-4%23cite_note-Vijayan-4http://en.wikipedia.org/wiki/Nested_RAID_levels#RAID_0.2B1http://en.wikipedia.org/wiki/Nested_RAID_levelshttp://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-Vijayan-4%23cite_note-Vijayan-4http://en.wikipedia.org/wiki/Nested_RAID_levels#RAID_0.2B1
  • 7/27/2019 Despre Sistemul RAID

    10/23

    or more independent zones, either of which provides access to storeddata).

    The original "Berkeley" RAID classifications are still kept as an importanthistorical reference point and also to recognize that RAID Levels 0-6

    successfully define all known data mapping and protection schemes fordisk. Unfortunately, the original classification caused some confusion dueto assumption that higher RAID levels imply higher redundancy andperformance. This confusion was exploited by RAID system manufacturers,and gave birth to the products with such names as RAID-7, RAID-10, RAID-30, RAID-S, etc. The new system describes the data availabilitycharacteristics of the RAID system rather than the details of itsimplementation.

    The next list provides criteria for all three classes of RAID:

    - Failure-resistant disk systems (FRDS) (meets a minimum of criteria 1 - 6):

    1. Protection against data loss and loss of access to data due to disk drivefailure2. Reconstruction of failed drive content to a replacement drive3. Protection against data loss due to a "write hole"4. Protection against data loss due to host and host I/O bus failure5. Protection against data loss due to replaceable unit failure6. Replaceable unit monitoring and failure indication

    - Failure-tolerant disk systems (FTDS) (meets a minimum of criteria 7 -15 ):

    7. Disk automatic swap and hot swap8. Protection against data loss due to cache failure9. Protection against data loss due to external power failure10. Protection against data loss due to a temperature out of operatingrange11. Replaceable unit and environmental failure warning12. Protection against loss of access to data due to device channel failure13. Protection against loss of access to data due to controller module

    failure14. Protection against loss of access to data due to cache failure15. Protection against loss of access to data due to power supply failure

    - Disaster-tolerant disk systems (DTDS) (meets a minimum of criteria 16 -21):

    16. Protection against loss of access to data due to host and host I/O busfailure17. Protection against loss of access to data due to external power failure

    18. Protection against loss of access to data due to componentreplacement

    10

  • 7/27/2019 Despre Sistemul RAID

    11/23

    19. Protection against loss of data and loss of access to data due tomultiple disk failure20. Protection against loss of access to data due to zone failure21. Long-distance protection against loss of data due to zone failure

    Non-standard levels

    Main article: Non-standard RAID levels

    Many configurations other than the basic numbered RAID levels arepossible, and many companies, organizations, and groups have createdtheir own non-standard configurations, in many cases designed to meetthe specialised needs of a small niche group. Most of these non-standardRAID levels are proprietary.

    Storage Computer Corporation used to call a cached version of RAID3 and 4, RAID 7. Storage Computer Corporation is now defunct.

    EMC Corporation used to offer RAID S as an alternative to RAID 5 ontheir Symmetrix systems. Their latest generations of Symmetrix, theDMX and the V-Max series, do not support RAID S (instead theysupport RAID-1, RAID-5 and RAID-6.)

    The ZFS filesystem, available in Solaris, OpenSolaris and FreeBSD,offers RAID-Z, which solves RAID 5's write hole problem.

    Hewlett-Packard'sAdvanced Data Guarding (ADG) is a form of RAID6.

    NetApp's Data ONTAP uses RAID-DP (also referred to as "double",

    "dual", or "diagonal" parity), is a form of RAID 6, but unlike manyRAID 6 implementations, does not use distributed parity as in RAID5. Instead, two unique parity disks with separate parity calculationsare used. This is a modification of RAID 4 with an extra parity disk.

    Accusys Triple Parity(RAID TP) implements three independentparities by extending RAID 6 algorithms on its FC-SATA and SCSI-SATA RAID controllers to tolerate three-disk failure.

    Linux MD RAID10 (RAID10) implements a general RAID driver thatdefaults to a standard RAID 1 with 2 drives, and a standard RAID1+0 with four drives, but can have any number of drives, includingodd numbers. MD RAID10 can run striped and mirrored, even with

    only two drives with the f2 layout (mirroring with striped reads,giving the read performance of RAID 0; normal Linux software RAID1 does not stripe reads, but can read in parallel[6]).[7]

    Infrant (now part ofNetgear)X-RAID offers dynamic expansion of aRAID5 volume without having to back up or restore the existingcontent. Just add larger drives one at a time, let it resync, then addthe next drive until all drives are installed. The resulting volumecapacity is increased without user downtime. (It should be notedthat this is also possible in Linux, when utilizing Mdadm utility. It hasalso been possible in the EMC Clariion and HP MSA arrays for several

    years.) The newX-RAID2 found on x86 ReadyNas, that is ReadyNaswith Intel CPUs, offers dynamic expansion of a RAID-5 or RAID-6

    11

    http://en.wikipedia.org/wiki/Non-standard_RAID_levelshttp://en.wikipedia.org/wiki/Proprietaryhttp://en.wikipedia.org/wiki/EMC_Corporationhttp://en.wikipedia.org/wiki/Symmetrixhttp://en.wikipedia.org/wiki/ZFShttp://en.wikipedia.org/wiki/Solaris_(operating_system)http://en.wikipedia.org/wiki/OpenSolarishttp://en.wikipedia.org/wiki/FreeBSDhttp://en.wikipedia.org/wiki/Non-standard_RAID_levels#RAID-Zhttp://en.wikipedia.org/wiki/Standard_RAID_levels#RAID_5_performancehttp://en.wikipedia.org/wiki/Hewlett-Packardhttp://en.wikipedia.org/wiki/NetApphttp://en.wikipedia.org/wiki/Linuxhttp://en.wikipedia.org/wiki/Non-standard_RAID_levels#Linux_MD_RAID_10http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-5%23cite_note-5http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-6%23cite_note-6http://en.wikipedia.org/wiki/Netgearhttp://en.wikipedia.org/wiki/Mdadmhttp://en.wikipedia.org/wiki/Non-standard_RAID_levelshttp://en.wikipedia.org/wiki/Proprietaryhttp://en.wikipedia.org/wiki/EMC_Corporationhttp://en.wikipedia.org/wiki/Symmetrixhttp://en.wikipedia.org/wiki/ZFShttp://en.wikipedia.org/wiki/Solaris_(operating_system)http://en.wikipedia.org/wiki/OpenSolarishttp://en.wikipedia.org/wiki/FreeBSDhttp://en.wikipedia.org/wiki/Non-standard_RAID_levels#RAID-Zhttp://en.wikipedia.org/wiki/Standard_RAID_levels#RAID_5_performancehttp://en.wikipedia.org/wiki/Hewlett-Packardhttp://en.wikipedia.org/wiki/NetApphttp://en.wikipedia.org/wiki/Linuxhttp://en.wikipedia.org/wiki/Non-standard_RAID_levels#Linux_MD_RAID_10http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-5%23cite_note-5http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-6%23cite_note-6http://en.wikipedia.org/wiki/Netgearhttp://en.wikipedia.org/wiki/Mdadm
  • 7/27/2019 Despre Sistemul RAID

    12/23

    volume (noteX-RAID2 Dual Redundancy not available on all X86ReadyNas) without having to back up or restore the existing contentetc. A major advantage overX-RAID, is that usingX-RAID2 you donot need to replace all the disks to get extra space, you only need toreplace two disks using single redundancy or four disks using dual

    redundancy to get more redundant space. BeyondRAID, created by Data Robotics and used in the Drobo series

    of products, implements both mirroring and striping simultaneouslyor individually dependent on disk and data context. It offersexpandability without reconfiguration, the ability to mix and matchdrive sizes and the ability to reorder disks. It supports NTFS, HFS+,FAT32, and EXT3 file systems[8]. It also uses thin provisioning toallow for single volumes up to 16 TB depending on the hostoperating system support.

    Hewlett-Packard's EVA series arrays implement vRAID - vRAID-0,vRAID-1, vRAID-5, and vRAID-6. The EVA allows drives to be placedin groups (called Disk Groups) that form a pool of data blocks on topof which the RAID level is implemented. Any Disk Group may have"virtual disks" or LUNs of any vRAID type, including mixing vRAIDtypes in the same Disk Group - a unique feature. vRAID levels aremore closely aligned to Nested RAID levels - vRAID-1 is actually aRAID 1+0 (or RAID10), vRAID-5 is actually a RAID 5+0 (or RAID50),etc. Also, drives may be added on-the-fly to an existing Disk Group,and the existing virtual disks data is redistributed evenly over all thedrives, thereby allowing dynamic performance and capacity growth.

    IBM (Among others) has implemented a RAID 1E (Level 1 Enhanced).

    With an even number of disks it is similar to a RAID 10 array, but,unlike a RAID 10 array, it can also be implemented with an oddnumber of drives. In either case, the total available disk space is n/2.It requires a minimum of three drives.

    Parity calculation; rebuilding failed drives

    Parity data in a RAID environment is calculated using the Boolean XORfunction. For example, here is a simple RAID 4 three-disk setup consistingof two drives that hold 8 bits of data each and a third drive that will beused to hold parity data.

    Drive 1: 01101101Drive 2: 11010100

    To calculate parity data for the two drives, a XOR is performed on theirdata.i.e. 01101101 XOR 11010100 = 10111001

    The resulting parity data, 10111001, is then stored on Drive 3, the

    dedicated parity drive.

    12

    http://en.wikipedia.org/wiki/Data_Roboticshttp://en.wikipedia.org/wiki/Drobohttp://en.wikipedia.org/wiki/NTFShttp://en.wikipedia.org/wiki/HFS%2Bhttp://en.wikipedia.org/wiki/FAT32http://en.wikipedia.org/wiki/EXT3http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-7%23cite_note-7http://en.wikipedia.org/wiki/Thin_provisioninghttp://en.wikipedia.org/wiki/Hewlett-Packardhttp://en.wikipedia.org/wiki/IBMhttp://en.wikipedia.org/wiki/XORhttp://en.wikipedia.org/wiki/Data_Roboticshttp://en.wikipedia.org/wiki/Drobohttp://en.wikipedia.org/wiki/NTFShttp://en.wikipedia.org/wiki/HFS%2Bhttp://en.wikipedia.org/wiki/FAT32http://en.wikipedia.org/wiki/EXT3http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-7%23cite_note-7http://en.wikipedia.org/wiki/Thin_provisioninghttp://en.wikipedia.org/wiki/Hewlett-Packardhttp://en.wikipedia.org/wiki/IBMhttp://en.wikipedia.org/wiki/XOR
  • 7/27/2019 Despre Sistemul RAID

    13/23

    Should any of the three drives fail, the contents of the failed drive can bereconstructed on a replacement (or "hot spare") drive by subjecting thedata from the remaining drives to the same XOR operation. If Drive 2 wereto fail, its data could be rebuilt using the XOR results of the contents of thetwo remaining drives, Drive 3 and Drive 1:

    Drive 3: 10111001Drive 1: 01101101

    i.e. 10111001 XOR 01101101 = 11010100

    The result of that XOR calculation yields Drive 2's contents. 11010100 isthen stored on Drive 2, fully repairing the array. This same XOR conceptapplies similarly to larger arrays, using any number of disks. In the case ofa RAID 3 array of 12 drives, 11 drives participate in the XOR calculationshown above and yield a value that is then stored on the dedicated paritydrive.

    Another way of saying this is:

    Basically, all its doing on the 3rd (recovery) drive is telling you whetherthe data on the first 2 drives is equal or not, 0 being yes, and 1 being no.Therefore, pretend that the second drive is missing. Drive 1 says 1, andDrive 3 says that Drive 1 and 2 are not the same value (1) so drive 2 mustbe a 0. If Drive 3 said they were the same value (0) then drive 2 must be a0. Thats how its recalculated. It also tells you how the number of missing

    drives cant exceed the number of recovery volumes. If drives 1 and 2were both missing, and drive 3 said 0 (theyre the same) it still wouldntknow if theyre both 0s or if theyre both 1s. If drive 3 said 1 (theyredifferent) you wouldnt know whether drive 1 was 0 and drive 2 was 1, or ifit was the other way around.

    RAID is not data backup

    A RAID system used as a main drive is not a replacement for backing updata. Data may become damaged or destroyed without harm to thedrive(s) on which they are stored. For example, some of the data may be

    overwritten by a system malfunction; a file may be damaged or deleted byuser error or malice and not noticed for days or weeks. RAID can also beoverwhelmed by catastrophic failure that exceeds its recovery capacityand, of course, the entire array is at risk of physical damage by fire,natural disaster, or human forces. RAID is also vulnerable to controllerfailure since it is not always possible to migrate a RAID to a new controllerwithout data loss [9].

    RAID drives can make excellent backup drives, when employed as backupdevices to main storage, and particularly when located offsite from the

    main systems. However, the use of RAID as the main storage solutioncannot replace backups.

    13

    http://en.wikipedia.org/wiki/Backuphttp://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-8%23cite_note-8http://en.wikipedia.org/wiki/Backuphttp://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-8%23cite_note-8
  • 7/27/2019 Despre Sistemul RAID

    14/23

    Implementations

    (Specifically, the section comparing hardware / software raid)

    The distribution of data across multiple drives can be managed either by

    dedicated hardware or by software. When done in software the softwaremay be part of the operating system or it may be part of the firmware anddrivers supplied with the card.

    Operating system based ("software RAID")

    Software implementations are now provided by many operating systems.A software layer sits above the (generally block-based) disk device driversand provides an abstraction layer between the logical drives (RAIDs) andphysical drives. Most common levels are RAID 0 (striping across multipledrives for increased space and performance) and RAID 1 (mirroring twodrives), followed by RAID 1+0, RAID 0+1, and RAID 5 (data striping withparity) are supported.

    Apple's Mac OS X Server[10] and Mac OS X[11] support RAID 0, RAID 1and RAID 1+0.

    FreeBSD supports RAID 0, RAID 1, RAID 3, and RAID 5 and alllayerings of the above via GEOM modules[12][13] and ccd.[14], as well assupporting RAID 0, RAID 1, RAID-Z, and RAID-Z2 (similar to RAID-5and RAID-6 respectively), plus nested combinations of those via ZFS.

    Linux supports RAID 0, RAID 1, RAID 4, RAID 5, RAID 6 and all

    layerings of the above.[15][16]

    Microsoft's server operating systems support 3 RAID levels; RAID 0,

    RAID 1, and RAID 5. Some of the Microsoft desktop operatingsystems support RAID such as Windows XP Professional whichsupports RAID level 0 in addition to spanning multiple disks but onlyif using dynamic disks and volumes. Windows XP supports RAID 0, 1,and 5 with a simple file patch [17]. RAID functionality in Windows isslower than hardware RAID, but allows a RAID array to be moved toanother machine with no compatibility issues.

    NetBSD supports RAID 0, RAID 1, RAID 4 and RAID 5 (and any nestedcombination of those like 1+0) via its software implementation,

    named RAIDframe. OpenBSD aims to support RAID 0, RAID 1, RAID 4 and RAID 5 via its

    software implementation softraid. OpenSolaris and Solaris 10 supports RAID 0, RAID 1, RAID 5 (or the

    similar "RAID Z" found only on ZFS), and RAID 6 (and any nestedcombination of those like 1+0) via ZFS and now has the ability toboot from a ZFS volume on both x86 and UltraSPARC. Through SVM,Solaris 10 and earlier versions support RAID 1 for the bootfilesystem, and adds RAID 0 and RAID 5 support (and various nestedcombinations) for data drives.

    14

    http://en.wikipedia.org/wiki/Hardwarehttp://en.wikipedia.org/wiki/Softwarehttp://en.wikipedia.org/wiki/Operating_systemshttp://en.wikipedia.org/wiki/Block_devicehttp://en.wikipedia.org/wiki/Device_driverhttp://en.wikipedia.org/wiki/Logical_diskhttp://en.wikipedia.org/wiki/Disk_drivehttp://en.wikipedia.org/wiki/Mac_OS_X_Serverhttp://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-9%23cite_note-9http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-9%23cite_note-9http://en.wikipedia.org/wiki/Mac_OS_Xhttp://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-10%23cite_note-10http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-10%23cite_note-10http://en.wikipedia.org/wiki/FreeBSDhttp://en.wikipedia.org/wiki/GEOMhttp://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-11%23cite_note-11http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-12%23cite_note-12http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-13%23cite_note-13http://en.wikipedia.org/wiki/ZFShttp://en.wikipedia.org/wiki/Linuxhttp://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-14%23cite_note-14http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-15%23cite_note-15http://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-16%23cite_note-16http://en.wikipedia.org/wiki/NetBSDhttp://en.wikipedia.org/wiki/OpenBSDhttp://en.wikipedia.org/wiki/OpenSolarishttp://en.wikipedia.org/wiki/Solaris_10http://en.wikipedia.org/wiki/ZFShttp://en.wikipedia.org/wiki/UltraSPARChttp://en.wikipedia.org/wiki/Hardwarehttp://en.wikipedia.org/wiki/Softwarehttp://en.wikipedia.org/wiki/Operating_systemshttp://en.wikipedia.org/wiki/Block_devicehttp://en.wikipedia.org/wiki/Device_driverhttp://en.wikipedia.org/wiki/Logical_diskhttp://en.wikipedia.org/wiki/Disk_drivehttp://en.wikipedia.org/wiki/Mac_OS_X_Serverhttp://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-9%23cite_note-9http://en.wikipedia.org/wiki/Mac_OS_Xhttp://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-10%23cite_note-10http://en.wikipedia.org/wiki/FreeBSDhttp://en.wikipedia.org/wiki/GEOMhttp://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-11%23cite_note-11http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-12%23cite_note-12http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-13%23cite_note-13http://en.wikipedia.org/wiki/ZFShttp://en.wikipedia.org/wiki/Linuxhttp://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-14%23cite_note-14http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-15%23cite_note-15http://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-16%23cite_note-16http://en.wikipedia.org/wiki/NetBSDhttp://en.wikipedia.org/wiki/OpenBSDhttp://en.wikipedia.org/wiki/OpenSolarishttp://en.wikipedia.org/wiki/Solaris_10http://en.wikipedia.org/wiki/ZFShttp://en.wikipedia.org/wiki/UltraSPARC
  • 7/27/2019 Despre Sistemul RAID

    15/23

    Software RAID has advantages and disadvantages compared to hardwareRAID. The software must run on a host server attached to storage, andserver's processor must dedicate processing time to run the RAIDsoftware. The additional processing capacity required for RAID 0 and RAID1 is low, but parity-based arrays require more complex data processing

    during write or integrity-checking operations. As the rate of dataprocessing increases with the number of disks in the array, so does theprocessing requirement. Furthermore all the buses between the processorand the disk controller must carry the extra data required by RAID whichmay cause congestion.

    Over the history of hard disk drives, the increase in speed of commodityCPUs has been consistently greater than the increase in speed of hard diskdrive throughput[18]. Thus, over-time for a given number of hard diskdrives, the percentage of host CPU time required to saturate a givennumber of hard disk drives has been dropping. e.g. The Linux software mdRAID subsystem is capable of calculating parity information at 6GB/s(100% usage of a single core on a 2.1 GHz Intel "Core2" CPU as of Linuxv2.6.26). A three-drive RAID5 array employing using a hard disk capable ofsustaining a write of 100MB/s will require parity to be calculated at therate of 200MB/s. This will require the resources of just over 3% of a singleCPU core during write operations (parity does not need to be calculated forread operations on a RAID5 array, unless a drive has failed).

    Software RAID implementations may employ more sophisticatedalgorithms than hardware RAID implementations (for instance with respect

    to disk scheduling and command queueing), and thus may be capable ofincreased performance.

    Another concern with operating system-based RAID is the boot process. Itcan be difficult or impossible to set up the boot process such that it canfail over to another drive if the usual boot drive fails. Such systems canrequire manual intervention to make the machine bootable again after afailure. There are exceptions to this, such as the LILO bootloader for Linux,loader for FreeBSD[19] , and some configurations of the GRUB bootloadernatively understand RAID-1 and can load a kernel. If the BIOS recognizes abroken first disk and refers bootstrapping to the next disk, such a system

    will come up without intervention, but the BIOS might or might not do thatas intended. A hardware RAID controller typically has explicitprogramming to decide that a disk is broken and fall through to the nextdisk.

    Hardware RAID controllers can also carry battery-powered cache memory.For data safety in modern systems the user of software RAID might needto turn the write-back cache on the disk off (but some drives have theirown battery/capacitors on the write-back cache, a UPS, and/or implementatomicity in various ways, etc). Turning off the write cache has a

    performance penalty that can, depending on workload and how wellsupported command queuing in the disk system is, be significant. The

    15

    http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-17%23cite_note-17http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-18%23cite_note-18http://en.wikipedia.org/wiki/Atomicity_(database_systems)http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-17%23cite_note-17http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-18%23cite_note-18http://en.wikipedia.org/wiki/Atomicity_(database_systems)
  • 7/27/2019 Despre Sistemul RAID

    16/23

    battery backed cache on a RAID controller is one solution to have a safewrite-back cache.

    Finally operating system-based RAID usually uses formats specific to theoperating system in question so it cannot generally be used for partitions

    that are shared between operating systems as part of a multi-boot setup.However, this allows RAID disks to be moved from one computer to acomputer with an operating system or file system of the same type, whichcan be more difficult when using hardware RAID (e.g. #1: When onecomputer uses a hardware RAID controller from one manufacturer andanother computer uses a controller from a different manufacturer, drivestypically cannot be interchanged. e.g. #2: If the hardware controller 'dies'before the disks do, data may become unrecoverable unless a hardwarecontroller of the same type is obtained, unlike with firmware-based orsoftware-based RAID).

    Most operating system-based implementations allow RAIDs to be createdfrom partitions rather than entire physical drives. For instance, anadministrator could divide an odd number of disks into two partitions perdisk, mirror partitions across disks and stripe a volume across the mirroredpartitions to emulate IBM's RAID 1E configuration. Using partitions in thisway also allows mixing reliability levels on the same set of disks. Forexample, one could have a very robust RAID 1 partition for important files,and a less robust RAID 5 or RAID 0 partition for less important data. (SomeBIOS-based controllers offer similar features, e.g. Intel Matrix RAID.) Usingtwo partitions on the same drive in the same RAID is, however, dangerous.

    (e.g. #1: Having all partitions of a RAID-1 on the same drive will,obviously, make all the data inaccessible if the single drive fails. e.g. #2:In a RAID 5 array composed of four drives 250 + 250 + 250 + 500 GB,with the 500-GB drive split into two 250 GB partitions, a failure of thisdrive will remove two partitions from the array, causing all of the data heldon it to be lost).

    Hardware-based

    Hardware RAID controllers use different, proprietary disk layouts, so it isnot usually possible to span controllers from different manufacturers. They

    do not require processor resources, the BIOS can boot from them, andtighter integration with the device driver may offer better error handling.

    A hardware implementation of RAID requires at least a special-purposeRAID controller. On a desktop system this may be a PCIexpansion card,PCI-eexpansion card or built into the motherboard. Controllers supportingmost types of drive may be used IDE/ATA, SATA, SCSI, SSA, FibreChannel, sometimes even a combination. The controller and disks may bein a stand-alone disk enclosure, rather than inside a computer. Theenclosure may be directly attached to a computer, or connected via SAN.

    The controller hardware handles the management of the drives, andperforms any parity calculations required by the chosen RAID level.

    16

    http://en.wikipedia.org/wiki/Disk_partitioninghttp://en.wikipedia.org/wiki/Non-standard_RAID_levels#IBM_ServeRAID_1Ehttp://en.wikipedia.org/wiki/Intel_Matrix_RAIDhttp://en.wikipedia.org/wiki/RAID_controllerhttp://en.wikipedia.org/wiki/Peripheral_Component_Interconnecthttp://en.wikipedia.org/wiki/Expansion_cardhttp://en.wikipedia.org/wiki/PCI_Expresshttp://en.wikipedia.org/wiki/Expansion_cardhttp://en.wikipedia.org/wiki/Motherboardhttp://en.wikipedia.org/wiki/Advanced_Technology_Attachmenthttp://en.wikipedia.org/wiki/Serial_ATAhttp://en.wikipedia.org/wiki/SCSIhttp://en.wikipedia.org/wiki/Serial_Storage_Architecturehttp://en.wikipedia.org/wiki/Fibre_Channelhttp://en.wikipedia.org/wiki/Fibre_Channelhttp://en.wikipedia.org/wiki/Disk_enclosurehttp://en.wikipedia.org/wiki/Direct-attached_storagehttp://en.wikipedia.org/wiki/Storage_area_networkhttp://en.wikipedia.org/wiki/Disk_partitioninghttp://en.wikipedia.org/wiki/Non-standard_RAID_levels#IBM_ServeRAID_1Ehttp://en.wikipedia.org/wiki/Intel_Matrix_RAIDhttp://en.wikipedia.org/wiki/RAID_controllerhttp://en.wikipedia.org/wiki/Peripheral_Component_Interconnecthttp://en.wikipedia.org/wiki/Expansion_cardhttp://en.wikipedia.org/wiki/PCI_Expresshttp://en.wikipedia.org/wiki/Expansion_cardhttp://en.wikipedia.org/wiki/Motherboardhttp://en.wikipedia.org/wiki/Advanced_Technology_Attachmenthttp://en.wikipedia.org/wiki/Serial_ATAhttp://en.wikipedia.org/wiki/SCSIhttp://en.wikipedia.org/wiki/Serial_Storage_Architecturehttp://en.wikipedia.org/wiki/Fibre_Channelhttp://en.wikipedia.org/wiki/Fibre_Channelhttp://en.wikipedia.org/wiki/Disk_enclosurehttp://en.wikipedia.org/wiki/Direct-attached_storagehttp://en.wikipedia.org/wiki/Storage_area_network
  • 7/27/2019 Despre Sistemul RAID

    17/23

    Most hardware implementations provide a read/write cache, which,depending on the I/O workload, will improve performance. In most systemsthe write cache is non-volatile (i.e. battery-protected), so pending writesare not lost on a power failure.

    Hardware implementations provide guaranteed performance, add nooverhead to the local CPU complex and can support many operatingsystems, as the controller simply presents a logical disk to the operatingsystem.

    Hardware implementations also typically support hot swapping, allowingfailed drives to be replaced while the system is running.

    However, hardware RAID controllers are mostly slower than software RAIDdue to a dedicated CPU on the controller card, which isn't as fast as a realCPU in a computer/server. More expensive RAID controllers have fasterCPUs. If you buy a hardware RAID controller, checkout the specs and lookfor throughput speed.

    Firmware/driver-based RAID ("FakeRAID")

    Operating system-based RAID doesn't always protect the boot process andis generally impractical on desktop versions of Windows (as describedabove). Hardware RAID controllers are expensive and proprietary. To fillthis gap, cheap "RAID controllers" were introduced that do not contain aRAID controller chip, but simply a standard disk controller chip with special

    firmware and drivers. During early stage bootup the RAID is implementedby the firmware; when a protected-mode operating system kernel such asLinux or a modern version ofMicrosoft Windows is loaded the drivers takeover.

    These controllers are described by their manufacturers as RAIDcontrollers, and it is rarely made clear to purchasers that the burden ofRAID processing is borne by the host computer's central processing unit,not the RAID controller itself, thus introducing the aforementioned CPUoverhead from which hardware controllers don't suffer. Firmwarecontrollers often can only use certain types of hard drives in their RAID

    arrays (e.g. SATA for Intel Matrix RAID), as there is neither SCSI nor PATAsupport in modern Intel ICH southbridges; however, motherboard makersimplement RAID controllers outside of the southbridge on somemotherboards. Before their introduction, a "RAID controller" implied thatthe controller did the processing, and the new type has become known bysome as "fake RAID" even though the RAID itself is implemented correctly.Adaptec calls them "HostRAID".

    Network-attached storage

    Main article: Network-attached storage

    17

    http://en.wikipedia.org/wiki/Cachehttp://en.wikipedia.org/wiki/Logical_diskhttp://en.wikipedia.org/wiki/CPUhttp://en.wikipedia.org/wiki/Serverhttp://en.wikipedia.org/wiki/Throughputhttp://en.wikipedia.org/wiki/Operating_system_kernelhttp://en.wikipedia.org/wiki/Microsoft_Windowshttp://en.wikipedia.org/wiki/Intel_Matrix_RAIDhttp://en.wikipedia.org/wiki/Southbridge_(computing)http://en.wikipedia.org/wiki/Adaptechttp://en.wikipedia.org/wiki/Network-attached_storagehttp://en.wikipedia.org/wiki/Cachehttp://en.wikipedia.org/wiki/Logical_diskhttp://en.wikipedia.org/wiki/CPUhttp://en.wikipedia.org/wiki/Serverhttp://en.wikipedia.org/wiki/Throughputhttp://en.wikipedia.org/wiki/Operating_system_kernelhttp://en.wikipedia.org/wiki/Microsoft_Windowshttp://en.wikipedia.org/wiki/Intel_Matrix_RAIDhttp://en.wikipedia.org/wiki/Southbridge_(computing)http://en.wikipedia.org/wiki/Adaptechttp://en.wikipedia.org/wiki/Network-attached_storage
  • 7/27/2019 Despre Sistemul RAID

    18/23

    While not directly associated with RAID, Network-attached storage (NAS) isan enclosure containing disk drives and the equipment necessary to makethem available over a computer network, usually Ethernet. The enclosureis basically a dedicated computer in its own right, designed to operateover the network without screen or keyboard. It contains one or more disk

    drives; multiple drives may be configured as a RAID.

    Hot spares

    Both hardware and software RAIDs with redundancy may support the useofhot spare drives, a drive physically installed in the array which isinactive until an active drive fails, when the system automatically replacesthe failed drive with the spare, rebuilding the array with the spare driveincluded. This reduces the mean time to recovery (MTTR), though itdoesn't eliminate it completely. Subsequent additional failure(s) in thesame RAID redundancy group before the array is fully rebuilt can result inloss of the data; rebuilding can take several hours, especially on busysystems.

    Rapid replacement of failed drives is important as the drives of an arraywill all have had the same amount of use, and may tend to fail at aboutthe same time rather than randomly.[citation needed] RAID 6 without a spareuses the same number of drives as RAID 5 with a hot spare and protectsdata against simultaneous failure of up to two drives, but requires a moreadvanced RAID controller. Further, a hot spare can be shared by multipleRAID sets.

    Reliability terms

    Failure rateTwo different kinds of failure rates are applicable to RAID systems.Logical failure is defined as the loss of a single drive and its rate isequal to the sum of individual drives' failure rates. System failure isdefined as loss of data and its rate will depend on the type of RAID.For RAID 0 this is equal to the logical failure rate, as there is noredundancy. For other types of RAID, it will be less than the logicalfailure rate, potentially approaching zero, and its exact value will

    depend on the type of RAID, the number of drives employed, and thevigilance and alacrity of its human administrators.

    Mean time to data loss (MTTDL)In this context, the average time before a loss of data in a givenarray.[20]. Mean time to data loss of a given RAID may be higher orlower than that of its constituent hard drives, depending upon whattype of RAID is employed. The referenced report assumes times todata loss are exponentially distributed. This means 63.2% of all dataloss will occur between time 0 and the MTTDL.

    Mean time to recovery (MTTR)

    In arrays that include redundancy for reliability, this is the timefollowing a failure to restore an array to its normal failure-tolerant

    18

    http://en.wikipedia.org/wiki/Network-attached_storagehttp://en.wikipedia.org/wiki/Computer_networkhttp://en.wikipedia.org/wiki/Ethernethttp://en.wikipedia.org/wiki/Hot_sparehttp://en.wikipedia.org/wiki/Mean_time_to_recoveryhttp://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Failure_ratehttp://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-19%23cite_note-19http://en.wikipedia.org/wiki/Mean_time_to_recoveryhttp://en.wikipedia.org/wiki/Network-attached_storagehttp://en.wikipedia.org/wiki/Computer_networkhttp://en.wikipedia.org/wiki/Ethernethttp://en.wikipedia.org/wiki/Hot_sparehttp://en.wikipedia.org/wiki/Mean_time_to_recoveryhttp://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Failure_ratehttp://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-19%23cite_note-19http://en.wikipedia.org/wiki/Mean_time_to_recovery
  • 7/27/2019 Despre Sistemul RAID

    19/23

    mode of operation. This includes time to replace a failed diskmechanism as well as time to re-build the array (i.e. to replicatedata for redundancy).

    Unrecoverable bit error rate (UBE)This is the rate at which a disk drive will be unable to recover data

    after application of cyclic redundancy check (CRC) codes andmultiple retries.

    Write cache reliabilitySome RAID systems use RAM write cache to increase performance. Apower failure can result in data loss unless this sort ofdisk buffer issupplemented with a battery to ensure that the buffer has enoughtime to write from RAM back to disk.

    Atomic write failureAlso known by various terms such as torn writes, torn pages,incomplete writes, interrupted writes, non-transactional, etc.

    Problems with RAID

    Correlated failures

    The theory behind the error correction in RAID assumes that failures ofdrives are independent. Given these assumptions it is possible to calculatehow often they can fail and to arrange the array to make data lossarbitrarily improbable.

    In practice, the drives are often the same ages, with similar wear. Since

    many drive failures are due to mechanical issues which are more likely onolder drives, this violates those assumptions and failures are in factstatistically correlated. In practice then, the chances of a second failurebefore the first has been recovered is not nearly as unlikely as might besupposed, and data loss can, in practice, occur at significant rates.[21]

    A common misconception is that "server-grade" drives fail less frequentlythan consumer-grade drives. Two independent studies, one by CarnegieMellon University and the other by Google, have shown that the grade ofthe drive does not relate to failure rates.[22][23]

    Atomicity

    This is a little understood and rarely mentioned failure mode for redundantstorage systems that do not utilize transactional features. DatabaseresearcherJim Gray wrote "Update in Place is a Poison Apple"[24] during theearly days of relational database commercialization. However, thiswarning largely went unheeded and fell by the wayside upon the advent ofRAID, which many software engineers mistook as solving all data storageintegrity and reliability problems. Many software programs update astorage object "in-place"; that is, they write a new version of the object on

    to the same disk addresses as the old version of the object. While thesoftware may also log some delta information elsewhere, it expects the

    19

    http://en.wikipedia.org/wiki/RAMhttp://en.wikipedia.org/wiki/Disk_bufferhttp://en.wikipedia.org/wiki/Atomicity_(database_systems)http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-schroeder-20%23cite_note-schroeder-20http://en.wikipedia.org/wiki/Carnegie_Mellon_Universityhttp://en.wikipedia.org/wiki/Carnegie_Mellon_Universityhttp://en.wikipedia.org/wiki/Googlehttp://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-CMUDiskFailure-21%23cite_note-CMUDiskFailure-21http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-GoogleDiskFailure-22%23cite_note-GoogleDiskFailure-22http://en.wikipedia.org/wiki/Jim_Gray_(computer_scientist)http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-23%23cite_note-23http://en.wikipedia.org/wiki/RAMhttp://en.wikipedia.org/wiki/Disk_bufferhttp://en.wikipedia.org/wiki/Atomicity_(database_systems)http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-schroeder-20%23cite_note-schroeder-20http://en.wikipedia.org/wiki/Carnegie_Mellon_Universityhttp://en.wikipedia.org/wiki/Carnegie_Mellon_Universityhttp://en.wikipedia.org/wiki/Googlehttp://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-CMUDiskFailure-21%23cite_note-CMUDiskFailure-21http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-GoogleDiskFailure-22%23cite_note-GoogleDiskFailure-22http://en.wikipedia.org/wiki/Jim_Gray_(computer_scientist)http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-23%23cite_note-23
  • 7/27/2019 Despre Sistemul RAID

    20/23

    storage to present "atomic write semantics," meaning that the write of thedata either occurred in its entirety or did not occur at all.

    However, very few storage systems provide support for atomic writes, andeven fewer specify their rate of failure in providing this semantic. Note

    that during the act of writing an object, a RAID storage device will usuallybe writing all redundant copies of the object in parallel, althoughoverlapped or staggered writes are more common when a single RAIDprocessor is responsible for multiple drives. Hence an error that occursduring the process of writing may leave the redundant copies in differentstates, and furthermore may leave the copies in neither the old nor thenew state. The little known failure mode is that delta logging relies on theoriginal data being either in the old or the new state so as to enablebacking out the logical change, yet few storage systems provide an atomicwrite semantic on a RAID disk.

    While the battery-backed write cache may partially solve the problem, it isapplicable only to a power failure scenario.

    Since transactional support is not universally present in hardware RAID,many operating systems include transactional support to protect againstdata loss during an interrupted write. Novell Netware, starting with version3.x, included a transaction tracking system. Microsoft introducedtransaction tracking via thejournaling feature in NTFS. Ext4 has journalingwith checksums; ext3 has journaling without checksums but an "append-only" option, or ext3COW (Copy on Write). If the journal itself in a

    filesystem is corrupted though, this can be problematic. The journaling inNetApp WAFL file system gives atomicity by never updating the data inplace, as does ZFS. An alternative method to journaling is soft updates,which are used in some BSD-derived system's implementation ofUFS.

    This can present as a sector read failure. Some RAID implementationsprotect against this failure mode by remapping the bad sector, using theredundant data to retrieve a good copy of the data, and rewriting thatgood data to the newly mapped replacement sector. The UBE(Unrecoverable Bit Error) rate is typically specified at 1 bit in 1015 forenterprise class disk drives (SCSI, FC, SAS) , and 1 bit in 1014 for desktop

    class disk drives (IDE/ATA/PATA, SATA). Increasing disk capacities andlarge RAID 5 redundancy groups have led to an increasing inability tosuccessfully rebuild a RAID group after a disk failure because anunrecoverable sector is found on the remaining drives. Double protectionschemes such as RAID 6 are attempting to address this issue, but sufferfrom a very high write penalty.

    Write cache reliability

    The disk system can acknowledge the write operation as soon as the data

    is in the cache, not waiting for the data to be physically written. Thistypically occurs in old, non-journaled systems such as FAT32, or if the

    20

    http://en.wikipedia.org/wiki/Journaling_file_systemhttp://en.wikipedia.org/wiki/NTFShttp://en.wikipedia.org/wiki/Write_Anywhere_File_Layouthttp://en.wikipedia.org/wiki/ZFS#Copy-on-write_transactional_modelhttp://en.wikipedia.org/wiki/Soft_updateshttp://en.wikipedia.org/wiki/Unix_File_Systemhttp://en.wikipedia.org/wiki/Bad_sectorhttp://en.wikipedia.org/wiki/SCSIhttp://en.wikipedia.org/wiki/Fibre_Channelhttp://en.wikipedia.org/wiki/Serial_Attached_SCSIhttp://en.wikipedia.org/wiki/Journaling_file_systemhttp://en.wikipedia.org/wiki/NTFShttp://en.wikipedia.org/wiki/Write_Anywhere_File_Layouthttp://en.wikipedia.org/wiki/ZFS#Copy-on-write_transactional_modelhttp://en.wikipedia.org/wiki/Soft_updateshttp://en.wikipedia.org/wiki/Unix_File_Systemhttp://en.wikipedia.org/wiki/Bad_sectorhttp://en.wikipedia.org/wiki/SCSIhttp://en.wikipedia.org/wiki/Fibre_Channelhttp://en.wikipedia.org/wiki/Serial_Attached_SCSI
  • 7/27/2019 Despre Sistemul RAID

    21/23

    Linux/Unix "writeback" option is chosen without any protections like the"soft updates" option (to promote I/O speed whilst trading-away datareliability). A power outage or system hang such as a BSOD can mean asignificant loss of any data queued in such a cache.

    Often a battery is protecting the write cache, mostly solving the problem.If a write fails because of power failure, the controller may complete thepending writes as soon as restarted. This solution still has potential failurecases: the battery may have worn out, the power may be off for too long,the disks could be moved to another controller, the controller itself couldfail. Some disk systems provide the capability of testing the batteryperiodically, however this leaves the system without a fully chargedbattery for several hours.

    An additional concern about write cache reliability exists, specificallyregarding devices equipped with a write-back cachea caching systemwhich reports the data as written as soon as it is written to cache, asopposed to the non-volatile medium.[25] The safer cache technique is write-through, which reports transactions as written when they are written tothe non-volatile medium.

    Equipment compatibility

    The disk formats on different RAID controllers are not necessarilycompatible, so that it may not be possible to read a RAID on differenthardware. Consequently a non-disk hardware failure may require using

    identical hardware to recover the data. Software RAID however, such asimplemented in the Linux kernel, alleviates this concern, as the setup isnot hardware dependent, but runs on ordinary disk controllers.Additionally, Software RAID1 disks (and some hardware RAID1 disks, forexample Silicon Image 5744) can be read like normal disks, so no RAIDsystem is required to retrieve the data. Data recovery firms typically havea very hard time recovering data from RAID drives, with the exception ofRAID1 drives with conventional data structure.

    Data recovery in the event of a failed array

    With larger disk capacities the odds of a disk failure during rebuild are notnegligible. In that event the difficulty of extracting data from a failed arraymust be considered. Only RAID 1 stores all data on each disk. Although itmay depend on the controller, some RAID 1 disks can be read as a singleconventional disk. This means a dropped RAID 1 disk, although damaged,can often be reasonably easily recovered using a software recoveryprogram or CHKDSK. If the damage is more severe, data can often berecovered by professional drive specialists. RAID5 and other striped ordistributed arrays present much more formidable obstacles to datarecovery in the event the array goes down.

    Drive error recovery algorithms

    21

    http://en.wikipedia.org/wiki/BSODhttp://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-24%23cite_note-24http://en.wikipedia.org/wiki/BSODhttp://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-24%23cite_note-24
  • 7/27/2019 Despre Sistemul RAID

    22/23

    Many modern drives have internal error recovery algorithms that can takeupwards of a minute to recover and re-map data that the drive fails toeasily read. Many RAID controllers will drop a non-responsive drive in 8seconds or so. This can cause the array to drop a good drive because ithas not been given enough time to complete its internal error recovery

    procedure, leaving the rest of the array vulnerable. So-called enterpriseclass drives limit the error recovery time and prevent this problem, butdesktop drives can be quite risky for this reason. A fix is known forWestern Digital drives. A utility called WDTLER.exe can limit the errorrecovery time of a Western Digital desktop drive so that it will not bedropped from the array for this reason. The utility enablesTLER (timelimited error recovery) which limits the error recovery time to 7 seconds. Western Digital enterprise class drivesare shipped from the factory with TLER enabled to prevent being droppedfrom RAID arrays. Similar technologies are used by Seagate, Samsung,and Hitachi.

    Increasing recovery time

    Drive capacity has grown at a much faster rate than transfer speed, anderror rates have only fallen a little in comparison. Therefore, largercapacity drives may take hours, if not days, to rebuild. The re-build time isalso limited if the entire array is still in operation at reduced capacity.[26]

    Given a RAID array with only one disk of redundancy (RAIDs 3, 4, and 5), asecond failure would cause complete failure of the array, as the mean timebetween failure (MTBF) is high.[27]

    Other problems and viruses

    While RAID may protect against physical drive failure, the data is stillexposed to operator, software, hardware and virus destruction. Manystudies[28] cite operator fault as the most common source of malfunction,such as a server operator replacing the incorrect disk in a faulty RAIDarray, and disabling the system (even temporarily) in the process.[29] Most

    well-designed systems include separate backup systems that hold copiesof the data, but don't allow much interaction with it. Most copy the dataand remove the copy from the computer for safe storage.

    History

    Norman Ken Ouchi at IBM was awarded a 1978 U.S. patent 4,092,732[30]titled "System for recovering data stored in failed memory unit." Theclaims for this patent describe what would later be termed RAID 5 with fullstripe writes. This 1978 patent also mentions that disk mirroring or

    duplexing (what would later be termed RAID 1) and protection with

    22

    http://en.wikipedia.org/wiki/Time-Limited_Error_Recoveryhttp://en.wikipedia.org/wiki/Time-Limited_Error_Recoveryhttp://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-25%23cite_note-25http://en.wikipedia.org/wiki/Mean_time_between_failurehttp://en.wikipedia.org/wiki/Mean_time_between_failurehttp://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-StorageForum-26%23cite_note-StorageForum-26http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-27%23cite_note-27http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-28%23cite_note-28http://en.wikipedia.org/wiki/United_States_patent_lawhttp://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-29%23cite_note-29http://en.wikipedia.org/wiki/Claim_(patent)http://en.wikipedia.org/wiki/Data_stripinghttp://en.wikipedia.org/wiki/Time-Limited_Error_Recoveryhttp://en.wikipedia.org/wiki/Time-Limited_Error_Recoveryhttp://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-25%23cite_note-25http://en.wikipedia.org/wiki/Mean_time_between_failurehttp://en.wikipedia.org/wiki/Mean_time_between_failurehttp://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-StorageForum-26%23cite_note-StorageForum-26http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-27%23cite_note-27http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-28%23cite_note-28http://en.wikipedia.org/wiki/United_States_patent_lawhttp://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-29%23cite_note-29http://en.wikipedia.org/wiki/Claim_(patent)http://en.wikipedia.org/wiki/Data_striping
  • 7/27/2019 Despre Sistemul RAID

    23/23

    dedicated parity (that would later be termed RAID 4) were prior art at thattime.

    The term RAID was first defined by David A. Patterson, Garth A. Gibsonand Randy Katz at the University of California, Berkeley, in 1987. They

    studied the possibility of using two or more drives to appear as a singledevice to the host system and published a paper: "A Case for RedundantArrays of Inexpensive Disks (RAID)" in June 1988 at the SIGMODconference.[1]

    This specification suggested a number of prototype RAID levels, orcombinations of drives. Each had theoretical advantages anddisadvantages. Over the years, different implementations of the RAIDconcept have appeared. Most differ substantially from the originalidealized RAID levels, but the numbered names have remained. This canbe confusing, since one implementation of RAID 5, for example, can differsubstantially from another. RAID 3 and RAID 4 are often confused andeven used interchangeably.

    One of the early uses of RAID 0 and 1 was the Crosfield Electronics Studio9500 page layout system based on the Python workstation. The Pythonworkstation was a Crosfield managed international development usingPERQ 3B electronics, benchMark Technology's Viper display system andCrosfield's own RAID and fibre-optic network controllers. RAID 0 wasparticularly important to these workstations as it dramatically speededimage manipulation for the pre-press markets. Volume production started

    in Peterborough, England in early 1987.

    Non-RAID drive architectures

    Main article: Non-RAID drive architectures

    Non-RAID drive architectures also exist, and are often referred to, similarlyto RAID, by standard acronyms, several tongue-in-cheek. A single drive isreferred to as a SLED (Single Large Expensive Drive), by contrast withRAID, while an array of drives without any additional control (accessedsimply as independent drives) is referred to as a JBOD (Just a Bunch Of

    Disks). Simple concatenation is referred to a SPAN, or sometimes as JBOD,though this latter is proscribed in careful use, due to the alternativemeaning just cited.

    http://en.wikipedia.org/wiki/Prior_arthttp://en.wikipedia.org/wiki/David_A._Patterson_(scientist)http://en.wikipedia.org/wiki/Garth_A._Gibsonhttp://en.wikipedia.org/wiki/Randy_Katzhttp://en.wikipedia.org/wiki/SIGMODhttp://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-patterson-0%23cite_note-patterson-0http://en.wikipedia.org/wiki/PERQhttp://en.wikipedia.org/wiki/Non-RAID_drive_architectureshttp://en.wikipedia.org/wiki/Non-RAID_drive_architectureshttp://en.wikipedia.org/wiki/Prior_arthttp://en.wikipedia.org/wiki/David_A._Patterson_(scientist)http://en.wikipedia.org/wiki/Garth_A._Gibsonhttp://en.wikipedia.org/wiki/Randy_Katzhttp://en.wikipedia.org/wiki/SIGMODhttp://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#cite_note-patterson-0%23cite_note-patterson-0http://en.wikipedia.org/wiki/PERQhttp://en.wikipedia.org/wiki/Non-RAID_drive_architectureshttp://en.wikipedia.org/wiki/Non-RAID_drive_architectures