People often ask: Should I RAID my disks?
The question is simple, unfortunately the answer is not. So here is a guide to help you decide when a RAID array is advantageous and how to go about it. This guide also applies to SSD's, with the exception of the parts about mechanical failure.
What is a RAID?
RAID is the acronym for "Redundant Array of Inexpensive Disks". The concept originated at the University of Berkley in 1987 and was intended to create large storage capacity with smaller disks without the need for very expensive and reliable disks, that were very expensive at that time, often a tenfold of smaller disks. Today prices of hard disks have fallen so much that it often is more attractive to buy a single 1 TB disk or larger than two 500 GB disks. That is the reason that today RAID is often described as "Redundant Array of Independent Disks".
The idea behind RAID is to have a number of disks co-operate in such a way that it looks like one big disk.
Why use a RAID?
Now with these lower disks prices today, why consider a raid array? There are two reasons: 1. Redundancy (or security)
2. Performance
Notice that it can be a combination of both reasons, it is not an 'either/or' reason.
Do you need RAID?
No, if the above two reasons, redundancy and performance are not relevant. Yes if either or both reasons are relevant.
Re 1. Redundancy
Re 2. Performance Opponents of RAID will often say that any modern disk is fast enough and they are right, but only to a certain extent. As fill rates of disks go up, performance goes down, sometimes by 50%. As the number of disk activities on the disk go up, like accessing (reading or writing) page file, media cache, previews, media, projectfile, output file, performance goes down the drain. The more tracks you have in your project, the more strain is put on your disk. 10 tracks require 10 times the bandwidth of a single track. The more applications you have open, the more your pagefile is used. This is especially apparent on systems with limited memory.
The following chart shows how fill rates on a single disk will impact performance:
Remember that I said previously the idea behind RAID is to have a number of disks co-operate in such a way that it looks like one big disk. That means a RAID will not fill up as fast as a single disk and not experience the same performance degradation.
RAID Basics
Now that we have established the reasons why people may consider RAID, let's have a look at some of the basics.
Single or Multiple?
You can ignore but nice to know >>Hardware or Software?
The difference is quite simple: hardware RAID controllers have their own processor and usually their own cache. Software RAID controllers use the CPU and the RAM on the motherboard. Hardware controllers are faster but also more expensive. For RAID levels without parity check like Raid0, Raid1, and Raid10 software controllers are quite good with a fast PC.
Software controllers (mis)use the CPU and RAM memory. Real hardware RAID controllers all use their own IOP (I/O Processor) and cache (ever wondered why these hardware controllers are more expensive?).
There are two kinds of software RAID's. One is controlled by the BIOS/drivers and the other is solely OS dependent. The first kind you can boot from while the second one can only be accessed after the OS has started. In performance terms they do not differ significantly.
RAID Levels
What are the benefits of each RAID level for video editing and what are the risks and benefits of each level to help you achieve better redundancy and/or better performance? I will try to summarize them below.
RAID 0 >> We use for the OS but recommend RAID 1
The Band-Aid of RAID. There is no redundancy! There is a risk of losing all data that is a multiplier of the number of disks in the array. A 2 disk array carries twice the risk over a single disk, an X disk array carries X times the risk of losing it all.
A RAID 0 is perfectly OK for data that you will not worry about if you lose them. Like pagefile, media cache, previews or rendered files. It may be a hassle if you have media files on it, because it requires recapturing, but not the end-of-the-world. It will be disastrous for project files.
Performance wise a RAID 0 is almost X times as fast as a single disk, X being the number of disks in the array.
RAID 1 >> We use for the OS and is what we recommend. Can be used for the Archives drives if the solution is cost sensitive and can be used for the Live Drives
The RAID level for the paranoid. It gives no performance gain whatsoever. It gives you redundancy, at the cost of a disk. If you are meticulous about backups and make them all the time, RAID 1 may be a better solution, because you can never forget to make a backup, you can restore instantly. Remember backups require a disk as well. This RAID 1 level can only be advised for the C drive IMO if you do not have any trust in the reliability of modern-day disks.
Can ignore >> RAID 3
hardware controller from Areca. You could do worse, but apart from it being the Rolls-Royce amongst the hardware controllers, it is expensive like the car.
Performance wise it will achieve around 85% (X-1) on reads and 60% (X-1) on writes over a single disk with X being the number of disks in the array. So with a 6 disk array in RAID 3, you get around 0.85x (6-1) = 425% the performance of a single disk on reads and 300% on writes.
We use for Archive Drives >> RAID 5 & RAID 6, RAID 5 can also be used for the Live Drives
The RAID level with distributed parity. This makes for a somewhat severe hit in performance in case of a disk failure. The double parity in RAID 6 makes it ideal for NAS applications.
The performance gain is slightly lower than with a RAID 3. RAID 6 requires a dedicated hardware controller, RAID 5 can be run on a software controller but the CPU overhead negates to a large extent the performance gain.
We use for the Live Drives and recommend >> RAID 10
The RAID level for paranoids in a hurry. It delivers the same redundancy as RAID 1, but since it is a multilevel RAID, combined with a RAID 0, delivers twice the performance of a single disk at four times the cost, apart from the controller. The main advantage is that you can have two disk failures at the same time without losing data, but what are the chances of that happening?
Ignore RAID 30
We do use RAID 50 & 60 for the Archive Drives in BIG Bertha and Beatrice
Just striped arrays of RAID 3, 5 or 6 which doubles the speed while keeping redundancy at the same level.
EXTRAS
RAID level 0 is striping, RAID level 1 is mirroring and RAID levels 3, 5 & 6 are parity check methods. For parity check methods, dedicated controllers offer the possibility of defining a hot-spare disk. A hot-spare disk is an extra disk that does not belong to the array, but is instantly available to take over from a failed disk in the array. Suppose you have a 6 disk RAID3 array with a single hot-spare disk and assume one disk fails. What happens? The data on the failed disk can be reconstructed in the background, while you keep working with negligible impact on performance, to the hot-spare. In mere minutes your system is back at the performance level you were before the disk failure. Sometime later you take out the failed drive, replace it for a new drive and define that as the new hot-spare.
REDUNDANCY (or security)
Not using RAID entails the risk of a drive failing and losing all data. The same applies to using RAID 0 (or better said AID0), only multiplied by the number of disks in the array.
RAID 1 or 10 overcomes that risk by offering a mirror, an instant backup in case of failure at high cost. RAID 3, 5 or 6 offers protection for disk failure by reconstructing the lost data in the background (1 disk for RAID 3 & 5, 2 disks for RAID 6) while continuing your work. This is even enhanced by the use of hot-spares (a double assurance).
PERFORMANCE
RAID 0 offers the best performance increase over a single disk, followed by RAID 3, then RAID 5 and finally RAID 6. RAID 1 does not offer any performance increase.
Hardware RAID controllers offer the best performance and the best options (like adjustable block/stripe size and hot-spares), but they are costly.
SUMMARY
More disks equals better redundancy and better performance. What does it cost today to buy an extra disk when compared to the downtime you have when a single disk fails?
Consider a multilevel array by striping a parity check array to form a RAID 30, 50 or 60. If you can afford the investment more cache the better.
Avoid as much as possible the use of software raids, especially under Windows if you can.
RAID, if properly configured will give you added redundancy (or security) to protect you from disk failure while you can continue working and will give you increased performance.