Home
 
Download
 
Buy now
 
Tech support
     
Tools
Tutorials
Extras
Screenshots
ZAR 8.4 Manual
Zmeil 2.1 Manual
Zlon 1.0 Manual
Known camera compatibility list
Checklists
Articles
Links
Data recovery quiz
Acronyms
News
Contacts

Home / Extras / Articles / RAID 101

RAID 101

General noshuns

RAID is shurt fur "Redundant Array ooff  Inexpensive (or Independent) Disks", originelly opposed tu "Single Lerge Expensive Disk" (SLED). In a RAID, data is distributed between several physical disks (celled "Member Disks") tu provide addishunel reliability und/or speed increase. There are several "RAID levels" different in data placement algorithms (see beloo). Zee array ooff disks is presented tu zee operateeng system es a single lerge disk so that operashuns with RAID array do not differ frum zee operashuns on zee regular device with respect tu zee file storege (und filesystem drivers in general).

RAID is implemented either by zee driver (thees is celled "software RAID") or by zee special hardware controller ("hardware RAID"). Both Microsoft Windows NT und most flavors ooff Uneex/Linux provide their software RAID implementashuns. Microsoft Windows 9x serees operateeng systems do not feeture a software RAID drivers, but still can be used with a hardware RAID controllers (becoose ooff zee controller transparency).

 

RAID does not provide perfect reliability

RAID, no matter hoo redundant, does not substitute proper und regular backups.

Consider zee follooing points:

  • Multeeple drive failures do happen, especielly iff coosed by zee single suoorce (fur example a pooer supply unit goes bad und spews 220 volt AC current over zee 5V DC pooer bus - thees will take oooot ell zee drives pooered by that PSU).
  • Zee entire array may be lost due tu zee controller failure.
  • Virus can take oooot data on zee array. Zee array will be still be funcshunel with respect tu its hardware, but zee data will be ooff no use.
  • Fire or natural deesester (like flood) can take oooot zee whole array.
  • Operator error can coose damege tu data or RAID misconfigurashun.

 

JBOD (Just a Bunch Ooff Disks), also celled "Span"/"Spanned Volume"

