There are a few things you can count on in life: death, taxes, and hard drive failure or data corruption. No matter what brand of hard drives you use or what kind of drive you select, eventually you will experience drive failure. While data corruption and drive failure rates have drastically decreased due to Solid State and NVMe drives, it’s still something you need to protect against. This is accomplished through offsite backups, and RAID.
But what is RAID, and how do you select the right RAID option for your server? In this article, we will cover the anatomy of RAID, the variety of options available, and tips for selecting the right one.
What is the RAID?
RAID stands for Redundant Array of Independent Disks. Simply put, it’s the process of using multiple hard drives to make a redundant copy of data. Should a drive in a RAID array fail, the data remains secure through a variety of mechanisms. The way in which the data is protected varies based on the RAID level configured. We’ll cover that later.
RAID arrays utilize striping, parity, and mirroring to accomplish data redundancy. It’s important to understand what these processes mean in order to know which RAID level to select.
Striping is the process of segmenting a file into multiple parties, and storing each segment on a different physical disk. This process is great for high I/O operations as data can be concurrently accessed across multiple devices, increasing throughput. But if one drive in the striping array fails, it means the file would become corrupt. That’s why striping is used concurrently with either mirroring or parity.
Parity is used within RAID to achieve data redundancy during drive failure. If a drive in the array fails, the parity bit is used to rebuild the array on a new hard drive. The Boolean XOR function is used to rebuild the data stored on the surviving drive along with the parity data.
Mirroring is simply copying the data on one drive and replicating it onto a second physical disk. This is the simplest form of RAID and achieves basic data redundancy on one drive, but it doesn’t offer the performance and storage enhancements that can be achieved through striping and parity.
Each level of RAID uses a different level of striping, parity, and mirroring to achieve redundancy. Now that you understand basic RAID terms, let’s review RAID levels:
RAID Levels
Level | Fault | Drives | Description |
0 | No | 2 | Data is striped across multiple disks, improving I/O performance but without any redundancy in the event of disk failure |
1 | Yes | 2 | The data on one drive is mirrored across the other, delivering redundancy to protect against disk failure. RAID 1 does not increase performance, in fact in delivers a slightly degraded I/O experience. |
5 | Yes | 3 | Data and parity (data used for recovery) are striped across 3 or more drives. Should a drive fail, data is recreated automatically. Hard drives may be swapped out seamlessly. Servers that perform heavy write operations may notice a performance hit from RAID 5. |
6 | Yes | 4 | Identical to RAID 5, but utilizes an additional parity block so that two drives may fail and the integrity of the data remains in tact. |
10 | Yes | 4 | Combines the mirroring of RAID 1 with the striping of RAID 0, delivering significant performance and redundancy. |
50 | Yes | 6 | Combines the parity of RAID 5 with the striping of RAID 0. RAID 50 delivers increased performance and faster rebuilds than RAID 5. |
60 | Yes | 8 | Combines the benefit of RAID 6 and the parity of RAID 0, RAID 60 utilizes two RAID 6 arrays to deliver maximum performance and redundancy. |
Hardware vs Software RAID
RAID systems may be controlled by a dedicated hardware chip, or the operations involved with RAID may be handled by the hardware that comes standard with the server.
Only the most basic forms of RAID are available via software control, and most experts agree that there is a performance hit when RAID tasks are handled by software. In nearly every case, hardware RAID is the way to go.
Selecting a RAID Level
Each project is unique and requires a different RAID level. It’s important to consider what your goals are in setting up a RAID array. Are you more concerned with data redundancy, performance increases, or both? What is your budget? How much data are you looking to store? These are all important questions to ask, and should lead you to a particular RAID level.
If you’d like us to use our decades of experience to help you choose the perfect RAID setup for your project, book a free consultation. We’ll analyze your needs and budget to set you up with the best RAID configuration.