Which RAID level stripes data across multiple drives to improve performance and also provides fault tolerance?

Which RAID level stripes data across multiple drives to improve performance and also provides fault tolerance?

What is RAID?

RAID stands for Redundant Array of Inexpensive Disks. It is a technology used to distribute data across multiple hard drives in one of several ways called “RAID levels”, depending on what level of redundancy and performance is required.

Wikipedia defines RAID as “a data storage virtualization technology that combines multiple physical disk drive components into one or more logical units for the purposes of data redundancy, performance improvement, or both. Data is distributed across the drives in one of several ways, referred to as RAID levels, depending on the required level of redundancy and performance. The different schemes, or data distribution layouts, are named by the word “RAID” followed by a number, for example RAID 0 or RAID 1. Each schema, or RAID level, provides a different balance among the key goals: reliability, availability, performance, and capacity. RAID levels greater than RAID 0 provide protection against unrecoverable sector read errors, as well as against failures of whole physical drives.”

In environments where speed and redundancy are required, you need to select the proper RAID level that matches your requirements and budget. In general, a RAID-enabled system uses two or more hard disks to improve the performance or provide some level of fault tolerance for a NAS or server.

There are several RAID concepts that you must also understand:

  • Striping – is the process of dividing a body of data into blocks and spreading the data blocks across multiple hard disks.
  • Mirroring – is the replication of logical disk volumes onto separate physical hard disks in real time to ensure continuous availability. It is most commonly used in RAID 1. A mirrored disk volume is a complete logical representation of separate volume copies.
  • Parity or Error Correction – Error detection and correction codes are often used to improve the reliability of data storage media.
  • Hardware or Software RAID – For software RAID, data is configured on the host server CPU. Hardware RAID uses the internal motherboard or a separate RAID card. Because it is processed on the internal server, software RAID is slower than hardware RAID. Because hardware RAID requires purchasing additional hardware, software RAID often costs less.

There are multiple RAID Levels, but 0, 1, 5, and 10 are the most commonly used.

Which RAID level stripes data across multiple drives to improve performance and also provides fault tolerance?

  • RAID 0

RAID 0 (block-level striping without parity or mirroring) has no (or zero) redundancy. It provides improved performance and additional storage but without fault tolerance. Hence simple stripe sets are normally referred to as RAID 0. Any disk failure destroys the array, and the likelihood of failure increases with more drives added to the array. A single drive failure destroys the entire array because when data is written to a RAID 0 volume, the data is broken into fragments called blocks. The number of blocks is dictated by the stripe size, which is a configuration parameter of the array. The blocks are written to their respective drives simultaneously on the same sector. This allows smaller sections of the entire chunk of data to be read off each drive in parallel, increasing bandwidth. RAID 0 does not implement error checking, so any read error is uncorrectable. More drives in the array means higher bandwidth, but greater risk of data loss.

  • RAID 1

In RAID 1 (mirroring without parity or striping), data is written identically to two drives, thereby producing a “mirrored set”; the read request is serviced by either of the two drives containing the requested data, whichever one involves least seek time plus rotational latency. Similarly, a write request updates the stripes of both drives. The write performance depends on the slower of the two writes (i.e., the one that involves larger seek time and rotational latency); at least two drives are required to constitute such an array. While more constituent drives may be employed, many implementations deal with a maximum of only two. The array continues to operate as long as at least one drive is functioning. With appropriate operating system support, there can be increased read performance as data can be read off any of the drives in the array, and only a minimal write performance reduction; implementing RAID 1 with a separate controller for each drive in order to perform simultaneous reads (and writes) is sometimes called “multiplexing” (or “duplexing” when there are only two drives)

When the workload is write intensive you probably want to use RAID 1 or RAID 1+0. One additional point to remember is that RAID 1 cuts total disk capacity in half: If a server with two 1 TB drives is configured with RAID 1, then total storage capacity will be 1 TB not 2 TB.

  • RAID 5

