Assignment 5 CH

Embed Size (px)

Citation preview

  • 8/14/2019 Assignment 5 CH

    1/29

    1.Explain the RAID terminology. (What isRAID)From Wikipedia, the free encyclopedia

    RAID is an acronym first defined by David A. Patterson, Garth A. Gibson, and Randy Katz at

    the University of California, Berkeley in 1987 to describe a redundant array of inexpensive

    disks,[1] a technology that allowed computer users to achieve high levels of storage reliability

    from low-cost and less reliable PC-class disk-drive components, via the technique of arranging

    the devices into arrays for redundancy.

    Marketers representing industry RAID manufacturers later reinvented the term to describe a

    redundant array ofindependentdisks as a means of dissociating a "low cost" expectation from

    RAID technology.[2]

    "RAID" is now used as an umbrella term forcomputer data storage schemes that can divide and

    replicate data among multiple hard disk drives. The different schemes/architectures are named by

    the word RAID followed by a number, as in RAID 0, RAID 1, etc. RAID's various designs

    involve two key design goals: increase data reliability and/or increase input/output performance.

    When multiple physical disks are set up to use RAID technology, they are said to be in aRAID

    array. This array distributes data across multiple disks, but the array is seen by the computer userand operating system as one single disk. RAID can be set up to serve several different purposes.

    Purpose and basics

    Redundancy is achieved by either writing the same data to multiple drives (known as mirroring),

    or collecting data (known asparity data) across the array, calculated such that the failure of one

    (or possibly more, depending on the type of RAID) disks in the array will not result in loss of

    data. A failed disk may be replaced by a new one, and the lost data reconstructed from the

    remaining data and the parity data.

    How Parity Is Calculated, And How Failed Drives Are

    Rebuilt

    http://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/University_of_California,_Berkeleyhttp://en.wikipedia.org/wiki/Umbrella_termhttp://en.wikipedia.org/wiki/Computer_data_storagehttp://en.wikipedia.org/wiki/Data_(computing)http://en.wikipedia.org/wiki/Data_reliabilityhttp://en.wikipedia.org/wiki/Input/outputhttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Garth_A._Gibsonhttp://en.wikipedia.org/wiki/Randy_Katzhttp://en.wikipedia.org/wiki/University_of_California,_Berkeleyhttp://en.wikipedia.org/wiki/Umbrella_termhttp://en.wikipedia.org/wiki/Computer_data_storagehttp://en.wikipedia.org/wiki/Data_(computing)http://en.wikipedia.org/wiki/Data_reliabilityhttp://en.wikipedia.org/wiki/Input/outputhttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/David_A._Patterson_(scientist)
  • 8/14/2019 Assignment 5 CH

    2/29

    Parity data in a RAID environment is calculated using the Boolean XORfunction. For example,

    here is a simple RAID 4 three-disk setup consisting of two drives that hold 8 bits of data each

    and a third drive that will be used to hold parity data.

    Drive 1: 01101101

    Drive 2: 11010100

    To calculate parity data for the two drives, an XOR is performed on their data.

    i.e. 01101101 XOR11010100 = 10111001

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

    Should any of the three drives fail, the contents of the failed drive can be reconstructed on a

    replacement (or "hot spare") drive by subjecting the data from the remaining drives to the same

    XOR operation. If Drive 2 were to fail, its data could be rebuilt using the XOR results of the

    contents of the two remaining drives, Drive 3 and Drive 1:

    Drive 3: 10111001

    Drive 1: 01101101

    i.e. 10111001 XOR01101101 = 11010100

    The result of that XOR calculation yields Drive 2's contents. 11010100 is then stored on Drive 2,

    fully repairing the array. This same XOR concept applies similarly to larger arrays, using any

    number of disks. In the case of a RAID 3 array of 12 drives, 11 drives participate in the XOR

    calculation shown above and yield a value that is then stored on the dedicated parity drive.

    Organization

    Organizing disks into a redundant array decreases the usable storage capacity. For instance, a 2-

    disk RAID 1 array loses half of the total capacity that would have otherwise been available using

    both disks independently, and a RAID 5 array with several disks loses the capacity of one disk.Other types 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.

    http://en.wikipedia.org/wiki/XORhttp://en.wikipedia.org/wiki/XOR
  • 8/14/2019 Assignment 5 CH

    3/29

    RAID 0 (striped disks) distributes data across multiple disks in a way that gives improved

    speed at any given instant. If one disk fails, however, all of the 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 0 configuration can be applied to a single drive provided that the RAID

    controller is hardware and not software (i.e. OS-based arrays) and allows for such

    configuration. This allows a single drive to be added to a controller already containing

    another RAID configuration when the user does 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 only (no RAID)), which requires that each individual drive be a part of some sort

    of RAID array.

    RAID 1 mirrors the contents of the disks, making a form of 1:1 ratio realtime backup.The contents of each disk in the array are identical to that of every other disk in the array.

    A RAID 1 array requires a minimum of two drives. RAID 1 mirrors, though during the

    writing process copy the data identically to both drives, would not be suitable as a

    permanent backup solution, as RAID technology by design allows for certain failures to

    take place.

    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.Fault tolerance is achieved by adding an

    extra disk to the array and dedicating it to storing parity information. The storage

    capacity of the array is reduced by one disk. A RAID 3 or 4 array requires a minimum of

    three drives: two to hold striped data, and a third drive to hold parity data.

    RAID 5 (striped disks with distributed parity) combines three or more disks in a way that

    protects data against the loss of any one disk. It is similar to RAID 3 but the parity is not

    stored on one dedicated drive, instead parity information is interspersed across the drive

    array. The storage capacity of the array is a function of the number of drives minus the

    space needed to store parity. The maximum number of drives that can fail in any RAID 5

    configuration without losing data is only one. Losing two drives in a RAID 5 array is

    referred to as a "double fault" and results in data loss.

    RAID 6 (striped disks with dual parity) combines four or more disks in a way that

    protects data against loss of any two disks.

  • 8/14/2019 Assignment 5 CH

    4/29

    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 10 array requires a minimum of two drives, but is more

    commonly implemented with 4 drives to take advantage of speed benefits.

    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 hold the striped data, plus

    another two to mirror the first pair.

    RAID can involve significant computation when reading and writing information. With

    traditional "real" RAID hardware, a separate controller does this computation. In other cases the

    operating system or simpler and less expensive controllers require the host computer's processor

    to do the computing, which reduces the computer's performance on processor-intensive tasks

    (see Operating system based ("software RAID") and Firmware/driver-based RAID below).

    SimplerRAID controllers may provide only levels 0 and 1, which require less processing.

    RAID systems with redundancy continue working without interruption when one (or possibly

    more, depending on the type of RAID) disks of the array fail, although they are then vulnerable

    to further failures. When the bad disk is replaced by a new one the array is rebuilt while the

    system continues to operate normally. Some systems have to be powered down when removing

    or adding a drive; others support hot swapping, allowing drives to be replaced without powering

    down. RAID with hot-swapping is often used in high availability systems, where it is important

    that the system remains running as much of the time as possible.

    RAID is not a good alternative to backing up data. Data may become damaged or destroyed

    without harm to the drive(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 by user error or malice

    and not noticed for days or weeks; and, of course, the entire array is at risk of physical damage.

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

    Principles

    RAID combines two or more physical hard disks into a single logical unit by using either special

    hardware or software. Hardware solutions often are designed to present themselves to the

    attached system as a single hard drive, so that the operating system would be unaware of the

    technical workings. For example, you might configure a 1TB RAID 5 array using three 500GB

    hard drives in hardware RAID, the operating system would simply be presented with a "single"

    http://en.wikipedia.org/wiki/RAID_controllerhttp://en.wikipedia.org/wiki/Hot_swappinghttp://en.wikipedia.org/wiki/High_availabilityhttp://en.wikipedia.org/wiki/Backuphttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/RAID_controllerhttp://en.wikipedia.org/wiki/Hot_swappinghttp://en.wikipedia.org/wiki/High_availabilityhttp://en.wikipedia.org/wiki/Backuphttp://en.wikipedia.org/wiki/Operating_system
  • 8/14/2019 Assignment 5 CH

    5/29

    1TB volume. Software solutions are typically implemented in the operating system and would

    present the RAID drive as a single volume to applications running upon the operating system.

    There are three key concepts in RAID: mirroring, the copying of data to more than one disk;

    striping, the splitting of data across more than one disk; and error correction, where redundant

    data is stored to allow problems to be detected and possibly fixed (known as fault tolerance).

    Different RAID levels use one or more of these techniques, depending on the system

    requirements. RAID's main aim can be either to improve reliability and availability of data,

    ensuring that important data is available more often than not (e.g. a database of customer orders),

    or merely to improve the access speed to files (e.g. for a system that delivers video on demand

    TV programs to many viewers).

    The configuration affects reliability and performance in different ways. The problem with using

    more disks is that it is more likely that one will fail, but by using error checking the total system

    can be made more reliable by being able to survive and repair the failure. Basic mirroring can

    speed up reading data as a system can read different data from both the disks, but it may be slow

    for writing if the configuration requires that both disks must confirm that the data is correctly

    written. Striping is often used for performance, where it allows sequences of data to be read from

    multiple disks at the same time. Error checking typically will slow the system down as data

    needs to be read from several places and compared. The design of RAID systems is therefore a

    compromise and understanding the requirements of a system is important. Modern disk arrays

    typically provide the facility to select the appropriate RAID configuration.

    Standard levels

    Main article: Standard RAID levels

    A number of standard schemes have evolved which are referred to as levels. There were five

    RAID levels originally conceived, but many more variations have evolved, notably several

    nested levels and many non-standard levels (mostlyproprietary).

    Following is a brief summary of the most commonly used RAID levels. [3] Space efficiency is

    given as amount of storage space available in an array of n disks, in multiples of the capacity of a

    single drive. For example if an array holds n=5 drives of 250GB and efficiency is n-1 then

    available space is 4 times 250GB or roughly 1TB.

    http://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/Video_on_demandhttp://en.wikipedia.org/wiki/Disk_arrayhttp://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/Proprietary_softwarehttp://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/Video_on_demandhttp://en.wikipedia.org/wiki/Disk_arrayhttp://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/Proprietary_software
  • 8/14/2019 Assignment 5 CH

    6/29

    Level DescriptionMinimum# of disks

    SpaceEfficiency

    Image

    RAID0

    "Striped set without parity" or"Striping". Provides improved performance and additionalstorage but no redundancy or faulttolerance. Because there is noredundancy, this level is notactually a Redundant Array ofInexpensive Disks, i.e. not trueRAID. However, because of thesimilarities to RAID (especiallythe need for a controller todistribute data across multiple

    disks), simple stripe sets arenormally referred to as RAID 0.Any disk failure destroys thearray, which has greater consequences with more disks inthe array (at a minimum,catastrophic data loss is twice assevere compared to single driveswithout RAID). A single diskfailure destroys the entire arraybecause when data is written to a

    RAID 0 drive, the data is brokeninto fragments. The number offragments is dictated by thenumber of disks in the array. Thefragments are written to theirrespective disks simultaneously onthe same sector. This allowssmaller sections of the entirechunk of data to be read off thedrive in parallel, increasing bandwidth. RAID 0 does notimplement error checking so any

    error is unrecoverable. More disksin the array means higherbandwidth, but greater risk of dataloss.

    2 n

    http://en.wikipedia.org/wiki/RAID_0http://en.wikipedia.org/wiki/RAID_0http://en.wikipedia.org/wiki/Data_stripinghttp://en.wikipedia.org/wiki/Parity_bithttp://en.wikipedia.org/wiki/Data_stripinghttp://en.wikipedia.org/wiki/File:RAID_0.svghttp://en.wikipedia.org/wiki/RAID_0http://en.wikipedia.org/wiki/RAID_0http://en.wikipedia.org/wiki/Data_stripinghttp://en.wikipedia.org/wiki/Parity_bithttp://en.wikipedia.org/wiki/Data_striping
  • 8/14/2019 Assignment 5 CH

    7/29

    RAID1

    'Mirrored set without parity' or'Mirroring'. Provides faulttolerance from disk errors andfailure of all but one of the drives.

    Increased read performance occurswhen using a multi-threadedoperating system that supportssplit seeks, as well as a very small performance reduction whenwriting. Array continues tooperate so long as at least onedrive is functioning. Using RAID1 with a separate controller foreach disk is sometimes calledduplexing.

    2

    1 (size ofthesmallestdisk)

    RAID2

    Hamming code parity. Disks aresynchronized and striped in verysmall stripes, often in single bytes/words. Hamming codeserror correction is calculatedacross corresponding bits on disks,and is stored on multiple paritydisks.

    3

    RAID3

    Striped set with dedicated parityor bit interleaved parity or bytelevel parity.

    This mechanism provides faulttolerance similar to RAID 5.However, because the strip acrossthe disks is a lot smaller than afilesystem block, reads and writesto the array perform like a singledrive with a high linear write performance. For this to work properly, the drives must havesynchronised rotation. If one drivefails, the performance doesn'tchange.

    3 n-1

    http://en.wikipedia.org/wiki/RAID_1http://en.wikipedia.org/wiki/RAID_1http://en.wikipedia.org/wiki/Disk_mirroringhttp://en.wikipedia.org/wiki/Disk_mirroringhttp://en.wikipedia.org/wiki/Multi-threadedhttp://en.wikipedia.org/wiki/RAID_2http://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/RAID_3http://en.wikipedia.org/wiki/File:RAID_3.svghttp://en.wikipedia.org/wiki/File:RAID_1.svghttp://en.wikipedia.org/wiki/RAID_1http://en.wikipedia.org/wiki/RAID_1http://en.wikipedia.org/wiki/Disk_mirroringhttp://en.wikipedia.org/wiki/Disk_mirroringhttp://en.wikipedia.org/wiki/Multi-threadedhttp://en.wikipedia.org/wiki/RAID_2http://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/RAID_3
  • 8/14/2019 Assignment 5 CH

    8/29

    RAID4

    Block level parity. Identical toRAID 3, but does block-levelstriping instead of byte-levelstriping. In this setup, files can bedistributed between multiple disks.

    Each disk operates independentlywhich allows I/O requests to beperformed in parallel, though datatransfer speeds can suffer due tothe type of parity. The errordetection is achieved throughdedicated parity and is stored in aseparate, single disk unit.

    3 n-1

    RAID5

    Striped set with distributedparity or interleave parity.Distributed parity requires all

    drives but one to be present tooperate; drive failure requiresreplacement, but the array is notdestroyed by a single drive failure.Upon drive failure, anysubsequent reads can be calculatedfrom the distributed parity suchthat the drive failure is maskedfrom the end user. The array willhave data loss in the event of asecond drive failure and isvulnerable until the data that was

    on the failed drive is rebuilt onto areplacement drive. A single drivefailure in the set will result inreduced performance of the entireset until the failed drive has beenreplaced and rebuilt.

    3 n-1

    RAID6

    Striped set with dual distributedparity. Provides fault tolerancefrom two drive failures; arraycontinues to operate with up totwo failed drives. This makes

    larger RAID groups more practical, especially for highavailability systems. This becomesincreasingly important becauselarge-capacity drives lengthen thetime needed to recover from thefailure of a single drive. Singleparity RAID levels are vulnerable

    4 n-2

    http://en.wikipedia.org/wiki/RAID_4http://en.wikipedia.org/wiki/RAID_4http://en.wikipedia.org/wiki/RAID_5http://en.wikipedia.org/wiki/RAID_5http://en.wikipedia.org/wiki/RAID_6http://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_4http://en.wikipedia.org/wiki/RAID_5http://en.wikipedia.org/wiki/RAID_5http://en.wikipedia.org/wiki/RAID_6http://en.wikipedia.org/wiki/RAID_6
  • 8/14/2019 Assignment 5 CH

    9/29

    to data loss until the failed drive isrebuilt: the larger the drive, thelonger the rebuild will take. Dual parity gives time to rebuild thearray without the data being at risk

    if a (single) additional drive failsbefore the rebuild is complete.

    Nested (hybrid) RAID

    Main article:Nested RAID levels

    In what was originally termed hybrid RAID,[4]many storage controllers allow RAID levels to

    be nested. The elements of aRAID may be either individual disks or RAIDs themselves. Nesting

    more than two deep is unusual.

    As there is no basic RAID level numbered larger than 9, nested RAIDs are usually

    unambiguously described by concatenating the numbers indicating the 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 of which is one of the "drives" of a level 0 array striped over the level 1

    arrays. 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; even number of disks)provides fault tolerance and improved performance but increases complexity. The key

    difference from RAID 1+0 is that RAID 0+1 creates a second striped set to mirror a

    primary striped set. 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 the data on the RAID system

    is lost.

    RAID 1+0: mirrored sets in a striped set (minimum two disks but more commonly four

    disks to take advantage of speed benefits; even number of disks) provides fault tolerance

    and improved performance but increases complexity.

    The key difference from RAID 0+1 is that RAID 1+0 creates a striped set from a series of

    mirrored drives. In a failed disk situation, RAID 1+0 performs better because all the

    remaining disks continue to be used. The array can sustain multiple drive losses so long

    as no mirror loses all its drives.

    http://en.wikipedia.org/wiki/Nested_RAID_levelshttp://en.wikipedia.org/wiki/RAIDhttp://en.wikipedia.org/wiki/RAIDhttp://en.wikipedia.org/wiki/RAIDhttp://en.wikipedia.org/wiki/Nested_RAID_levelshttp://en.wikipedia.org/wiki/RAID
  • 8/14/2019 Assignment 5 CH

    10/29

    RAID 5+1: mirror striped set with distributed parity (some manufacturers label this as

    RAID 53).

    Non-standard levels

    Main article:Non-standard RAID levels

    Many configurations other than the basic numbered RAID levels are possible, and many

    companies, organizations, and groups have created their own non-standard configurations, in

    many cases designed to meet the specialised needs of a small niche group. Most of these non-

    standard RAID levels are proprietary.

    Storage Computer Corporation used to call a cached version of RAID 3 and 4, RAID 7.

    Storage Computer Corporation is now defunct.

    EMC Corporation used to offerRAID Sas an alternative to RAID 5 on their Symmetrix

    systems. Their latest generations of Symmetrix, the DMX and the V-Max series, do not

    support RAID S (instead they support RAID-1, RAID-5 and RAID-6.)

    The ZFS filesystem, available in Solaris, OpenSolaris, FreeBSD and Mac OS X, offers

    RAID-Z, which solves RAID 5's write hole problem.

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

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

    "diagonal" parity), is a form of RAID 6, but unlike many RAID 6 implementations, does

    not use distributed parity as in RAID 5. Instead, two unique parity disks with separate

    parity calculations are used. This is a modification of RAID 4 with an extra parity disk.

    Accusys Triple Parity (RAID TP) implements three independent parities 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 that defaults to a

    standard RAID 1+0 with four drives, but can have any number of drives. MD RAID10

    can run striped and mirrored with only two drives with the f2 layout (mirroring with

    striped reads, normal Linux software RAID 1 does not stripe reads, but can read in

    parallel).[5]

    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/Mac_OS_Xhttp://en.wikipedia.org/wiki/Hewlett-Packardhttp://en.wikipedia.org/wiki/NetApphttp://en.wikipedia.org/wiki/Linuxhttp://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/Mac_OS_Xhttp://en.wikipedia.org/wiki/Hewlett-Packardhttp://en.wikipedia.org/wiki/NetApphttp://en.wikipedia.org/wiki/Linux
  • 8/14/2019 Assignment 5 CH

    11/29

    Infrant (now part ofNetgear) X-RAID offers dynamic expansion of a RAID5 volume

    without having to back up or restore the existing content. Just add larger drives one at a

    time, let it resync, then add the next drive until all drives are installed. The resulting

    volume capacity is increased without user downtime. (It should be noted that this is also

    possible in Linux, when utilizing Mdadm utility. It has also been possible in the EMC

    Clariion and HP MSA arrays for several years.) The new X-RAID2 found on x86

    ReadyNas, that is ReadyNas with Intel CPUs, offers dynamic expansion of a RAID-5 or

    RAID-6 volume (note X-RAID2 Dual Redundancy not available on all X86 ReadyNas)

    without having to back up or restore the existing content etc. A major advantage overX-

    RAID, is that usingX-RAID2 you do not need to replace all the disks to get extra space,

    you only need to replace 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 simultaneously or individually dependent on disk

    and data context. It offers expandability without reconfiguration, the ability to mix and

    match drive sizes and the ability to reorder disks. It supports NTFS, HFS+, FAT32, and

    EXT3 file systems[6]. It also uses thin provisioning to allow for single volumes up to

    16 TB depending on the host operating 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 placed in groups (called Disk Groups) that

    form a pool of data blocks on top of which the RAID level is implemented. Any Disk

    Group may have "virtual disks" or LUNs of any vRAID type, including mixing vRAID

    types in the same Disk Group - a unique feature. vRAID levels are more closely aligned

    to Nested RAID levels - vRAID-1 is actually a RAID 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 the

    drives, 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 odd number of drives. In either case, the total available disk

    space is n/2. It requires a minimum of three drives.

    http://en.wikipedia.org/wiki/Netgearhttp://en.wikipedia.org/wiki/Mdadmhttp://en.wikipedia.org/wiki/Data_Roboticshttp://en.wikipedia.org/wiki/Drobohttp://en.wikipedia.org/wiki/RAIDhttp://en.wikipedia.org/wiki/Thin_provisioninghttp://en.wikipedia.org/wiki/Hewlett-Packardhttp://en.wikipedia.org/wiki/IBMhttp://en.wikipedia.org/wiki/Netgearhttp://en.wikipedia.org/wiki/Mdadmhttp://en.wikipedia.org/wiki/Data_Roboticshttp://en.wikipedia.org/wiki/Drobohttp://en.wikipedia.org/wiki/RAIDhttp://en.wikipedia.org/wiki/Thin_provisioninghttp://en.wikipedia.org/wiki/Hewlett-Packardhttp://en.wikipedia.org/wiki/IBM
  • 8/14/2019 Assignment 5 CH

    12/29

    Non-RAID drive architectures

    Main article:Non-RAID drive architectures

    Non-RAID drive architectures also exist, and are often referred to, similarly to RAID, by

    standard acronyms, several tongue-in-cheek. A single drive is referred to as a SLED (Single

    Large Expensive Drive), by contrast with RAID, while an array of drives without any additional

    control (accessed simply 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 alternative meaning just cited.

    Implementations

    It has been suggested that Vinum volume managerbe merged into this article orsection. (Discuss)

    (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 software may be part of the operating system or it may

    be part of the firmware and drivers supplied with the card.

    Operating system based ("software RAID")

    Software implementations are now provided by many operating systems. A software layer sits

    above the (generallyblock-based) diskdevice drivers and provides an abstraction layer between

    the logical drives (RAIDs) andphysical drives. Most common levels are RAID 0 (striping across

    multiple drives for increased space and performance) and RAID 1 (mirroring two drives),

    followed by RAID 1+0, RAID 0+1, and RAID 5 (data striping with parity) are supported.

    Apple's Mac OS X Serversupports RAID 0, RAID 1, RAID 5 and RAID 1+0.[7]

    FreeBSD supports RAID 0, RAID 1, RAID 3, and RAID 5 and all layerings of the above

    via GEOM modules[8][9]

    and ccd.[10]

    , as well as supporting RAID 0, RAID 1, RAID-Z, and

    RAID-Z2 (similar to RAID-5 and 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.[11][12]

    http://en.wikipedia.org/wiki/Non-RAID_drive_architectureshttp://en.wikipedia.org/wiki/Non-RAID_drive_architectureshttp://en.wikipedia.org/wiki/Vinum_volume_managerhttp://en.wikipedia.org/wiki/Vinum_volume_managerhttp://en.wikipedia.org/wiki/Wikipedia:Merginghttp://en.wikipedia.org/wiki/Talk:Vinum_volume_managerhttp://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/FreeBSDhttp://en.wikipedia.org/wiki/GEOMhttp://en.wikipedia.org/wiki/ZFShttp://en.wikipedia.org/wiki/Linuxhttp://en.wikipedia.org/wiki/File:Mergefrom.svghttp://en.wikipedia.org/wiki/Non-RAID_drive_architectureshttp://en.wikipedia.org/wiki/Non-RAID_drive_architectureshttp://en.wikipedia.org/wiki/Vinum_volume_managerhttp://en.wikipedia.org/wiki/Wikipedia:Merginghttp://en.wikipedia.org/wiki/Talk:Vinum_volume_managerhttp://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/FreeBSDhttp://en.wikipedia.org/wiki/GEOMhttp://en.wikipedia.org/wiki/ZFShttp://en.wikipedia.org/wiki/Linux
  • 8/14/2019 Assignment 5 CH

    13/29

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

    5. Some of the Microsoft desktop operating systems support RAID such as Windows XP

    Professional which supports RAID level 0 in addition to spanning multiple disks but only

    if using dynamic disks and volumes. Windows XP supports RAID 0, 1, and 5 with a

    simple file patch [13]. RAID functionality in Windows is slower than hardware RAID, but

    allows a RAID array to be moved to another machine with no compatibility issues.

    NetBSD supports RAID 0, RAID 1, RAID 4 and RAID 5 (and any nested combination 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 nested combination of those like 1+0) via ZFS

    and now has the ability to boot from a ZFS volume on both x86 and UltraSPARC.

    Through SVM, Solaris 10 and earlier versions support RAID 1 for the boot filesystem,

    and adds RAID 0 and RAID 5 support (and various nested combinations) for data drives.

    Software RAID has advantages and disadvantages compared to hardware RAID. The software

    must run on a host server attached to storage, and server's processor must dedicate processing

    time to run the RAID software. This is negligible for RAID 0 and RAID 1, but may become

    significant when using parity-based arrays and either accessing several arrays at the same time or

    running many disks. Furthermore all the busses between the processor and the disk controller

    must carry the extra data required by RAID which may cause congestion.

    Another concern with operating system-based RAID is the boot process. It can be difficult or

    impossible to set up the boot process such that it can fail over to another drive if the usual boot

    drive fails. Such systems can require manual intervention to make the machine bootable again

    after a failure. There are exceptions to this, such as the LILO bootloader for Linux, loader for

    FreeBSD[14] , and some configurations of the GRUB bootloader natively understand RAID-1

    and can load a kernel. If the BIOS recognizes a broken 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

    that as intended. A hardware RAID controller typically has explicit programming to decide that a

    disk is broken and fall through to the next disk.

    http://en.wikipedia.org/wiki/Microsofthttp://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/RAIDhttp://en.wikipedia.org/wiki/RAIDhttp://en.wikipedia.org/wiki/Microsofthttp://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/RAID
  • 8/14/2019 Assignment 5 CH

    14/29

    Hardware RAID controllers can also carry battery-powered cache memory. For data safety in

    modern systems the user of software RAID might need to turn the write-back cache on the disk

    off (but some drives have their own battery/capacitors on the write-back cache, a UPS, and/or

    implement atomicity in various ways, etc). Turning off the write cache has a performance

    penalty that can, depending on workload and how well supported command queuing in the disk

    system is, be significant. The battery backed cache on a RAID controller is one solution to have

    a safe write-back cache.

    Finally operating system-based RAID usually uses formats specific to the operating 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 a computer with an operating system or file system of the same type, which can be more

    difficult when using hardware RAID (e.g. #1: When one computer uses a hardware RAIDcontroller from one manufacturer and another computer uses a controller from a different

    manufacturer, drives typically cannot be interchanged. e.g. #2: If the hardware controller 'dies'

    before the disks do, data may become unrecoverable unless a hardware controller of the same

    type is obtained, unlike with firmware-based or software-based RAID).

    Most operating system-based implementations allow RAIDs to be created frompartitions rather

    than entire physical drives. For instance, an administrator could divide an odd number of disks

    into two partitions per disk, mirror partitions across disks and stripe a volume across the mirrored

    partitions to emulate IBM's RAID 1E configuration. Using partitions in this way also allows

    mixing reliability levels on the same set of disks. For example, 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. (Some BIOS-based controllers offer similar features, e.g. Intel Matrix RAID.)

    Using two 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 held on it to be lost).

    Hardware-based

    Hardware RAID controllers use different, proprietary disk layouts, so it is not usually possible to

    span controllers from different manufacturers. They do not require processor resources, the BIOS

    http://en.wikipedia.org/wiki/Atomicity_(database_systems)http://en.wikipedia.org/wiki/Disk_partitioninghttp://en.wikipedia.org/wiki/Intel_Matrix_RAIDhttp://en.wikipedia.org/wiki/Atomicity_(database_systems)http://en.wikipedia.org/wiki/Disk_partitioninghttp://en.wikipedia.org/wiki/Intel_Matrix_RAID
  • 8/14/2019 Assignment 5 CH

    15/29

    can boot from them, and tighter integration with the device driver may offer better error

    handling.

    A hardware implementation of RAID requires at least a special-purpose RAID controller. On a

    desktop system this may be a PCI expansion card, PCI-e expansion card or built into the

    motherboard. Controllers supporting most types of drive may be used IDE/ATA, SATA, SCSI,

    SSA, Fibre Channel, sometimes even a combination. The controller and disks may be in a stand-

    alone disk enclosure, rather than inside a computer. The enclosure may be directly attached to a

    computer, or connected via SAN. The controller hardware handles the management of the drives,

    and performs any parity calculations required by the chosen RAID level.

    Most hardware implementations provide a read/write cache, which, depending on the I/O

    workload, will improve performance. In most systems the write cache is non-volatile (i.e.

    battery-protected), so pending writes are not lost on a power failure.

    Hardware implementations provide guaranteed performance, add no overhead to the local CPU

    complex and can support many operating systems, as the controller simply presents a logical disk

    to the operating system.

    Hardware implementations also typically support hot swapping, allowing failed drives to be

    replaced while the system is running.

    Firmware/driver-based RAID

    Operating system-based RAID doesn't always protect the boot process and is generally

    impractical on desktop versions of Windows (as described above). Hardware RAID controllers

    are expensive and proprietary. To fill this gap, cheap "RAID controllers" were introduced that do

    not contain a RAID controller chip, but simply a standard disk controller chip with special

    firmware and drivers. During early stage bootup the RAID is implemented by the firmware;

    when a protected-mode operating system kernel such as Linux or a modern version ofMicrosoft

    Windows is loaded the drivers take over.

    These controllers are described by their manufacturers as RAID controllers, and it is rarely made

    clear to purchasers that the burden of RAID processing is borne by the host computer's central

    processing unit, not the RAID controller itself, thus introducing the aforementioned CPU

    overhead which hardware controllers don't suffer from. Firmware controllers often can only use

    certain types of hard drives in their RAID arrays (e.g. SATA for Intel Matrix RAID, as there is

    http://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/Disk_enclosurehttp://en.wikipedia.org/wiki/Direct-attached_storagehttp://en.wikipedia.org/wiki/Storage_area_networkhttp://en.wikipedia.org/wiki/Cachehttp://en.wikipedia.org/wiki/Logical_diskhttp://en.wikipedia.org/wiki/Operating_system_kernelhttp://en.wikipedia.org/wiki/Linuxhttp://en.wikipedia.org/wiki/Microsoft_Windowshttp://en.wikipedia.org/wiki/Microsoft_Windowshttp://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/Disk_enclosurehttp://en.wikipedia.org/wiki/Direct-attached_storagehttp://en.wikipedia.org/wiki/Storage_area_networkhttp://en.wikipedia.org/wiki/Cachehttp://en.wikipedia.org/wiki/Logical_diskhttp://en.wikipedia.org/wiki/Operating_system_kernelhttp://en.wikipedia.org/wiki/Linuxhttp://en.wikipedia.org/wiki/Microsoft_Windowshttp://en.wikipedia.org/wiki/Microsoft_Windowshttp://en.wikipedia.org/wiki/Intel_Matrix_RAID
  • 8/14/2019 Assignment 5 CH

    16/29

    neither SCSI nor PATA support in modern Intel ICH southbridges; however, motherboard

    makers implement RAID controllers outside of the southbridge on some motherboards). Before

    their introduction, a "RAID controller" implied that the controller did the processing, and the

    new type has become known in technically knowledgeable circles as "fake RAID" even though

    the RAID itself is implemented correctly. Adaptec calls them "HostRAID".

    Network-attached storage

    Main article:Network-attached storage

    While not directly associated with RAID, Network-attached storage (NAS) is an enclosure

    containing disk drives and the equipment necessary to make them available over a computer

    network, usually Ethernet. The enclosure is basically a dedicated computer in its own right,

    designed to operate over 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 use of hot sparedrives, a

    drive physically installed in the array which is inactive until an active drive fails, when the

    system automatically replaces the failed drive with the spare, rebuilding the array with the spare

    drive included. This reduces the mean time to recovery (MTTR), though it doesn't eliminate it

    completely. Subsequent additional failure(s) in the same RAID redundancy group before the

    array is fully rebuilt can result in loss of the data; rebuilding can take several hours, especially on

    busy systems.

    Rapid replacement of failed drives is important as the drives of an array will all have had the

    same amount of use, and may tend to fail at about the same time rather than randomly. RAID 6

    without a spare uses the same number of drives as RAID 5 with a hot spare and protects data

    against simultaneous failure of up to two drives, but requires a more advanced RAID controller.

    Further, a hot spare can be shared by multiple RAID sets.

    Reliability terms

    Failure rate

    Failure rate is only meaningful if failure is defined. If a failure is defined as the loss of a

    single drive (logistical failure rate), the failure rate will be the sum of individual drives'

    failure rates. In this case the failure rate of the RAID will be larger than the failure rate of

    http://en.wikipedia.org/wiki/Southbridgehttp://en.wikipedia.org/wiki/Network-attached_storagehttp://en.wikipedia.org/wiki/Network-attached_storagehttp://en.wikipedia.org/wiki/Computer_networkhttp://en.wikipedia.org/wiki/Computer_networkhttp://en.wikipedia.org/wiki/Ethernethttp://en.wikipedia.org/wiki/Hot_sparehttp://en.wikipedia.org/wiki/Hot_sparehttp://en.wikipedia.org/wiki/Mean_time_to_recoveryhttp://en.wikipedia.org/wiki/Failure_ratehttp://en.wikipedia.org/wiki/Southbridgehttp://en.wikipedia.org/wiki/Network-attached_storagehttp://en.wikipedia.org/wiki/Network-attached_storagehttp://en.wikipedia.org/wiki/Computer_networkhttp://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/Failure_rate
  • 8/14/2019 Assignment 5 CH

    17/29

    its constituent drives. On the other hand, if failure is defined as loss of data (system

    failure rate), then the failure rate of the RAID will be less than that of the constituent

    drives. How much less depends on the type of RAID.

    Mean time to data loss (MTTDL)

    In this context, the average time before a loss of data in a given array. [15]. Mean time to

    data loss of a given RAID may be higher or lower than that of its constituent hard drives,

    depending upon what type of RAID is employed. The referenced report assumes times to

    data loss are exponentially distributed. This means 63.2% of all data loss will occur

    between time 0 and the MTTDL.

    Mean time to recovery (MTTR)

    In arrays that include redundancy for reliability, this is the time following a failure to

    restore an array to its normal failure-tolerant mode of operation. This includes time to

    replace a failed disk mechanism as well as time to re-build the array (i.e. to replicate data

    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 and multiple retries.

    Write cache reliability

    Some RAID systems use RAM write cache to increase performance. A power failure can

    result in data loss unless this sort ofdisk bufferis supplemented with a battery to ensure

    that the buffer has enough time to write from RAMback to disk.

    Atomic write failure

    Also 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 of drives are independent.

    Given these assumptions it is possible to calculate how often they can fail and to arrange the

    array to make data loss arbitrarily 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 on older drives, this violates those assumptions

    http://en.wikipedia.org/wiki/RAIDhttp://en.wikipedia.org/wiki/RAIDhttp://en.wikipedia.org/wiki/Mean_time_to_recoveryhttp://en.wikipedia.org/wiki/RAMhttp://en.wikipedia.org/wiki/Disk_bufferhttp://en.wikipedia.org/wiki/RAMhttp://en.wikipedia.org/wiki/Atomicity_(database_systems)http://en.wikipedia.org/wiki/RAIDhttp://en.wikipedia.org/wiki/Mean_time_to_recoveryhttp://en.wikipedia.org/wiki/RAMhttp://en.wikipedia.org/wiki/Disk_bufferhttp://en.wikipedia.org/wiki/RAMhttp://en.wikipedia.org/wiki/Atomicity_(database_systems)
  • 8/14/2019 Assignment 5 CH

    18/29

    and failures are in fact statistically correlated. In practice then, the chances of a second failure

    before the first has been recovered is not nearly as unlikely as might be supposed, and data loss

    can in practice occur at significant rates.[16]

    A common misconception is that "server-grade" drives fail less frequently than consumer-grade

    drives. Two different, independent studies, by Carnegie Mellon University and Google, have

    shown that failure rates are largely independent of the supposed "grade" of the drive.[17]

    Atomicity

    This is a little understood and rarely mentioned failure mode for redundant storage systems that

    do not utilize transactional features. Database researcherJim Gray wrote "Update in Place is a

    Poison Apple"[18] during the early days of relational database commercialization. However, this

    warning largely went unheeded and fell by the wayside upon the advent of RAID, which many

    software engineers mistook as solving all data storage integrity and reliability problems. Many

    software programs update a storage 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 the software may also

    log some delta information elsewhere, it expects the storage to present "atomic write semantics,"

    meaning that the write of the data either occurred in its entirety or did not occur at all.

    However, very few storage systems provide support for atomic writes, and even fewer specify

    their rate of failure in providing this semantic. Note that during the act of writing an object, a

    RAID storage device will usually be writing all redundant copies of the object in parallel,

    although overlapped or staggered writes are more common when a single RAID processor is

    responsible for multiple drives. Hence an error that occurs during the process of writing may

    leave the redundant copies in different states, and furthermore may leave the copies in neither the

    old nor the new state. The little known failure mode is that delta logging relies on the original

    data being either in the old or the new state so as to enable backing out the logical change, yet

    few storage systems provide an atomic write semantic on a RAID disk.

    While the battery-backed write cache may partially solve the problem, it is applicable only to apower failure scenario.

    Since transactional support is not universally present in hardware RAID, many operating systems

    include transactional support to protect against data loss during an interrupted write. Novell

    Netware, starting with version 3.x, included a transaction tracking system. Microsoft introduced

    transaction tracking via the journaling feature in NTFS. Ext4 has journaling with checksums;

    http://en.wikipedia.org/wiki/Carnegie_Mellon_Universityhttp://en.wikipedia.org/wiki/Googlehttp://en.wikipedia.org/wiki/Jim_Gray_(computer_scientist)http://en.wikipedia.org/wiki/Journaling_file_systemhttp://en.wikipedia.org/wiki/NTFShttp://en.wikipedia.org/wiki/Carnegie_Mellon_Universityhttp://en.wikipedia.org/wiki/Googlehttp://en.wikipedia.org/wiki/Jim_Gray_(computer_scientist)http://en.wikipedia.org/wiki/Journaling_file_systemhttp://en.wikipedia.org/wiki/NTFS
  • 8/14/2019 Assignment 5 CH

    19/29

    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 in NetApp WAFL file system gives atomicity by never updating the data in place, 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 implementations protect against this failure

    mode by remapping thebad sector, using the redundant data to retrieve a good copy of the data,

    and rewriting that good data to the newly mapped replacement sector. The UBE (Unrecoverable

    Bit Error) rate is typically specified at 1 bit in 1015 for enterprise class disk drives (SCSI, FC,

    SAS) , and 1 bit in 1014 for desktop class disk drives (IDE/ATA/PATA, SATA). Increasing disk

    capacities and large RAID 5 redundancy groups have led to an increasing inability to

    successfully rebuild a RAID group after a disk failure because an unrecoverable sector is foundon the remaining drives. Double protection schemes such as RAID 6 are attempting to address

    this issue, but suffer from 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. This typically occurs in old, non-journaled systems

    such as FAT32, or if the Linux/Unix "writeback" option is chosen without any protections like

    the "soft updates" option (to promote I/O speed whilst trading-away data reliability). A poweroutage or system hang such as a BSOD can mean a significant loss of any data queued in such

    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 the pending writes as soon as restarted. This

    solution still has potential failure cases: 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 could fail. Some

    disk systems provide the capability of testing the battery periodically, however this leaves the

    system without a fully charged battery for several hours.

    An additional concern about write cache reliability exists, specifically regarding devices

    equipped with a write-back cachea caching system which reports the data as written as soon as

    it is written to cache, as opposed to the non-volatile medium. [19] The safer cache technique is

    http://en.wikipedia.org/wiki/Write_Anywhere_File_Layouthttp://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/BSODhttp://en.wikipedia.org/wiki/Write_Anywhere_File_Layouthttp://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/BSOD
  • 8/14/2019 Assignment 5 CH

    20/29

    write-through, which reports transactions as written when they are written to the non-volatile

    medium.

    Equipment compatibility

    The disk formats on different RAID controllers are not necessarily compatible, so that it may not

    be possible to read a RAID on different hardware. Consequently a non-disk hardware failure

    may require using identical hardware, or a data backup, to recover the data. Software RAID

    however, such as implemented in the Linux kernel, alleviates this concern, as the setup is not

    hardware dependent, but runs on ordinary disk controllers. Additionally, Software RAID1 disks

    (and some hardware RAID1 disks, for example Silicon Image 5744) can be read like normal

    disks, so no RAID system is required to retrieve the data. Data recovery firms typically have a

    very hard time recovering data from RAID drives, with the exception of RAID1 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 not negligible. In that

    event the difficulty of extracting data from a failed array must be considered. Only RAID 1

    stores all data on each disk. Although it may depend on the controller, some RAID 1 disks can be

    read as a single conventional disk. This means a dropped RAID 1 disk, although damaged, can

    often be reasonably easily recovered using a software recovery program or CHKDSK. If the

    damage is more severe, data can often be recovered by professional drive specialists. RAID5 and

    other striped or distributed arrays present much more formidable obstacles to data recovery in the

    event the array goes down.

    Drive error recovery algorithms

    Many modern drives have internal error recovery algorithms that can take upwards of a minute

    to recover and re-map data that the drive fails to easily read. Many RAID controllers will drop a

    non-responsive drive in 8 seconds or so. This can cause the array to drop a good drive because it

    has not been given enough time to complete its internal error recovery procedure, leaving the rest

    of the array vulnerable. So-called enterprise class drives limit the error recovery time and prevent

    this problem, but desktop drives can be quite risky for this reason. A fix is known for Western

    Digital drives. A utility called WDTLER.exe can limit the error recovery time of a Western

    Digital desktop drive so that it will not be dropped from the array for this reason. The utility

  • 8/14/2019 Assignment 5 CH

    21/29

    enables TLER (time limited error recovery) which limits the error recovery time to 7 seconds.

    Western Digital enterprise class drives are shipped from the factory with TLER enabled to

    prevent being dropped from RAID arrays. Similar technologies are used by Seagate, Samsung,

    and Hitachi (reference http://en.wikipedia.org/wiki/TLER).

    Increasing recovery time

    Drive capacity has grown at a much faster rate than transfer speed, and error rates have only

    fallen a little in comparison. The consequences of this are more frequent failures and longer re-

    build times.[20]

    Other Problems and Viruses

    While RAID may protect against drive failure, the data is still exposed to operator, software,

    hardware and virus destruction. Most well-designed systems include separate backup systemsthat hold copies of the data, but don't allow much interaction with it. Most copy the data and

    remove it from the computer for safe storage.

    History

    Norman Ken Ouchi at IBM was awarded a 1978 U.S. patent 4,092,732[21] titled "System for

    recovering data stored in failed memory unit." The claims for this patent describe what would

    later be termed RAID 5 with full stripe writes. This 1978 patent also mentions that disk

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

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

    The term RAID was first defined by David A. Patterson, Garth A. Gibson and Randy Katz at the

    University of California, Berkeley in 1987. They studied the possibility of using two or more

    drives to appear as a single device to the host system and published a paper: "A Case for

    Redundant Arrays of Inexpensive Disks (RAID)"in June 1988 at the SIGMOD conference.[1]

    This specification suggested a number of prototypeRAID levels, or combinations of drives. Each

    had theoretical advantages and disadvantages. Over the years, different implementations of the

    RAID concept have appeared. Most differ substantially from the original idealized RAID levels,

    but the numbered names have remained. This can be confusing, since one implementation of

    RAID 5, for example, can differ substantially from another. RAID 3 and RAID 4 are often

    confused and even used interchangeably.

    http://en.wikipedia.org/wiki/Time-Limited_Error_Recoveryhttp://en.wikipedia.org/wiki/TLERhttp://en.wikipedia.org/wiki/United_States_patent_lawhttp://en.wikipedia.org/wiki/Claim_(patent)http://en.wikipedia.org/wiki/Data_stripinghttp://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/University_of_California,_Berkeleyhttp://en.wikipedia.org/wiki/SIGMODhttp://en.wikipedia.org/wiki/Time-Limited_Error_Recoveryhttp://en.wikipedia.org/wiki/TLERhttp://en.wikipedia.org/wiki/United_States_patent_lawhttp://en.wikipedia.org/wiki/Claim_(patent)http://en.wikipedia.org/wiki/Data_stripinghttp://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/University_of_California,_Berkeleyhttp://en.wikipedia.org/wiki/SIGMOD
  • 8/14/2019 Assignment 5 CH

    22/29

    2.Explain the meaning of these terminology related to RAID.

    i. RAID array

    All RAID arrays provide a range of redundancy features that include all RAID levels RAID 0, 1 (0+1), 3, 5, 6,

    10, 30, 50, NRAID and JBOD. Redundant hot swap fans, power supplies, hard disks. Some of the RAID

    systems also feature redundant dual controller cards with hot swap, 72 hour cache memory backup.

    Multi host attach support is standard and depending on the model and configuration up to 12 fibre channel

    hosts can be connected to a single RAID array. Alternatively you can connect the systems to a storage

    server and use iSCSI to serve up disk space.

    RAID management is done through an intuitive GUI and shows detailed information relating to the status,

    configuration and reporting features.

    Our RAID arrays combine cost effective pricing and high capacity against SCSI or Fibre Channel disk basedRAID arrays.

    Our extensive range of disk storage systems, comprise of various host attachments including fibre channelvia direct point-to-point or through a fibre channel switch, direct attached SAS / SCSI using a SAS / SCSIcontroller card, iSCSI network attached through software or hardware. All models use the latest disk drivesincluding 15,000 rpm SCSI and fibre channel disks as well as Serial ATA 7,200 rpm and 10,000 rpm drives.

    Our RAID disk storage systems support 99.9% of all operating systems currently in existence including allflavours of Windows, Linux, Novell and UNIX. We can also supply the SATA RAID systems with differenthost attach cabling for connecting to legacy SCSI controllers.

    SATA RAID are increasingly replacing the older generation IDE RAID arrays and offer greater performance,better cooling and easier cabling.

    SATA disk comparitive performance table:Spindle Sustained transfer External transfer

  • 8/14/2019 Assignment 5 CH

    23/29

    speed rate rateSATA 7,200 32-58MB/s 150MB/s

    SATA-II 7,200 72MB/s 300MB/sSATA 10,000 41-74MB/s 150MB/s

    Ultra 160SCSI

    10,000 29-57MB/s 160MB/s

    Ultra 320SCSI

    10,000 38-65MB/s 320MB/s

    Ultra 320SCSI

    15,000 49-75MB/s 320MB/s

    FC 2Gbit 15,000 49-75MB/s 200MB/s

    i. Striping Stripping is a feature of a RAID configuration that offers huge performance gain. Data in a striped array is

    written or read across all the array drives simultaneously. When the computer writes data into the disk, the

    data is divided across several pieces and inserted into each individual disk at the same time. Similarly, when

    the computer request to read a file, the multiple pieces of data from each disk drive are extracted together to

    be processed by the CPU, which effectively increases read/write time. Striping involves partitioning each

    drive's storage space into units which are known as the stripe block size.

    There're two important variables in a striped array, namely the stripe width and stripe size. Both factors

    greatly determine the performance of a striped array.

    Stripe Width:

    The stripe width refers to the number of drives in the array.

    Stripe Size:

    The stripe size represents the size of a single chunk of unit data to be written into each disk. The stripe size is

    configurable and can range from 512 bytes to several megabytes. The default IDE configuration is 64K. It is

    commonly a multiple of 8k.

    To demonstrate this, assume we need to write a 5MB file into a disk array. If we have an array of 5 drives and

    writing the data at 100K per unit, we'll need 10 write cycles to complete writing the entire file. Note that each

    cycle only writes 500K of the file. Now if we have an array of 10 drives, we can effectively reduce the write

    time into half since each write cycle writes 1MB of the file. This will also mean that only 5 write cycles are

    needed to complete writing the file. So generally, we can see that the more drives that are implemented, the

    faster its performance. It is also apparent that for larger data size, increasing the strip size will help.

    However, there're certain factors that must be considered when selecting the stripe width and stripe size.

    Firstly, if the stripe size is too small, writing a big file would cause the file to be broken down into manysegments across the drives hence utilizing more disk resources. A stripe size too big may exceed the size of

    the data to be stored and result in space wastage. That is to say if you configure 100K as your stripe size,

    you'll waste 30K of space if you are to write a 70K sized data.

    Generally, the more drives that are implemented, the better its the performance. However if any one disk

    breaks down, all data will be lost. This reliability is often measured by mean time between failure (MTBF),

    which is a inverse proportion to the stripe width. That is to imply that a set of 3 disks is 1/3 as reliable as a

  • 8/14/2019 Assignment 5 CH

    24/29

    single disk. Hence, increasing the number of disk drives in the array for data stripping will also increase the

    risk of a disk failure.

    The drawback of using striping is that similar hard disks must be used together in the array to prevent latency.

    As the data parts are read from the various drives to be pieced together to form the original data, the slowest

    drive will determine when the concatenation completes.

    i. MIRRORING

    Mirroring is a simple concept of simultaneously duplicating data or having more than 2 or more copies of data

    written on separate disks so as to provide redundancy. If one drive would to fail, the system can still operate

    because it has another copy of the data. The drawback is we need to incur more disk space as there is a

    100% "disk wastage". In addition, mirroring requires two identical sized disk to function for optimised

    performance.

    3.Explain why is RAID configuration is important to a server.

  • 8/14/2019 Assignment 5 CH

    25/29

    4.Explain these common types of RAID

    a. RAID 0 : Striped array without fault tolerance

    RAID 0 is not really a "true" RAID system, as there is no fault tolerence involved here. What it does is to

    stripe each data block and write the striped data into different drives.

    As such RAID 0 literally has no redundancy at all compared to other RAID arrays. So why use RAID 0 at all? For that

    we need to know how RAID 0 is set up.

    1) Data is first sent from server to the RAID controller.

    2) Then the RAID controller stripes the data.

    3) Finally, the striped data is sent to the array.

    RAID 0 requires at least 2 drives. Files are striped and sent to the drives in the array. This process gives the

    performance enhancement of any single level RAID system as there is no redundancy.

    RAID 0 incurs the lowest cost, but has zero fault tolerance. As such, if you lose data, RAID 0 will take the longest

    time to recover from. Additional backup is needed, unless data is not important.However, read and write performance is great. It has its uses such as high end gaming, web streaming and editing

    for videos and music and other uses which require fast read write speeds but do not have critical data.

    ii. RAID 1 : Mirrored Disk Array

    RAID 1: Mirroring and Duplexing

  • 8/14/2019 Assignment 5 CH

    26/29

    For Highest performance, the controller must be able to perform two concurrentseparate Reads per mirrored pair or two duplicate Writes per mirrored pair.

    RAID Level 1 requires a minimum of 2 drives to implement

    Characteristics/Advantages

    One Write or two Reads possible per mirroredpair

    Twice the Read transaction rate of singledisks, same Write transaction rate as singledisks

    100% redundancy of data means no rebuild isnecessary in case of a disk failure, just a copyto the replacement disk

    Transfer rate per block is equal to that of asingle disk

    Under certain circumstances, RAID 1 cansustain multiple simultaneous drive failures

    Simplest RAID storage subsystem design

    Disadvantages

    Highest disk overhead of all RAID types(100%) - inefficient

    Typically the RAID function is done by systemsoftware, loading the CPU/Server and possiblydegrading throughput at high activity levels.Hardware implementation is stronglyrecommended

    May not support hot swap of failed disk whenimplemented in "software"

    Recommended Applications

    Accounting

    Payroll

    Financial

    Any application requiring very highavailability

    i. RAID 0+1 : Striped array with mirroring

  • 8/14/2019 Assignment 5 CH

    27/29

  • 8/14/2019 Assignment 5 CH

    28/29

    RAID 0+1 is implemented as a mirrored array whosesegments are RAID 0 arrays

    RAID 0+1 has the same fault tolerance as RAID level5

    RAID 0+1 has the same overhead for fault-toleranceas mirroring alone

    High I/O rates are achieved thanks to multiple stripesegments

    Excellent solution for sites that need highperformance but are not concerned with achievingmaximum reliability

    RAID 0+1 is NOT to be confused with RAID 10. Asingle drive failure will cause the whole array tobecome, in essence, a RAID Level 0 array

    Very expensive / High overhead

    All drives must move in parallel to proper tracklowering sustained performance

    Very limited scalability at a very high inherent cost

    Imaging applications General fileserver

    JetStor SATA 416S

    JetStor SATA 412S

    JetStor SATA 516F

    http://www.acnc.com/02_01_jetstor_sata_416s.htmlhttp://www.acnc.com/02_01_jetstor_sata_412s.htmlhttp://www.acnc.com/02_01_jetstor_sata_516f.htmlhttp://www.acnc.com/02_01_jetstor_sata_416s.htmlhttp://www.acnc.com/02_01_jetstor_sata_412s.htmlhttp://www.acnc.com/02_01_jetstor_sata_516f.html
  • 8/14/2019 Assignment 5 CH

    29/29

    5.Compare between Hardware RAID and Software RAID

    Hardware RAID - A hardware RAID uses the configuration software, which is provided by the RAID

    manufacturer, to group one or more physical hard drives into what appears to the operating system as a single

    hard drive. This is commonly referred to as a virtual disk or logical unit. When you create the virtual hard

    drive, you also select a RAID level. For this type of configuration, a server can be configured to use RAID-0

    (also known as striped), RAID-1 (also known as mirrored), RAID-5 (also known as striped with parity), and in

    some servers, RAID-0+1 (also known as a mirrored stripe). Hardware RAIDs have better overall server

    performance.

    Software RAID - A software RAID uses the configuration software provided with the operating system to create

    a RAID-0, RAID-1, or RAID-5 volume on dynamic hard drives. Software RAIDs have lower performance than

    hardware RAIDs. One reason software RAIDs are used is because they are inexpensive and simple to

    configure. There are also no hardware requirements other than requiring multiple hard drives.