290 likes | 538 Views
RAID Arrays. Redundant Array of Inexpensive Discs. What is RAID Arrays?. RAID is an acronym for Redundant Array of Independent Drives (or Disks), also known as Redundant Array of Inexpensive Drives (or Disks)
E N D
RAID Arrays Redundant Array of Inexpensive Discs
What is RAID Arrays? RAID is an acronym for Redundant Array of Independent Drives (or Disks), also known as Redundant Array of Inexpensive Drives (or Disks) The various types of RAID are data storage schemes that divide and/or replicate data among multiple hard drives
Why Use RAID? Improved Reliability Improved Performance Fault Tolerance Improved Availability Higher Data Security
Key Terms • Mirroring - the copying of data to more than one disk • Striping - the splitting of data across more than one disk • Parity - a redundancy check that ensures that the data is protected without having to have a full set of duplicate drives. • Duplexing - an extension of mirroring that is based on the same principle as that technique expect it goes one step further in that it also duplicates the hardware that controls the two hard drives (or sets of hard drives). RAID Arrays
RAID - Redundant Array of Independent Disks RAIDController RAID Arrays Host RAID Array
RAID Components Physical Array Logical Array RAIDController RAID Arrays Logical Array Host RAID Array
Data Organization: Strips and Stripes Stripe 1 RAID Arrays Stripe 2 Stripe 3 Strips
RAID Levels • 0 Striped array with no fault tolerance • 1 Disk mirroring • 3 Parallel access array with dedicated parity disk • 4 Striped array with independent disks and a dedicated parity disk • 5 Striped array with independent disks and distributed parity • 6 Striped array with independent disks and dual distributed parity • Combinations of levels (I.e., 1 + 0, 0 + 1, etc.) RAID Arrays
RAID 0 A striped set of at least two disks without parity The data is broken down into blocks and each block is written to a separate disk drive Best performance is achieved when data is striped across multiple controllers with only one drive per controller
Block 4 Block 4 Block 3 Block 3 Block 2 Block 2 Block 1 Block 1 Block 0 Block 0 RAID 0 – Striped Array with no Fault Tolerance RAIDController Host RAID Arrays
Advantages of RAID 0 I/O performance is greatly improved by spreading the I/O load across many channels and drives No parity calculation overhead is involved Very simple design Easy to implement
Disadvantages of RAID 0 Not a "True" RAID because it is NOT fault-tolerant The failure of just one drive will result in all data in an array being lost Should never be used in mission critical environments
Block 1 Block 1 Block 1 Block 0 Block 0 Block 0 RAID 1 – Disk Mirroring RAIDController Host RAID Arrays
RAID 1 Advantages High data availability and high I/O rate (small block size). Improves read performance - twice the read transaction rate of single disks, same write transaction rate as single disks 100% redundancy of data means no rebuild is necessary in case of a disk failure, just a copy to the replacement disk Simplest RAID storage subsystem design – easy to maintain
RAID 1 Disadvantages Expensive due to the extra capacity required to duplicate data. Overhead cost equals 100%, while usable storage capacity is 50%. May not support hot swap of failed disk when implemented with software. Use hardware implementation.
RAIDController Block 3 Block 3 Block 3 Block 2 Block 2 Block 2 Block 1 Block 1 Block 1 Block 0 Block 0 Block 0 RAID 0+1 – Striping and Mirroring RAID Arrays Host
RAIDController Block 3 Block 3 Block 3 Block 2 Block 2 Block 2 Block 1 Block 1 Block 1 Block 0 Block 0 Block 0 RAID 1+0 – Mirroring and Striping RAID Arrays Host
RAID 0+1 vs. RAID 1+0 • Benefits are identical under normal operations • Rebuild operations are very different • RAID 1+0 uses a mirrored pair – only 1 disk is rebuilt if a disk fails • RAID 0+1 if a single drive fails, the entire stripe is faulted • RAID is 0+1 is a poorer solution and is less common RAID Arrays
0 4 8 RAID Redundancy: Parity 1 5 9 2 RAIDController 6 RAID Arrays 10 3 7 Host 11 0 1 2 3 4 5 6 7 8 9 10 11 Parity Disk
The middle drive fails: Parity Calculation Data 5 5 + 3 + 4 + 2 = 14 Data 3 Data 4 RAID Arrays 5 + 3 + ? + 2 = 14 ? = 14 – 5 – 3 – 2 ? = 4 Data 2 Parity 14 RAID Array
RAIDController ParityGenerated Block 1 Block 2 Block 3 Block 0 Block 3 Block 2 Block 1 Block 0 P 0 1 2 3 RAID 3 – Parallel Transfer with Dedicated Parity Disk RAID Arrays Host
P 0 1 2 3 P 0 1 2 3 Block 1 Block 0 Block 3 Block 0 Block 2 P 4 5 6 7 Block 4 Block 5 Block 6 Block 7 RAIDController Block 0 Block 0 ParityGenerated P 0 1 2 3 RAID 4 – Striping with Dedicated Parity Disk RAID Arrays Host
P 0 1 2 3 P 0 1 2 3 Block 2 Block 0 Block 0 Block 3 Block 1 ParityGenerated P 4 5 6 7 P 4 5 6 7 Block 4 Block 5 Block 4 Block 6 Block 7 RAIDController Block 0 Block 4 Block 0 Block 4 P 4 5 6 7 ParityGenerated P 0 1 2 3 RAID 5 – Independent Disks with Distributed Parity RAID Arrays Host
RAID 6 – Dual Parity RAID • Two disk failures in a RAID set leads to data unavailability and data loss in single-parity schemes, such as RAID-3, 4, and 5 • Increasing number of drives in an array and increasing drive capacity leads to a higher probability of two disks failing in a RAID set • RAID-6 protects against two disk failures by maintaining two parities • Horizontal parity which is the same as RAID-5 parity • Diagonal parity is calculated by taking diagonal sets of data blocks from the RAID set members • Even-Odd, and Reed-Solomon are two commonly used algorithms for calculating parity in RAID-6 RAID Arrays
RAID Implementations • Hardware (usually a specialized disk controller card) • Controls all drives attached to it • Performs all RAID-related functions, including volume management • Array(s) appear to the host operating system as a regular disk drive • Dedicated cache to improve performance • Generally provides some type of administrative software • Software • Generally runs as part of the operating system • Volume management performed by the server • Provides more flexibility for hardware, which can reduce the cost • Performance is dependent on CPU load • Has limited functionality RAID Arrays
Hot Spares RAIDController RAID Arrays
RAIDController Hot Swap RAIDController RAID Arrays RAIDController
Check Your Knowledge • What is a RAID array? • What benefits do RAID arrays provide? • What methods can be used to provide higher data availability in a RAID array? • What is the primary difference between RAID 3 and RAID 5? • What is a hot spare? RAID Arrays