RAID 5 (block-level striping with distributed parity) distributes parity along with the data and requires all drives but one to be present to operate; the array is not destroyed by a single drive failure. Upon drive failure, any subsequent reads can be calculated from the distributed parity such that the drive failure is masked from the end user. However, a single drive failure results in reduced performance of the entire array until the failed drive has been replaced and the associated data rebuilt, because each block of the failed disk needs to be reconstructed by reading all other disks i.e. the parity and other data blocks of a RAID stripe. RAID 5 requires at least three disks. Best cost effective option providing both performance and redundancy. Use this for a database that is heavily read oriented. Write operations will be dependent on the speed of the RAID Controller used due to the need to calculate the parity data and write it across all the included disks. When your workloads are read intensive it is best to use RAID 5 or RAID 6. This is especially true for web servers where most of the transactions are read.

Don’t use RAID 5 for heavy write environments such as database servers, but this RAID level is very common on file servers or other low-write environments.

  • RAID 10 or 1+0 (Stripe of Mirrors)

In RAID 10 (mirroring and striping), data is written in stripes across primary disks that have been mirrored to the secondary disks. A typical RAID 10 configuration consists of four drives, two for striping and two for mirroring. A RAID 10 configuration takes the best concepts of RAID 0 and RAID 1, and combines them to provide better performance along with the reliability of parity without actually having parity as with RAID 5 and RAID 6. RAID 10 is often referred to as RAID 1+0 (mirrored+striped) This is the recommended option for any mission critical applications (especially databases) and it also requires a minimum of 4 disks.

Performance on both RAID 10 and RAID 01 will be the same, but RAID 10 can be expensive because Capacity Utilization (how much of total disk storage is available for workloads) is only 50%. This is the RAID level ideal for highly utilized database servers or any server that’s performing many write operations.

Comparing RAID 5 and RAID 10 for SQL Server.

  • RAID 01 (Mirror of Stripes)

RAID 01 is also called RAID 0+1. It requires a minimum of 3 disks. But in most cases, this will be implemented with a minimum of 4 disks. Imagine two groups of 3 disks. For example, if you have a total of 6 disks, create 2 groups. Performance on both RAID 10 and RAID 01 will be the same.

  • RAID 4

RAID 4 (block-level striping with dedicated parity) is identical to RAID 5 (see above), but confines all parity data to a single drive. In this setup, files may be distributed between multiple drives. Each drive operates independently, allowing I/O requests to be performed in parallel. However, the use of a dedicated parity drive could create a performance bottleneck; because the parity data must be written to a single, dedicated parity drive for each block of non-parity data, the overall write performance may depend a great deal on the performance of this parity drive.

  • RAID 6

RAID 6 (block-level striping with double distributed parity) provides fault tolerance of two drive failures; the array continues to operate with up to two failed drives. This makes larger RAID groups more practical, especially for high-availability systems. This becomes increasingly important as large-capacity drives lengthen the time needed to recover from the failure of a single drive. Single-parity RAID levels are as vulnerable to data loss as a RAID 0 array until the failed drive is replaced and its data rebuilt; the larger the drive, the longer the rebuild takes. Double parity gives additional time to rebuild the array without the data being at risk if a single additional drive fails before the rebuild is complete. Like RAID 5, a single drive failure results in reduced performance of the entire array until the failed drive has been replaced and the associated data rebuilt. Don’t use for high random write workloads.

  • RAID 7

RAID 7 is a proprietary level of RAID owned by the now-defunct Storage Computer Corporation, and is no longer recommended.

Summary

It’s important to remember that RAID is not a backup solution, and it does not replace an automated backup strategy. RAID can be a great way to optimize your NAS or server performance and to help you quickly recover from a hardware failure, but it’s intended to only be part of your overall disaster-recovery solution.

Which RAID level strips data across multiple drives to improve performance and provides fault tolerance?

Chapter 6 RQ's.

In which RAID level is data striped across all of the connected disks?

RAID 0 (disk striping) is the process of dividing a body of data into blocks and spreading the data blocks across multiple storage devices, such as hard disks or solid-state drives (SSDs), in a redundant array of independent disks (RAID) group.

Which of the following RAID configurations uses disk striping plus mirroring for fault tolerance?

RAID 10 utilizes both data striping and disk mirroring to achieve data redundancy and thus a high degree of fault tolerance.

What type of RAID volume is used for fault tolerance and only requires two drives?

Which type of RAID volume is used for fault tolerance and only requires two drives? According to the information above, you should know that RAID 1 is the exact RAID level that provides fault tolerance and only requires two drives.