Friday, December 4, 2009

Chapter 6. Disk Arrays










 < Free Open Study > 











Chapter 6. Disk Arrays





I/O certainly has been lagging in the last decade.

�Seymour Cray, 1976





Most of the improvements in disk technology have been made with the

aim of increasing the capacity/price ratio. Although these changes

have made mass storage much more affordable, they have brought about

two fairly serious problems:





  • When a single disk can store tens of gigabytes of data, the

    reliability of an individual disk becomes a serious concern, as the

    failure of an individual disk results in the loss of large amounts of

    data.

  • Disk performance has lagged drastically behind capacity/price

    improvements.





To solve these problems, a great deal

of effort has been put into designing methods of organizing sets of

disks to enhance both reliability and performance. This has come to

be known as RAID, which either stands for "Redundant

Array of Inexpensive Disks" or

"Redundant Array of Independent

Disks," depending on who you listen to. There are

seven levels of RAID; each takes a different approach to solving

these problems. The types of RAID are summarized in Table 6-1.





Table 6-1. A summary of RAID levels


RAID level





Organization





Strengths





Weaknesses





RAID 0





Striping





Very fast, simple





Low reliability





RAID 1





Mirroring





Fast, simple





Expensive





RAID 2





Reliability viaHamming codes





Reliable





Inflexible





RAID 3





Parity





Fast sequential access, reliable





Slow random access, implementation difficult





RAID 4





Parity





Average performance, reliable





Bottlenecks on dedicated parity disk





RAID 5





Parity





Good performance, reliable, cheap





Slow writes, heavy cache requirements





RAID 10





Striped mirrors





Very fast, simple





Expensive







There is a fundamental tradeoff in configuring disk arrays -- in

fact, it is the classical example of the one of the principles of

performance tuning (see Section 1.2.2). The tradeoff

is stated in the following note.











Fast, cheap, safe.



Of these three attributes, you may pick only two.







In this chapter, I discuss some of the fundamentals of assembling

multiple disks into a single logical unit: the basic terminology

used, the differences between software and hardware disk arrays,

recipes for desiging disk arrays, and many other aspects of modern

array implementation.




















     < Free Open Study > 



    No comments: