24
COMP25212 COMP25212 ARRAY OF DISKS ARRAY OF DISKS Sergio Davies Sergio Davies [email protected] [email protected] .uk .uk Feb/Mar 2014 COMP25212 – Storage 2

COMP25212 ARRAY OF DISKS Sergio Davies [email protected] Feb/Mar 2014COMP25212 – Storage 2

Embed Size (px)

Citation preview

COMP25212COMP25212

ARRAY OF DISKSARRAY OF DISKS

Sergio DaviesSergio [email protected]@manchester.ac.uk

Feb/Mar 2014 COMP25212 – Storage 2

Problems With DisksProblems With Disks

They are (were?) too small– Fixed (multiple disks), fixed (striping)

They sometimes fail– Fixed (mirroring), worsened

(multiple/striping)

They are too slow– Fixed (mirroring/striping)

2Feb/Mar 2014 COMP25212 – Storage 2

Storage 2: RAIDStorage 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

3Feb/Mar 2014 COMP25212 – Storage 2

Technology TrendsTechnology 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

• Disk capacity and costs exceed Moore’s Law

4Feb/Mar 2014 COMP25212 – Storage 2

1985-1995 (approx)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?”

5Feb/Mar 2014 COMP25212 – Storage 2

RAID in c.1990RAID 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?

6Feb/Mar 2014 COMP25212 – Storage 2

A Diversion into A Diversion into MarketingMarketing

1985:

• Redundant

• Array of

• Inexpensive

• Disks

7Feb/Mar 2014 COMP25212 – Storage 2

A Diversion into A Diversion into MarketingMarketing

2010:

• Redundant

• Array of

• Inexpensive - Independent

• Disks

• Don’t expect “inexpensive”!!!

8Feb/Mar 2014 COMP25212 – Storage 2

RAID 0RAID 0

• Striping – (as per previous lecture)

9All images © Colin M.L. Burnett

Feb/Mar 2014 COMP25212 – Storage 2

RAID 1RAID 1

10

• Mirroring– (as per previous lecture)

Feb/Mar 2014 COMP25212 – Storage 2

RAID 2RAID 2

• (Bitwise) Hamming Code – not widely used

11Feb/Mar 2014 COMP25212 – Storage 2

RAID 3RAID 3

• Striping of (eg) bytes, with parity

• Can operate correctly with signalled errors

12Feb/Mar 2014 COMP25212 – Storage 2

RAID 4RAID 4

• Striping of blocks, with parity

• Performance issues:

1-block writerequires R-M-W

Excessive trafficon Disk 3

13Feb/Mar 2014 COMP25212 – Storage 2

RAID 5RAID 5

• Parity is distributed across multiple drives

• Distributes R-M-W

14Feb/Mar 2014 COMP25212 – Storage 2

RAID 6RAID 6

• Multiple Redundancy

15Feb/Mar 2014 COMP25212 – Storage 2

RAID combinationsRAID combinations

• Each RAID configuration has its own advantages and disadvantages;

• Can we combine the advantages by combining RAID configurations?

• Multiple RAID layers, or nested RAID

16Feb/Mar 2014 COMP25212 – Storage 2

RAID 01 (0+1)RAID 01 (0+1)

• Balancing performance and redundancy

• Mirroring couple of striping disks

[ image from:http://www.linux-mag.com/id/7928/ ]

17Feb/Mar 2014 COMP25212 – Storage 2

RAID 10 (1+0)RAID 10 (1+0)

• Striping between mirrored couples of disks

• Same as before(?)

[ image from Wheart available at: http://commons.wikimedia.org/wiki/File:RAID_10.svg ]

18Feb/Mar 2014 COMP25212 – Storage 2

RAID 10 vs 01RAID 10 vs 01

[ image from Paulish available at: http://en.wikipedia.org/wiki/File:Raid_0%2B1.svg ]

[ image from Paulish available at: http://commons.wikimedia.org/wiki/File:RAID_10_6Drives.svg ]

19Feb/Mar 2014 COMP25212 – Storage 2

Let’s check the combinations of faults which may happen

RAID 50RAID 50

• High performance and error correction

20Feb/Mar 2014 COMP25212 – Storage 2

[ image from: http://blog.iweb.com/en/2010/05/an-overview-of-raid-technology/4283.html ]

RAID 160RAID 160

[ image from: http://www.linux-mag.com/id/7932/ ]

21Feb/Mar 2014 COMP25212 – Storage 2

On Failure – An Entire On Failure – An Entire DiskDisk

• (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?

22Feb/Mar 2014 COMP25212 – Storage 2

Where to Implement Where to Implement RAID?RAID?

a) in OS

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

23Feb/Mar 2014 COMP25212 – Storage 2

For Next TimeFor Next Time

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

• For the larger scale systems…

24Feb/Mar 2014 COMP25212 – Storage 2