Why RAID is (usually) a Terrible IdeaWritten on February 5, 2007 by Jon Bach
As President of Puget Custom Computers, I get a unique perspective on computer products and technology. Our company specializes in selling high performance custom computers, and that naturally brings up the question of RAID often. There is an overwhelming opinion out there that if you have the money and want a blazing fast and stable computer, that you should put your hard drives in RAID. We have known for years that this perception is just flat out wrong, but the problem is that the idea is so widely accepted that it is nearly impossible to convince our customers otherwise. In fact, if we try too hard to talk them out of it, we end up losing the sale! So, should we be selling configurations that we know are flawed, for the sake of making the sale? We think the answer comes in the form of transparency and education! This article is just the latest effort in educating the public about RAID.
To be clear, there are definitely times when RAID is a good route. I will get into that later, but I need to start by saying that I am not talking about enterprise servers. That is a completely different type of computer. I am talking about home desktops, enthusiast computers, and professional workstations.
What is the Problem?
So what do I have against RAID? I have no problem with the concept. The problem is that for 90% of the people out there, it isn't a good idea. Since high end enthusiast machines are some of our most common builds here at Puget, we frequently are asked to build machines with RAID when it doesn't make sense. I am here to say that those RAID configurations account for one of the biggest sources of frustration for our customers, as evidenced by the fact that they make up a very large portion of our support tickets. That is the root of my problem with RAID -- I see the frustrations it causes all the time. When I weigh that against the benefits of RAID, I just can't recommend it except in very select cases.
The underlying problem with RAID is the fact that by using it, you are making your computer significantly more complicated. Not only are you now relying on two hard drives to work properly, but you are also relying on a much more complicated controller (the RAID controller). If any one of those items has a problem, the array fails. If one hard drive has a problem even for a moment, you have a degraded array on your hands. At that point, you are relying on the RAID controller for error correction and array management, and the fact of the matter is that all (yes, all) RAID controllers onboard a motherboard are low quality. They have been added to the motherboard as an afterthought -- a feature added simply because the manufacturer knows that if they add any feature they can, they're more likely to sell their product. At at a time when nearly every modern motherboard has built in RAID, they have to offer it just to be considered as feature rich as their competitors.
RAID1 (mirroring) for Data Loss Protection
One of the commonly accepted beliefs is that if you want your data to be ultra-secure, then a RAID1 array for hard drive redundancy is the best route. This an area where the first hand data we have accumulated gives me a very strong argument to the contrary. As we sell hundreds of computers a month, our self-built administrative systems log every single failed piece of hardware and trouble ticket we open. With this, we can see hard data on how often hard drives fail, and how often a RAID array has problems. This is really useful information to look at! Here is the data I have for our hard drive sales in the last year, where we have sold at least 200 units:
|Hard Drive||# Units Sold||Failure Rate|
|Seagate Barracuda 7200.9 250GB SATAII||280||3.21%|
|Seagate SATA Barracuda 80GB||271||2.58%|
|Western Digital SATA Raptor 74GB||592||2.03%|
|Seagate Barracuda 7200.10 320GB SATAII||202||1.98%|
|Seagate Barracuda 7200.9 160GB SATAII||265||1.89%|
|Seagate Barracuda 7200.9 80GB SATAII||403||1.74%|
|Western Digital ATA100 80.0GB WD800JB||290||1.72%|
|Western Digital SATA Raptor 150GB||278||1.44%|
When I look at those numbers I see excellent reliability. Specifically, the Western Digital Raptor hard drives impress me. We sell a huge amount of those drives, and have only had a handful fail. In fact, two of those failures were our fault -- one we wired incorrectly and fried, and the other we dropped on the concrete warehouse floor...so technically, the Raptor failure rate should be a bit lower. Impressive! Neither of these damaged hard drives ever even left our facilities, obviously.
Unfortunately, it is not as clear of a number when it comes down to how many RAID failures there have been. Since it is not a black and white failure issue, I do not have hard data. However, at the agreement of our support staff, I estimate that anywhere from 25% to 30% of our customers with RAID will call us at some point in the first year to report a degraded RAID array or problem directly resulting from their RAID configuration. Granted, a failed RAID1 array does not mean data loss, but it certainly means a long, frustrating hassle. On the other hand, a single hard drive will often give warning signs before failure, so that scenario doesn't necessarily mean data loss either.
The real question is: Is RAID1 really worth being 15-20 times more likely to have a problem? Keep in mind, RAID1 does nothing to protect you from:
- Accidental deletion or user error
- Viruses or malware
- Theft or catastrophic damage
- Data corruption due to other failed hardware or power loss
RAID0 (striping) for Performance
It is generally well accepted that RAID0 carries a sizable risk of data loss. When that is acceptable, people will often desire RAID0 for the speed benefits. What is not understood is that the speed benefits are dependent on the type of disk usage. To make a vast simplification of the issue, there are two main factors in disk performance: access time, and throughput. Access time dictates how quickly a hard drive can go from one operation to the next, and throughput dictates how quickly data can be read or written. RAID0 does increase throughput, but it does absolutely nothing to help the access time. What does that mean? It means that if you are reading and writing a large number of smaller files, the performance benefit will be very minimal. If you are reading or writing a large amount of data at one location on the disk, that is where you will see a benefit. Therefore, in times where you are working with transferring or copying very large files, RAID0 can make sense.
Video editing is a good example of when RAID0 might make sense. Now, you still need to be sure that the speed of the hard drives is the right place to focus. For example, if you are editing a video, and when doing so your CPU usage is pegged at 100%, then you can be fairly certain that moving to RAID0 will not be a help, because you'll still be limited by your CPU. Therefore, video editing alone does not mean RAID0 will be useful...it has to be video editing in which your CPU or memory is not the bottleneck, which honestly is very uncommon. My personal recommendation -- do your homework. Do not take on the hassles of RAID unless you know it will be a help. Go into your research with the knowledge that it is actually very uncommon for RAID0 to be faster in desktop usage.
Don't take my word for it! Storagereview.com, an authority in hard drive performance analysis and discussion, has a whole page talking about RAID0.
The other time when RAID can make sense is if you need an extremely large volume of space. RAID0 or RAID5 would be able to let you combine drives together. If you're working with HD video and need to be able to save 2-3TB of data, then a RAID array is necessary to have a working space that large.
Other Types of RAID
Discussing RAID1 and RAID0 gives me the most well defined discussion points, but the same principles can be combined to apply to RAID5 and RAID10. Remember that I am not talking about server usage. With servers, RAID can often bring more benefits, though a large reason for that is because the quality of the RAID controllers in a server environment is often much higher.
If you do decide that RAID makes sense for you, make sure you use a quality RAID controller. Software RAID controllers are not good quality. Not only are they lower performance, which negates a major point of RAID, but they are much more prone to failure and bugs in general. Make sure you get a hardware RAID controller, such as one from 3Ware. The quality is higher, the performance is better, and when you have a problem with your array, the rebuilding and diagnostic tools are far superior. A good raid controller starts at $300. If you have a RAID controller on your $150 motherboard, what does that say about the quality? I know it is difficult to justify the cost of a hardware controller when your motherboard may already have a software controller onboard, but if you can't bring yourself to cover that cost, then I submit that RAID is not important enough to you.
It is quite obvious by now that in a desktop environment, I am dead set against RAID. Problems are common, and benefits are few. Just remember that I am taking this position due to experience. I even fell prey to the hype myself once! At one time I ran my office workstation on a RAID0 array. It had problems once or twice over the years, but because I kept a second hard drive for storage and I am perfectly comfortable with a Windows reinstall, it was never a large issue for me. I ended up moving back to a single drive because I didn't notice any performance difference.
My conclusions are based on benchmark data, as well as over six years running a custom computer company, a company whose target market is made up of all the people that are targeted by the hype of RAID. If you have anything to add, please email me! I'd be happy to consider adding it to this article.