What is RAID?

RAID [Redundant Array of Independent Disks] is a way of providing redundancy to the stored data, providing protection from Disk failures. RAID makes it possible to use lower-priced disks are in large numbers to safely store data. There is increased availability and resiliency, along with speed and reliability after a crash, compared to a single disk configuration.

RAID Controller

A RAID controller is used to manage the RAID setup. It can be implemented as software, hardware, or as a hybrid of both. In a hardware-based RAID, a physical controller manages the array and it can be built into a server’s motherboard. It can be costlier than the alternatives. With software-based RAID, the controller uses the resources of the hardware system, such as the central processor and memory and it may not provide as much of a performance boost as it can affect the performance of other applications on the server. It is the cheapest option. Firmware-based RAID controller [aka hardware-assisted software RAID, hybrid model RAID, and fake RAID] chips are located on the motherboard, and all operations are performed by the CPU, similar to software-based RAID. However, with firmware, the RAID system is only implemented at the beginning of the boot process. Once the OS has loaded, the controller driver takes over RAID functionality. It is cheaper than a physical RAID controller but pricier than a software RAID controller.

RAID Levels

There are multiple RAID levels defined, primarily based on how the independent disks are configured. Multiple RAID levels can also be combined and they are referred to as nested, for instance, RAID 10 (striping of mirrors) or RAID 01 (mirroring stripe sets). We will be discussing some of the relevant configurations in this article.

RAID 0

  • Employs striping across multiple disks
  • No redundancy of data
  • Best I/O performance
  • Does not provide fault tolerance
  • Total available storage space stays the same as the sum of individual disks

RAID 1

  • Employs mirroring, the same data is copied over two or more disks.
  • Read performance improved as data can read from either of the disks, write performance stays the same.
  • Total available storage space is halved.

RAID 10 or 01

  • Combining RAID 1 and RAID 0 – also known as striping of mirrors.
  • Combines the fault tolerance of RAID 1 and speed of RAID 0
  • Can only use half of the storage space.

RAID 5

  • Data striped across multiple disks and also includes a parity to detect/fix data loss.
  • Most common implementation
  • Required 3 or more disks [5 disks is common]
  • Poor choice for use on write-intensive systems because of the performance impact associated with writing parity data. Can take a long time to rebuild a disk in case of failure.

RAID 6

  • Similar to RAID 5, but includes a second parity scheme distributed across the drives in the array. Thus allowing it to withstand up to two disk failures at the same time.
  • Slower write performance than RAID 5 arrays.

References

, , , ,

Post navigation