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 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.
|
No comments:
Post a Comment