What is RAID?
RAID is an acronym that stands for Redundant Array of Independent (or Inexpensive) Disks. RAID started back in the 1970's but the term RAID didn't gain steam until the late 80's. Back then Disks meant hard drives, as flash had not yet been deployed at scale. But today, Disks also includes flash by way of SSDs or even storage class memory. At its core, RAID is a virtualization technology that is a way to aggregate a group of physical disks, making them addressable in one or more logical units. RAID can be used to provide a computer system with performance, redundancy (fault tolerance) or both, depending on what RAID level you choose, or what your software and/or hardware supports. Just like in everything, there is an overhead cost associated with each RAID level.
Hardware vs. Software RAID
There are many different ways to set up RAID. Many motherboards on modern machines support RAID via software. While software RAID is easy to set up and configure and generally doesn't have a cost associated with it, software RAID is generally offers less performance than hardware RAID as the system is taked with all of the computational and transaction tasks of RAID management. In servers, there are new approaches to software RAID that try to solve these performance problems. Intel Virtual RAID on CPU, or Intel VROC for short, is available on many modern server motherboards. VROC essentially allows the SSDs to have direct access to the CPUs, removing the need for a hardware card entirely (Intel VROC Review).
More commonly, RAID is set up with a combination of hardware and software. The hardware is typically an add-in card that slots into a PCIe slot on the motherboard. That's not always the case however, many server vendors like Dell EMC and HPE, have integrated RAID cards that are attached directly to the server motherboard.
Common RAID Levels
RAID is setup in types or levels, from RAID 0 all the way up to RAID 50 and beyond. Of course many storage array vendors have their own take on RAID, using branded names that generally correspond to one of the common RAID types. Certain filesystems also have different naming schemes for RAID. In ZFS for instance, RAIDZ offers a similar level of redundancy to RAID5.
For the sake of this document, we'll consider the common RAID levels.
|RAID0||Striping without parity||2||None||Highest performance, no fault tolerance|
|RAID1||Mirroring without parity||2||1 Drive|
|RAID5||Striping with distributed parity||3||1 Drive|
|RAID6||Striping with double distributed parity||4||2 Drives|
|RAID10||Striping and Mirroring||4||1 Drive Per Disk Group|
Is RAID Backup?
RAID is not a backup solution, you should still make sure you backup your data. A RAID can fail causing damage or loss of data. Data should be backed up to an offsite location, preferrably more than one depending on the criticality of the data.