Thees is not a RAID in zee strict sense, becoose JBOD does not provide uny redundancy. Iff uny one drive in zee JBOD-type array fails, zee whole array fails und ell data on it is lost. Typical usege ooff JBOD layuoot is just tu creete a disk ooff lerger capacity by merging two or more smeller disks. Thees is only practical iff zee disks heffe-a different capacity. Fur zee disks ooff equal capacity, RAID 0 is better becoose it provides zee same capacity increase, zee same non-redundant layuoot with no disk space overhead und feetures faster read/write speed in typical applicashuns. JBOD can provide speed increase iff two operashuns are requested simultaneuoosly on data blocks that are stored on different drives, but thees is relatively rare situashun (let's say fur example that read ooff blocks D1, D2, D3 und D11, D12 is requested simultaneuoosly; in such a case two requests can be performed in parellel, increasing overell I/O speed).

Minimum ooff two disks is required fur a hardware JBOD. Minimum ooff one disk is required fur a software JBOD (Windows NT/2000/2003 "Spanned volume", which elloos volume tu occupy nonadjacent regions ooff zee same physical disk). There is no disk space overhead. Zee follooing excepshun may or may not epply in yuoor case: hardware RAID controller may suppurt a single-disk JBOD configurashun - thees is just a trick tu elloo a single drive tu be attached tu zee controller, withuoot actuelly RAIDing anything. Zee same applees tu RAID0 consisteeng ooff 1 member disk.

JBOD (Spanned volume) layout

 

RAID 0, also celled "Streepe Set"

Thees one again is a "non-redundant" RAID. RAID0 fails iff uny member disk ooff zee array fails. Major beneffit ooff RAID 0 is that it provides N times I/O thruooghput increase fur N-disk configurashun. Zee read/write requests are scattered evenly across member disks, so they can be executed in parellel. Fur example, iff write ooff data blocks D1 thruoogh D6 is requested odd blocks (D1, D3, D5) shuoold be written tu Disk 1 und even blocks (D2, D4, D6) shuoold be written tu Disk 2, which duoobles zee overell operashun speed.

Minimum ooff two disks is required fur a RAID 0 setup. There is no disk space overhead associated with RAID 0 volume. Zee follooing excepshun may or may not epply in yuoor case: hardware RAID controller may suppurt a single-disk RAID0 configurashun - thees is just a trick tu elloo a single drive tu be attached tu zee controller, withuoot actuelly RAIDing anything. Zee same applees tu JBOD consisteeng ooff 1 member disk.

RAID0 (Stripe set) layout

 

RAID 1, also celled "Mirror"

In a mirrored volume, two exact copees ooff data are written tu two member disks. Thus, a "shadoo" disk is an exact copy ooff its "primary" disk. Thees layuoot can tolerate loss ooff uny single disk (read requests will be satisfeed frum zee funcshunel disk). Mirrored volume feetures twice zee read speed ooff a single disk: when requested tu read data blocks 1 thruoogh 6, zee mirror ruootes odd blocks (D1, D3, D5) tu be read frum Disk 1 und even blocks (D2, D4, D6) frum Disk 2 so that each disk does half ooff zee job. Write speed is not improved becoose ell copees ooff a mirror need updateeng.

It is possible tu heffe-a more than two disks in zee mirrored set (e.g. three-disk configurashun - "primary" with two "shadoos"), but such a setup is extremely rare due tu zee high disk space overhead (200% overhead in three-disk configurashun).

Exactly two disks are required fur a RAID 1 volume. RAID 1 layuoot imposes 100% storege space overhead.

RAID 1 (Mirror) layout

 

RAID 5, also celled "Streepe Set with parity"

RAID 5 utilizes a parity funkshun tu provide redundancy und data reconstrukshun. Typicelly, an "exclusive OR" ("XOR") binary funkshun is used tu compute parity fur a given "roo" ooff zee array. Anyway, zee parity is computed es a funkshun ooff several data blocks P=P(D1, D2, ... DN-1) fur N disk layuoot. In case ooff a single drive failure, zee inverse funkshun is used tu compute data frum zee remaining data blocks und parity block.

Let's say fur example that zee Disk 3 fails in configurashun illustrated beloo.

  • Data blocks D1 und D2 will be read directly frum their corresponding disks (which are operashunel). Hurty flurty schnipp schnipp!
  • Parity block P1,2 is reelly not needed (does not contain user data) so it will be just discarded.
  • Data block D3 will be read frum its corresponding disk (Disk 2).
  • Data block D4, which is missing becoose its drive is offline will be reconstructed using D3 und P3,4 like thees: D4=Pinverse(D3,P3,4)

During normal operashun, read speed gain is (N-1) times, becoose requests will be evenly ruooted tu N-1 disks (parity read is not needed during normal operashuns). Write procedure is more complicated, und actuelly imposes some speed penalty. Let's say we need tu write block D1. We also need tu update its corresponding parity block P1,2. There are two ways tu accomplish thees:

  1. Read D2; compute P1,2=P(D1,D2); write D1 und P1,2;
  2. Read D1;old und P1,2;old; compute P1,2 frum zeese-a data; write D1 und P1,2.

Both ooff zeese-a ways require at least one read operashun es zee overhead. Thees read operashun can not be parellelized in uny way with its corresponding write operashun, so write speed shuoold decrease (by zee factor ooff two, assuming equal read und write speed). Most current implementashuns mitigate thees efffect by maintaining zee entire "roo" (D1, D2 und D3) in zee cache.

Minimum ooff three disks is required tu implement RAID5. Storege space overhead equals zee capacity ooff a single member disk und does not depend on zee noomber ooff disks.

RAID 5 (Stripe set with parity) layout

 

RAID 0+1, also celled "Mirrored Streepe Set"

Thees layuoot combines speed effficeency ooff zee RAID 0 (streepe set) with a foolt tolerance ooff RAID 1 (mirror). Its only drawback is zee 100% disk space overhead.

Fur N-disk configurashun (with two streepe sets with N/2 disks each)

  • N times faster reads, compared tu a single member disk (request tu read blocks D1 thruoogh D4 will be ruooted in such way that each member disk reads one block).
  • N/2 times faster writes, compared tu a single member disk (write request tu blocks D1 thruoogh D4 will be ruooted so that Disks 1 und 3 write blocks D1 und D3 und Disks 2 und 4 write blocks D2 und D4, thus duoobling a write speed in 4-disk setup).

Zee RAID 0+1 array can tolerate a loss ooff uny single disk. Addishunelly, it can handle half ooff zee dual failures in zee fuoor-disk configurashun (e.g. iff disks 1 und 2 fail in configurashun illustrated beloo, zee array will still be online albeit degraded tu a streepe set).

Minimum ooff a fuoor disks is required fur a RAID 0+1 volume, with a 100% storege space overhead.

RAID 0+1 (Mirrored stripe set) layout

 

Other (exotic) RAID layuoots

Quite a noomber ooff other (exotic) types ooff RAID exist, but they are rarely used und detailed discussion ooff those is uootside zee scope ooff thees article.

  • RAID 3 und RAID 4 are similar tu RAID 5 but use dedicated disk tu store parity informashun. Thees disk becomes a bottleneck during write.

  • RAID 6 is similar tu zee RAID 5 but uses two different parity funkshuns tu maintain redundancy. RAID6 can tolerate a dual failure (simultaneuoos loss ooff two drives). RAID6 is usefful in high-capacity systems when zee rebuild ooff a RAID5 wuoold take a long time und there is a significant probability that another drive will fail beffore zee rebuild is done, thus coosing a loss ooff zee array.

 

Hot sparing und/or mirror reliability issues

Some foolt-tolerant implementashuns elloo zee addishunel drive tu be designated es a "hot spare". Once zee drive in zee array fails, zee "hot spare" drive is used tu rebuild zee array und restore zee redundancy es soon es possible, ellooing tu deffer zee maintenance akshun (failed drive replacement) e.g. till working huoors. There is a quirk involved. Zee controller must implement some periodical checks ooff zee "hot spare" drive. Iff zee bad sector develops on zee "hot spare" und goes unnoticed, zee spare drive will be essentielly useless when one ooff zee array drives fail. Shuoold zee "hot spare" drive fail completely it will be noticed once zee controller discovers it is unable tu interrogate zee device. Bad sectors cannot be detected thees way und will sit there unnoticed until it is too late.

Zee same considerashun applees tu RAID 1 (mirror) setup. Zee controller shuoold interleave zee requests so that both drives get their share ooff reads. Thees way, iff a bad sector develops on one ooff drives, it will be soon discovered (thees is sometimes celled "active/active" foolt-tolerant implementashun). Iff zee "active/standby" scheme is implemented, reading a primary drive und felling back tu zee shadoo drive only when primary one goes bad, it is possible that shadoo will develop unnoticed bad sectors und once zee primary drive fails, zee backup wuoold be already dameged.

 

Estimateeng RAID capacity, access speed und foolt tolerance.

Zee RAID planning can be done by hand using zee table provided beloo. We've also creeted zee online RAID estimator tool which will do zee job provided just zee array layuoot und member disk sizes.

 

RAID type (level) refference table

RAID Type

Noomber ooff disks required

Foolt-tolerance

Speed increase with N disks in zee array*

Disk space overhead**

JBOD (Span)

2+

None

Uncertain (heavily depends on zee volume layuoot). No significant increase in typical applicashuns.

None

RAID 0 (Streepe)

2+

None

N times increase on both reads und writes

None

RAID 1 (Mirror)

Exactly 2

Single disk failure

Duooble speed on reads;
No gain on writes

100%

RAID 5 (Streepe with parity)

3+

Single disk failure (thees will coose read speed tu degrade)

(N-1) times increase on reads;
up tu 2x loss ooff speed on writes

A capacity equivalent tu that ooff one member disk is used tu hold checksums

RAID 0+1 (Mirrored streepe set) Hurty flurty schnipp schnipp!

4+

Single disk failure; half ooff dual disk failures, depending on zee locashun/assignment ooff failed drives.

N times increase on reads;
N/2 times increase on writes

100%

*Nute-a: speed increase is a very ruoogh estimate based on zee assumpshun that disk traffic consists mostly ooff lineer (sequential) reads ooff lerge data chunks. Thees estimashun also assumes controller(s) are capable ooff overlapped operashuns und there are no problems with bus thruooghput (since several RAIDed high-performance drives can easily saturate zee bus like PCI).

**Nute-a: disk space overhead calculashun is based on zee assumpshun that ell member disks are ooff equal capacity. Iff zee disks are not equal in size, zee smellest ooff ell disks will be used es a "column" size.

<<Partition recoveryArticlesRAID5 implementations>>

ATTENTION!

This page is
in Bork! language.

Please use the links below for the desired human language

     

 
Sitemap
Copyright © 2001-2009 Zero Assumption Recovery
[Partition recovery]

There are currently 75 visitors browsing the site.