Redundant Array of Independent Disks, more commonly referred to as RAID, is a method (or methods) of storing data that ensures its survival in case of failure. You can set up RAID storage in quite a few ways, although it usually involves storing the same data on multiple storage drives to protect them from unexpected malfunctions.
How it works
A RAID system can often be found with two or more drives—these are usually hard drives, but SSDs are now becoming more and more common. These drives are working in parallel in order to prevent a catastrophic loss of data if a drive ever fails.
Basically, the way that you arrange RAID drives is by storing data on more than one disk. And this lets the I/O (input/output) operations happen simultaneously in a way such that it vastly improves performance. However, to the operating system, a RAID array will appear as a single drive.
RAID mainly uses two methods of achieving data redundancy; disk mirroring and disk striping.
Disk mirroring is a technique where each and every bit of data is copied into multiple areas of the RAID setup. Doing this is a great way to increase the fault tolerance, as well as the performance of the data.
In contrast, disk striping is where the total set of data is chipped off into blocks and written onto the Raid array one after the other. This mainly affects the performance of the drives.
It is also important to note that both disks mirroring and disk striping can be implemented simultaneously on the same RAID array.
The Different RAID Levels
When RAID was initially established as a method of data redundancy and fault protection, it was split into multiple levels of 0 through 5. However, modern implementations of RAID have expanded and separated RAID levels into different categories to better identify amongst them. These are known as standard, nested, and non-standard RAID levels.
This level is essentially the process of disk striping. The entirety of the system’s data is split off into different blocks and stored among each and every drive in the array (unlike traditional storage methods that store all data on one drive first). This drastically enhances the I/O performance of the drives but does little in terms of fault tolerance. Moreover, data redundancy is not the priority when setting up a storage array in RAID 0.
Benefits of RAID 0:
- Splitting and storing chunks of data all across the RAID array dramatically improves read and write performance, as well as longevity of the drives.
- Its relatively easy to set up a RAID 0 array
- When the array is using the whole storage system, so this leaves no room for any overhead.
Drawbacks of RAID 0:
- RAID 0 is not set up to be fault tolerant. In fact, if one drive fails, the entire RAID array will be lost.
RAID level 1 is known as mirroring. As mentioned earlier, disk mirroring is done by duplicating the set of data and storing them once on the main data drive and once on the mirror drive.
Benefits of RAID 1:
- Complete fault tolerance, if one drive fails, the data can be read from the other drive.
- Improves read and write performance as the data can be read from both drives simultaneously.
- Very easy to implement
Drawbacks of RAID 1:
- The obvious main disadvantage when using a RAID 1 system is that the total available storage is effectively halved. This can be very costly for users who mean to set up very large storage systems.
- Most, if not all RAID 1 solutions require you to power down the entire system in case of a drive failure in order to replace the faulty drive. This usually ends up being detrimental to many time-sensitive users.
This is by far the most secure out of all RAID levels. RAID 6 uses disk striping along with parity in order to store data. It requires a minimum of three separate disks in order to establish a RAID 5 array. This is because the parity data is spread out on three separate disks, with a third of the striped blocks having their parity data stored on the second disk.
Once the disks are striped and allocated into blocks, a parity spread applies to each drive. This then acts as a failsafe in case of a drive failure.
In a nutshell, parity is a method of checking whether the data has remained intact after a transfer or transmission. It adds checksums prior to the sending of data and compares it with the data that is on the other end of the transaction to detect any irregularities.
RAID takes this concept a step further by using parity information to rebuild data in the case of data loss or drive failure. This means that a RAID 5 array is able to withstand an entire drive failure without ever losing the data nor access to it. The specific feature set that RAID 5 has makes it ideal for systems that need secure, efficient, and adequately fast storage—such as file servers.
Benefits of RAID 5:
- Extremely fault tolerant
- Continuous and consistent access to all of the data on the system
- Very fast read transactions
Drawbacks of RAID 5:
- Similar to RAID 1, you can only use half of your total storage.
- The larger the drive size, the longer it takes to build the data from the parity.
- Due to the sheer overhead of the parity, the write performance suffers heavily.
Raid 6 is very similar to RAID 5, with the main difference being that it has a secondary parity that is used to protect data. This means that a RAID 6 array requires a minimum of 4 drives to function. However, the upside to this is that it can handle two separate storage drives failing simultaneously. In comparison, RAID 5 only handles one, if another drive fails while the parity is rebuilding the lost data of the first drive, you will end up losing all your data anyway. Even though the odds of two different drives failing together are slim, it adds an extra layer of security that many users will appreciate.
Benefits of RAID 6:
- As with RAID 5, read transactions can be very fast.
- Users have easy and consistent accessibility to the data
- An added level of redundancy due to the secondary parity layer which protects a second disk.
Drawbacks of RAID 6:
- Very slow write speeds due to the double parity implementation
- Rebuilding lost data takes even longer due to the sheer complexity of the array.
RAID 10 essentially combines the features of both RAID 1 and Raid 0. This is known as a nested (hybrid) configuration. Mirroring applies to two storage disks. After which striping is also applied. While this drastically increases the overall cost, it also increases redundancy while also benefitting from RAID 0’s high performance. RAID 10 is perfect for scenarios that require high data security as well as fast information transactions.
Benefits of RAID 10:
- The combined powers of mirroring and striping make the RAID 10 array fast and highly fault tolerant.
- It is a very secure method due to the use of mirroring.
Drawbacks of RAID 10:
- Vastly more expensive than other alternative RAID levels
- Only half the storage is available for use.
These are the different levels of RAID that are commonly used. However, it is very important to know that no RAID array is a substitute for old-school backups. While you get data redundancy and security, to fully protect your data, one must always have backups of the data stored in RAID at hand.
Most general users would gravitate towards either RAID 1, 0, or RAID 10 due to their ease of implementation and high fault tolerance. Those with NAS (Network Attached Storage) systems commonly opt to set up their storage in RAID 10 due to its high performance and security.