1 / 29

Chapter 38 Redundant Arrays of Inexpensive Disks (RAIDs)

Chapter 38 Redundant Arrays of Inexpensive Disks (RAIDs). Byungjun Kim(bjkim@archi.snu.ac.kr) School of Computer Science and Engineering Seoul National University. Outline. Introduction About RAIDs Variant levels of RAIDs RAID level 0 : Striping RAID level 1 : Mirroring

kelsch
Download Presentation

Chapter 38 Redundant Arrays of Inexpensive Disks (RAIDs)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 38Redundant Arrays of Inexpensive Disks(RAIDs) Byungjun Kim(bjkim@archi.snu.ac.kr) School of Computer Science and Engineering Seoul National University

  2. Outline • Introduction • About RAIDs • Variant levels of RAIDs • RAID level 0 : Striping • RAID level 1 : Mirroring • RAID level 4 : Saving space with parity • RAID level 5 : Rotating parity • RAIDs comparison • Other interest RAIDs issues • Summary

  3. Introduction RAID Redundant Arrays of Inexpensive(independent) Disks Source : http://en.hdyo.org/you/questions (Retrieved on 2015/06/01) Source : http://gizmodo.com/tag/raid (Retrieved on 2015/06/01) Source : https://www.backuprun.com/blog/raid-is-not-backup (Retrieved on 2015/06/01) • When we use a disk, • We sometimes wish it to be faster • We sometimes wish it to be larger • We sometimes wish it to be morereliable

  4. RAIDs From Wikipedia RAID is a data storage virtualization technology that combines multiple disk drive components into single logical unit for the purposes of data redundancy or performance improvement Aggregation • Performance • Parallelism • Capacity • Multiple disk drive components • Reliability • Mirroring • Striping with parity

  5. RAIDs Source : http://www.sisense.com/technology/ (Retrieved on 2015/06/01) • A RAID provides advantages transparently • A RAID can replace a disk without changing a software • A RAID looks like a big, fast, reliable disk

  6. How To Evaluate A RAID Source : http://www.seagate.com/kr/ko/manuals/network-storage/business-storage-nas-os/raid-modes/ (Retrieved on 2015/06/01) • Evaluating each RAID design along three axes • Capacity • A set of N disks • Without redundancy : N • Reliability • Some form of redundancy • Performance

  7. Evaluating RAID Performance • Two types of performance metrics • Single-request latency • How much parallelism can exist during a single logical I/O operation • Steady-state throughput • Total bandwidth of many concurrent requests • Two types of workloads • Sequential (S) • Spending little time seeking and waiting for rotation • Spending most of its time transferring data • Random (R) • The opposite of a sequential type

  8. RAID Level 0 : Striping RAID 0 Stripe Block 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 DISK 0 DISK 1 DISK 2 DISK 3 • RAID 0 spreads blocks of the array across the disks • Only one block is placed on each disk before moving on to the next • The stripe consists of four blocks of data RAID 0 : Striping

  9. RAID Level 0 : Striping RAID 0 Chunk size : 2 blocks 0 2 4 6 1 3 5 7 8 10 12 14 9 11 13 15 DISK 0 DISK 1 DISK 2 DISK 3 • Two blocks on each disk before moving on to the next disk • The chunk size of the RAID array is two blocks • The stripe consists of eight blocks of data • RAID 0 : Striping • A different chunk size ver.

  10. RAID Level 0 : Striping • Capacity • N disks • Reliability • Any disk failure will lead to data loss • Performance

  11. RAID Level 1 : Mirroring RAID 1 0 0 1 1 2 2 3 3 DISK 0 DISK 1 • The RAID updates both copies of the data RAID 1 : Mirroring

  12. RAID Level 1 : Mirroring RAID 10 RAID 01 RAID 0 RAID 1 RAID 1 RAID 1 RAID 1 RAID 0 RAID 0 2 2 0 0 1 1 2 2 0 1 0 1 5 5 3 3 4 4 5 5 3 4 3 4 8 8 6 6 7 7 8 8 6 7 6 7 11 11 9 9 10 10 11 11 9 10 9 10 DISK 4 DISK 5 DISK 0 DISK 1 DISK 2 DISK 3 DISK 2 DISK 5 DISK 0 DISK 1 DISK 3 DISK 4 Different ways to place block copies across the disks

  13. RAID Level 1 : Mirroring • Capacity • N / 2 disks • Reliability • It can tolerate the failure of any one disk • It can tolerate up to N / 2 failures depending on which disks fail • Performance

  14. RAID Level 1 : Mirroring RAID 1 Request : Read block 0 ~7 RAID 0 0 0 1 1 0 1 2 3 2 2 3 3 0 1 0 1 2 3 4 5 6 7 4 4 5 5 2 3 4 5 6 7 8 9 10 11 4 5 6 6 7 7 12 13 14 15 6 7 DISK 0 DISK 1 DISK 2 DISK 3 DISK 0 DISK 1 DISK 2 DISK 3 Performance

  15. RAID Level 1 : Mirroring RAID 1 6 0 0 0 0 1 1 2 2 3 3 Disk 0 4 4 4 5 5 6 6 7 7 4 2 DISK 0 DISK 1 DISK 2 DISK 3 Performance

  16. RAID Level 4 : Saving Space With Parity P = D0 ⊕ D1 ⊕ D2 ⊕ D3 RAID 4 0 1 2 3 P0 4 5 6 7 P1 8 9 10 11 P2 12 13 14 15 P3 DISK 0 DISK 1 DISK 2 DISK 3 DISK 4 • Write requests update the data block and the parity block RAID 4 : Saving space with parity

  17. RAID Level 4 : Saving Space With Parity Large RAIDs require a high number of reads to compute parity RAID 4 0 1 2 3 P0 4 5 6 7 P1 8 9 10 11 P2 12 13 14 15 P3 DISK 0 DISK 1 DISK 2 DISK 3 DISK 4 • Random write • Additive parity • Read in all of the other data blocks in the stripe in parallel (block 0, 2 and 3) • XOR those with new block 1 • Write the new data and parity to disks in parallel

  18. RAID Level 4 : Saving Space With Parity New 1 0 Old 1 2 3 P0 1. Read 2. Read 3. Write 4. Write 0 New 1 2 3 P0 Source : 컴퓨터 구조 강의 슬라이드 (Retrieved on 2015/06/01) • Random write • Subtractive parity

  19. RAID Level 4 : Saving Space With Parity The read and write to data could happen in parallel The parity disk prevents any parallelism RAID 4 0 1 2 3 P0 4 5 6 7 P1 The parity disk two I/Os (one read, one write) per logical I/O 8 9 10 11 P2 12 13 14 15 P3 DISK 0 DISK 1 DISK 2 DISK 3 DISK 4 Small-write problem

  20. RAID Level 4 : Saving Space With Parity • Capacity • (N -1) disks • Reliability • It can tolerate 1 disk and no more • Performance

  21. RAID Level 5 : Rotating Parity RAID 5 0 1 2 3 P0 5 6 7 P1 4 10 11 P2 8 9 15 P3 12 13 14 P4 16 17 18 19 DISK 0 DISK 1 DISK 2 DISK 3 DISK 4 • Eliminates the parity disk bottleneck in RAID 4 • Parallel service of write requests is possible RAID 5 : Rotating parity

  22. RAID Level 5 : Rotating Parity • Capacity • (N -1) disks • Reliability • It can tolerate 1 disk and no more • Performance

  23. RAID Level 5 : Rotating Parity RAID 5 can utilize all of the disks RAID 4 VS RAID 5

  24. RAID Level 5 : Rotating Parity RAID 5 RAID 5 still generates 4 total I/O operations 0 1 2 3 P0 5 6 7 P1 4 10 11 P2 8 9 15 P3 12 13 14 P4 16 17 18 19 All writes can proceed in parallel DISK 0 DISK 1 DISK 2 DISK 3 DISK 4 RAID 4 VS RAID 5

  25. RAID Comparison : A Summary • RAID capacity, reliability and performance

  26. Other Interesting RAID Issues Source : http://www.seagate.com/kr/ko/manuals/network-storage/business-storage-nas-os/raid-modes/ (Retrieved on 2015/06/01) RAID level 6 : Tolerating multiple disk faults Hot spare

  27. Summary • About RAIDs • Variant RAIDs levels • RAID level 0 : Striping • RAID level 1 : Mirroring • RAID level 4 : Saving space with parity • RAID level 5 : Rotating parity • RAID comparison

  28. Appendix. Chunk Size Source : http://www.dailymail.co.uk/femail/article-2098861/Dont-use-Photoshop-make-models-slimmer (Retrieved on 2015/06/01) Source : http://www.apaxsoftware.com/database-management/ (Retrieved on 2015/06/01) • The one of the keys to increase RAID performance • To get good performance, the user must have a reasonable chunk size • A small chunk size VS A big chunk size • The parallelism : A small chunk size wins! • The positioning time : A big chunk size wins! • What is reasonable chunk size? • It depends on average I/O request size

  29. Appendix. RAID Mapping Problem How does the RAID know which physical disk and offset to access? Disk = A % Num_of_disks Offset = A / Num_of_disks RAID 0 A request for block 14 0 1 2 3 Disk = 14 % 4 = 2 Offset = 14 / 4 = 3 4 5 6 7 8 9 10 11 12 13 14 15 14 DISK 0 DISK 1 DISK 2 DISK 3 • Given a logical block to read or write • Example

More Related