Storage 2: RAID Learning Objectives – To understand the technology drivers leading to RAID arrays...

Preview:

Citation preview

Storage 2: RAID

• Learning Objectives– To understand the technology drivers leading to

RAID arrays– To understand the principles of common RAID

configurations– To understand performance and reliability

consequences of common RAID configurations– To understand the limitations of RAID failure

mode operation and recovery

Technology Trends

• 1980: Hard disk state of art: 1Gbytes in 14” removable drive

• 1980’s – most PCs used floppy disks• 1990’s – most PCs used hard disks• over 1 decade, hard disk sales volumes increased

x100• First effect: price reduction• Second effect: PCs became drivers of disk

technology

1985-1995 (approx)

• Two distinct markets for disk drives:– Mainframe/minicomputer/servers– (14 inch, high capacity, expensive)– PC – (8 inch to 5.25 inch to 3.5 inch; lower capacity,

cheap(er))

• “How do we build server-class storage using PC-class components?”

RAID in c.1990

• PC disks are small => use lots of them• PC disks are unreliable – how can we use lots to

increase reliability• Clue is in the “R” – “Redundant”• Use “Redundancy” to provide some error

immunity• We’ve already seen this in “Disk Mirroring” – see

Storage 1• What else can we do?

A Diversion into Marketing

• 1985:• Redundant• Array• of• Inexpensive• Disks

A Diversion into Marketing

• 2010:• Redundant• Array• of• Inexpensive XXXXXX Individual• Disks

• Don’t expect “inexpensive”!!!

RAID 0

• Striping – (as per previous lecture)

All images © Colin M.L. Burnett

RAID 1

• Mirroring– (as in previous lecture)

RAID 2

• (Bitwise) Hamming Code – not widely used

RAID 3

• Striping of sub-blocks, with parity• Can operate correctly with signalled errors

RAID 4

• Striping of blocks, with parity

• Performance issue:1-block write needsR-M-W

RAID 5

• Parity is distributed across multiple drives• Distributes R-M-W

RAID 6

• Multiple Redundancy

On Failure – An Entire Disk• (RAID 2-6)• Operate in degraded mode (every OS read needs

to read every disk)

• Replace drive (hot-swap?)

• Rebuild array – how long?– Sequentially– On live system?

• Failure during rebuild?

Where to Implement RAID?

a) in OS

b) in Device Interface (RAID controller)– OS-independent– but how to provide User Interface?

For Next Time

• Does RAID implemented on disk controller suggest ways of building better systems?

• For the larger scale systems…

Recommended