Sunteți pe pagina 1din 19

RAID

RAID
• Redundant Array of Independent Disks
• Redundant Array of Inexpensive Disks
• 6 levels in common use
• Not a hierarchy
• Set of physical disks viewed as single
logical drive by O/S
• Data distributed across physical drives
• Can use redundant capacity to store parity
information
RAID 0
• No redundancy
• Data striped across all disks
• Round Robin striping
• Increase speed
—Multiple data requests probably not on same
disk
—Disks seek in parallel
—A set of data is likely to be striped across
multiple disks
RAID 1
• Mirrored Disks
• Data is striped across disks
• 2 copies of each stripe on separate disks
• Read from either
• Write to both
• Recovery is simple
—Swap faulty disk & re-mirror
—No down time
• Expensive
RAID 2
• Disks are synchronized
• Very small stripes
—Often single byte/word
• Error correction calculated across
corresponding bits on disks
• Multiple parity disks store Hamming code
error correction in corresponding positions
• Lots of redundancy
—Expensive
—Not used
RAID 3
• Similar to RAID 2
• Only one redundant disk, no matter how
large the array
• Simple parity bit for each set of
corresponding bits
• Data on failed drive can be reconstructed
from surviving data and parity info
• Very high transfer rates
RAID 4
• Each disk operates independently
• Good for high I/O request rate
• Large stripes
• Bit by bit parity calculated across stripes
on each disk
• Parity stored on parity disk
RAID 5
• Like RAID 4
• Parity striped across all disks
• Round robin allocation for parity stripe
• Avoids RAID 4 bottleneck at parity disk
• Commonly used in network servers
RAID 6
• Two parity calculations
• Stored in separate blocks on different
disks
• User requirement of N disks needs N+2
• High data availability
—Three disks need to fail for data loss
—Significant write penalty
RAID 0, 1, 2
RAID 3 & 4
RAID 5 & 6
RAID-0

Strip 0 Strip 1 Strip 2 Strip 3


Strip 4 Strip 5 Strip 6 Strip 7
Strip 8 Strip 9 Strip 10 Strip 11
Strip 12 Strip 13 Strip 14 Strip 15

Striped, non-redundant
 Parallel access to multiple disks
 Excellent data transfer rate (for small strips)
 Excellent I/O request processing rate (for large strips)

Typically used for applications requiring high


performance for non-critical data
RAID-1

Strip 0 Strip 0
Strip 1 Strip 1
Strip 2 Strip 2
Strip 3 Strip 3

Mirrored/replicated (most costly form of redundancy)


I/O request rate: good for reads, fair for writes
Data transfer rate: good for reads; writes slightly slower
 Read can be serviced by the disk with the shorter seek distance
 Write must be handled by both disks
Typically used in system drives and critical files
 Banking, insurance data
 Web (e-commerce) servers
Combining RAID-0 and RAID-1

Strip 0 Strip 1 Strip 2 Strip 3 Strip 0 Strip 1 Strip 2 Strip 3


Strip 4 Strip 5 Strip 6 Strip 7 Strip 4 Strip 5 Strip 6 Strip 7
Strip 8 Strip 9 Strip 10 Strip 11 Strip 8 Strip 9 Strip 10 Strip 11
Strip 12 Strip 13 Strip 14 Strip 15 Strip 12 Strip 13 Strip 14 Strip 15

Can combine RAID-0 and RAID-1:


 Mirrored stripes (RAID 0+1, or RAID 01)
Example: picture above
 Striped Mirrors (RAID 1+0, or RAID 10)
Data transfer rate: good for reads and writes
Reliability: good
Efficiency: poor (100% overhead in terms of disk
utilization)
RAID-2

b0 b1 b2 b3 f0(b) f1(b) f2(b)

Hamming codes capable of correcting two or more


erasures
 E.g., single error-correcting, double error-detecting (SEC-
DED)
Problem with small writes (similar to DRAM cycle
time/access time)
Poor I/O request rate
RAID-3

b0 b1 b2 b3 P(b)

Fine-grained (bit) interleaving with parity


 E.g., parity = sum modulo 2 (XOR) of all bits
Disks are synchronized, parity computed by disk controller
When one disk fails… (how do you know?)
 Data is recovered by subtracting all data in good disks from parity
disk
 Recovering from failures takes longer than in mirroring, but
failures are rare, so is okay
 Hot spares used to reduce vulnerability in reduced mode
Performance:
 Poor I/O request rate
 Excellent data transfer rate
 Typically used in large I/O request size applications, such as
RAID-4

Blk 0 Blk 1 Blk 2 Blk 3 P(0-3)


Blk 4 Blk 5 Blk 6 Blk 7 P(4-7)
Blk 8 Blk 9 Blk 10 Blk 11 P(8-11)
Blk 12 Blk 13 Blk 14 Blk 15 P(12-15)

Coarse-grained striping with parity


Unlike RAID-3, not all disks need to be read on each write
 New parity computed by computing difference between old and
new data
Drawback:
 Like RAID-3, parity disk involved in every write; serializes small
reads
I/O request rate: excellent for reads, fair for writes
RAID-5

Blk 0 Blk 1 Blk 2 Blk 3 P(0-3)


Blk 4 Blk 5 Blk 6 P(4-7) Blk 7
Blk 8 Blk 9 P(8-11) Blk 10 Blk 11
Blk 12 P(12-15) Blk 13 Blk 14 Blk 15

Key Idea: reduce load on parity disk


 Block-interleaved distributed parity
 Multiple writes can occur simultaneously
 Block 0 can be accessed in parallel with Block 5
First needs disks 1 and 5; second needs disks 2 and 4
I/O request rate: excellent for reads, good for writes
Data transfer rate: good for reads, good for writes
Typically used for high request rate, read-intensive data lookup

S-ar putea să vă placă și