Visual Guide to RAID Levels and the Data Protection They OfferRAID is a method by which multiple hard drives work together to create a higher performance system or one with greater data redundancy.
RAID, or Redundant Array of Independent Disks, is a method by which multiple hard drives are merged to create a higher-performance system or one with greater data redundancy and protection.
RAID is simply a technology that uses multiple disks to provide fault tolerance and/or increased storage capacity. The technology combines multiple disks into one, and depending on which level you can increase the overall capacity or increase fault tolerance. The different levels on offer on most RAID systems can be confusing, this guide provides a visual guide to RAID levels.
RAID arrays can contain volumes of any size, however, the array will only use the smallest capacity, and any extra on larger disks will not be used. For example, a striped array with a 300GB drive and a 500GB drive will only have a capacity of 600GB (300GB x2). Ideally, all disks in the array should be the same capacity.
RAID can be defined in hardware or software, but the levels are the same regardless.
What are the RAID Levels?
Four main RAID levels are commonplace. These are:
- RAID 0
- RAID 1
- RAID 5
- RAID 1+0 (sometimes called RAID 10)
RAID 0
RAID 0 requires a minimum of 2 disks, and in this configuration, the capacity of the array is equal to the total capacity of all the drives in the array. This is the most simple of configurations and offers excellent performance. Files stored on the array are spread across multiple disks, a process called striping. Using multiple disks in the array, reads and writes can be performed simultaneously which means that disk access is much faster. The trade-off is that there is no fault tolerance, if any of the drives fail you will lose the entire contents of the array.
RAID 1
RAID 1 also requires a minimum of 2 disks and in this configuration, the capacity is half the total of all the drives in the array. This is also a simple configuration where data is written to both drives at the same time. Performance is not as good as with RAID 0, however, the data is stored completely on each disk, so you can lose one and still recover the data on the other. Because data can be read from both drives the performance is better than a single drive, but write speed is only as good as a single drive.
RAID 5
RAID 5 is an extension of RAID 3 and RAID 4 which are not used these days. They use parity bytes (RAID 3) or blocks (RAID 4) which is a value based on the value of the data stored in each disk location. This configuration has good read performance, and good redundancy, and can be cost-effective fault tolerance. RAID 5 improves on this by utilising all three disks for storage, whilst distributing parity across the three drives. This not only increases capacity and performance but also increases fault tolerance.
RAID 1+0
As the name suggests, this configuration is a combination of RAID 1 and RAID 0. This configuration is the most cost expensive but has the best performance and the best fault tolerance. It requires a minimum of 4 drives, with each chunk of data striped across two drives, and both drives mirrored to the second pair. This has the performance of striping with the redundancy of mirroring. The capacity of half the total capacity of the drives.
How to Configure RAID in Windows
Windows 10 has made it simple to set up RAID by extending the Storage Spaces introduced in Windows 8.
To set up a new RAID volume in Windows 10
- Install all the drive hardware and make sure BIOS is detecting them.
- In Windows, Open Storage Spaces from the Start Menu.
- Select "Create a new pool and storage space".
- Select the RAID level under Resiliency.
- Select the array size, or leave the default for maximum size.
- Select Create storage space.
To manage the array use the "Manage Storage Spaces" application from the start menu.
How to Configure RAID in Linux
RAID is really easy to set up and configure in Linux using mdadm
.
Installing RAID in Ubuntu, issue these commands:
sudo apt-get update sudo apt-get install mdadm
Now, using fdisk delete any partitions on the disks that will become part of the array. This process will wipe data, so go carefully here.
Next, create the RAID array using the available hard drives
mdadm -v --create /dev/md0 --level=raid10 --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
When that is complete, you can format the new array
mkfs.xfs /dev/md0
And then finally mount for use
mount /dev/md0 /myraid
Check Status of the RAID array
To check the status and health of the array, use this command:
cat /proc/mdstat
This will output something like this
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid10 sdd[2] sde[3] sdb[0] sdc[1]
3906765824 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]
Additional Commands of Use
To stop an array
sudo mdadm --stop /dev/md0
To remove a disk from an array
sudo mdadm --remove /dev/md0 /dev/sda1
Add a disk to an array
sudo mdadm --add /dev/md0 /dev/sda1
Start an Array, to reassemble (start) an array that was previously created
mdadm --assemble --scan
Configure RAID in the BIOS
Most BIOS firmware supports Hardware RAID which is faster since the Hardware chip is dedicated to the RAID and not the CPU, however, I have had problems with built-in Hardware RAID. If you want hardware RAID I would recommend getting a reputable hardware RAID controller. If you still want to configure hardware RAID in the BIOS then read on.
The namings and menus listed here may be different depending on the BIOS manufacturer.
First, you need to enter BIOS setup, so turn on the computer and press F2, F12 or delete to enter the BIOS. The exact key will depend on the motherboard. Check your manual or online for the correct key. This guide was written using an Intel motherboard and Intel controller.
Once into the BIOS, head to the Drive Configuration or Storage Configuration page. From there you can set the Chipset SATA Mode to RAID.
Go to the advanced section, enter drive configuration and set Configure SATA As to RAID as well. Set the Drive Mode to Enhanced and set the RAID option to enabled.
From there, for Intel motherboards, you can download the Intel Rapid Storage Technology application to configure the drives. Other motherboard manufacturers will have different software so check your manual instructions.
Some motherboards will have a separate storage controller menu accessed using Ctrl+F when turning on the computer. This will launch a different interface to configure RAID levels.