RAID is a topic that comes up a lot when discussing servers. If you’ve wondered what RAID is, why you might want it on your server, and whether RAID 10 is the best option for you, look no further. We’re going to be discussing all of that in today’s article.
In RAID 0, data is split (Orange and Red) across two disks for better performance — but no redundancy.
RAID, or Redundant Array of Independent Disks, is a technology for using multiple physical disk drives to behave as a single logical storage system. RAID is normally used to protect data in case one (or more) of those drives fails. Most types of RAID also improve access speed and storage space compared to a single drive. A collection of drives in a RAID configuration is often referred to as a RAID array, or just an array.
A RAID controller, which is piece of software or hardware that manages the RAID array, is responsible for creating a logical volume (the array) out of physical volumes (the drives). The logical volume appears to the operating system like a single drive, allowing any software to use multiple redundant drives without any special programming.
Why would my server need RAID?
On the internet, people expect the services they use to remain accessible and quick at all times, and they expect their data to remain safe. Lost data, downtime, or poor performance can hurt your businesses reputation and lead to lost revenues.
An unfortunate fact is that anywhere from 1% – 10% of hard drives will fail in any given year. By using a type of RAID that supports redundancy, your server can stay online with your data safe, even if a hard drive fails. And though server CPUs have become hundreds of times faster over the last few decades, hard drive speeds are improving much more slowly.
By using several disks in one virtual array, performance is often vastly improved. Because of these factors, RAID has become very popular for web servers and other internet connected devices. RAID is a relatively inexpensive way to improve performance and reliability in this demanding environment.
Are there different types of RAID?
If you found this article from google, you probably already know there are several types of RAID: RAID 0, 1, 5, 6, 10, etc. What do they do? Each of these types of RAID is known as a “RAID level”, and the RAID level chosen will determine the system requirements, speed, reliability, and available disk space of the RAID array you are creating. Picking the right RAID level is one of the most important choices you can make in getting your server ready for RAID.
What RAID level should my server use?
RAID in servers is a bit different than RAID at home. For home use, the RAID levels you’re most likely to find are RAID 0 and RAID 1. RAID 0 and RAID 1 are inexpensive, because they only require 2 drives, and nearly all hardware and software supports it. This means that even home users can quite easily make use of them. However, RAID 0 provides no redundancy whatsoever, and so is very unreliable. For RAID 1, it does provide redundancy through mirroring, but only provides the same disk space as a single drive, and no improvement to disk write speed. These disadvantages make RAID 0 and 1 best avoided in a business setting.
For servers, web hosting, and other business use, RAID 5, RAID 6 and RAID 10 are popular options. RAID 5 requires a minimum of 3 hard drives, and both RAID 6 and RAID 10 require a minimum of 4 hard drives. RAID 5, 6 and 10 are more expensive than raid 0 or 1 because they require better quality raid hardware or software, and also require more disk drives. These RAID levels are popular because they provide a good mix of storage space, speed, and reliability.
RAID 10 is one of the most popular RAID options for web servers, VPS servers, and other internet facing devices. For that reason, we’ll focus the rest of this article on RAID 10 and how it compares to other popular RAID types.
If RAID 10 is so popular, how does it work and why is it so good?
RAID 10 has become popular because it offers the benefits of RAID 0 and RAID 1, offering high performance, good reliability, and extra disk space compared to a single drive alone. RAID 10 is what’s known as a “nested” RAID level as it literally “nests” both RAID 0 and RAID 1 together. Before we move on, let’s talk a bit about nested RAID.
In RAID 10, data is first split using RAID 0 (Orange and Red), across two RAID 1 arrays. Each RAID 1 array copies their data to two drives for redundancy.
What is nested RAID?
To understand RAID nesting, you need to understand the three types of RAID: RAID Mirroring, RAID Striping, and Parity RAID. Each of these types is explained in depth in the articles linked above. Very briefly, here is how each works:
RAID Mirroring means copying data from one drive to another for redundancy. RAID 1 is an example of mirroring.
RAID Striping means having some data on one drive, and some on another, for extra disk space and speed. Raid 0 is an example of striping.
Parity RAID requires at least 3 drives, and uses complex math to allow you to lose any single drive and still keep all your data. RAID 5 is an example of RAID parity.
Nested RAID uses two of the above raid types in a single array, to get the benefits of both types of RAID. For example, RAID 10 uses both striping and mirroring. This allows you the benefits of striping (extra speed, extra disk space) and the benefits of mirroring (data redundancy). As such, RAID 10 requires a minimum of 4 drives. RAID 50 is another nested RAID type, which combines parity and striping. We’ll be talking about RAID 10 in this article.
At a technical level, the order of the numbers used to identify a nested RAID level tells you how the levels are combined from the bottom up (i.e. the first number is the lowest level of the nested arrays). For example, and as illustrated by the below diagram, RAID 10 provides a RAID 0 array of RAID 1 logical volumes.
This means that you get the write speed improvements of RAID 0 with the redundancy improvements of RAID 1. In a RAID 10 configuration, you can lose one drive from each raid-1 sub array without losing data. Because of this, the number of drives that can fail without losing data varies depending upon which drives fail. The array will always be operable with one drive failure. Two drive failures will sometimes lose all data, and sometimes not. And if you lose more than half the drives in a raid 10 array, you will always lose all data.
Nested RAID levels, although widely supported, are generally less well supported than basic RAID levels. Cheaper “fakeraid” controllers, often included as an inexpensive feature on motherboards, will usually not support nested or parity raid. Some types of software raid will also not support nested or parity raid.
Nested raid requires better quality raid hardware, as well as more hard drives, compared to basic RAID levels. The extra drives, in addition to costing more on their own, also require a computer that can support the additional drives, which take up more space and use more power. All of these factors make nested raid more expensive, and less common for home users. Because of this, nested RAID is more common on servers and other business class and enterprise configurations.
Now that we understand nested RAID a bit better, let’s get back to why you might use RAID 10 on your server.
Why would I use RAID 10?
RAID 10 has a number of important advantages over other raid levels:
RAID 10 has good data redundancy. A RAID 10 array will always stay online if 1 drive fails, and sometimes will stay online even if up to half of your drives fail (if the “correct” drives fail). RAID 0 always fails if any drives fail, and RAID 5 always fails when 2 or more drives fail.
Because it support striping, RAID 10 offers more disk space than raid 1.
RAID 10 is fast. A 4 drive RAID 10 offers twice the read and write speed of a 2 drive raid 1, twice the read speed of a 2 drive raid 0, and far superior write speed compared to a 4 RAID 6 or RAID 6.
RAID 10 is well supported in most software and hardware. This can be a problem with raid 5, 6, 50, and 60.
Unlike raid 5, 6, 50, and 60, raid 10 performs well even if you don’t have an expensive accelerated hardware raid controller.
Why doesn’t everyone use RAID 10?
Although RAID 10 has a number of upsides, it’s not perfect for all situations. Here are some downsides of RAID 10:
RAID 10 requires a minimum of 4 drives. RAID 0 and 1 only require 2 drives, and RAID 5 has a minimum of 3 drives. This can increase cost.
RAID 10 might not be supported by inexpensive “fakeraid” controllers, which only work properly with raid 0 or 1.
With RAID 10, you lose half of your disk space to mirroring. RAID 5, 6, 50, and 60 can give you more available disk space with the same number of drives. This is important for uses like data backups, where disk space is more important than speed.
Failures can be unpredictable. Although you can always safely lose 1 drive, losing 2 drives at once can sometimes cause data loss. If you need to always be able to lose 2 drives without losing data, RAID 6 can do that, and RAID 10 can’t.
Learning more about RAID
I hope this overview gives you an idea of what RAID is good for, how nested RAID works, and whether RAID 10 is right for you. If you’d like to learn more about RAID, stay tuned for one of the following upcoming articles:
If you’re ready to get started with a server with RAID, one of the easiest ways to do it is with a dedicated server from IOFLOOD.com. Contact us today and we’d be happy to explain your options and help you pick the configuration that’s right for you.
Gabriel is the owner and founder of IOFLOOD.com, an unmanaged dedicated server hosting company operating since 2010.Gabriel loves all things servers, bandwidth, and computer programming and enjoys sharing his experience on these topics with readers of the IOFLOOD blog.