Tech Help - RAID - What is it and how does it work?
In the first part in our informational series we are going through RAID – What it is, why you may need it and what it can do for you.
Firstly – What is RAID?
RAID stands for Redundant Array of Independent Disks. That may mean not a lot to many people, but let’s start at the beginning. It’s a bunch of hard drives, normally all matching in capacity, size, speed and model, which are grouped together and through either software or hardware will provide drive redundancy. In effect, it allows one or more (we’ll go into that) drives to fail or “degrade” at any point in time.
Traditionally, desktop PC’s, for example, have single hard drives (or SSDs these days). If this disk failed the system would crash and unless you had a backup on another drive or the cloud then you would run a very high risk of losing your data.
What RAID does is group a minimum of 2 drives together, to make one virtual drive. This would then be usable in the exact same way to your operating system (Windows, Linux, Mac etc). However the benefit is that if one of the drives started to, or completely failed then it wouldn’t cause any downtime and there should be absolutely no effect to the end-user or server itself.
Why do you need RAID
If you are have a system which needs uptime, e.g. you can’t afford to wait for a replacement drive to arrive and be fitted, and for data to be restored, then you need RAID. This is certainly applicable in almost every server setup, but is often becoming important with desktop PC usage – although the reliability of SSD’s is negating this in desktop PCs slightly.
We would always recommend RAID for server systems, regardless of what it’s doing. RAID doesn’t have to be expensive and we’ll go into the various RAID “levels” below.
Which RAID level do I need?
There are 4 popular RAID levels;
Pros + Cons
This is for combining a maximum of 2 disks together – known as Striping. The benefit is that you combine the speed of the 2 disks, in effect making 1 very fast disk. There is zero data redundancy and if a disk fails you would almost certainly, permanently lose all data. This is not recommended for a server environment, but is often popular with desktop PCs, especially with high performance SSDs.
This is used for smaller environments, as it allows a maximum of 2 disks in an array and is often used for 2 smaller disks used for the operating system. RAID 1 is known as Mirroring. As the name suggests, it mirrors one drive to the other in real-time. One of the two drives can fail at any point in time and there should be no change to the system state. The drive would need to be replaced quickly. RAID 1 isn’t particularly fast, as it needs to copy data from each drive to another and then verify this has happened for all IO operations, which is why it is often used as the OS drive on a desktop or server system.
This is a popular RAID level, but has it’s advantages and disadvantages. RAID 5 uses parity, which is spread over all disks in the array. You can add as many drives as you like to a RAID 5 array, but with a minimum of 3 drives. A maximum of 1 drive can fail in a RAID 5 array at any time. The benefit of RAID 5 is that you get increased read speeds, but fairly poor write speeds. This makes it an attractive option for database tasks, where reading data is often more important than writing data. An important note is that in RAID 5, no matter the number of disks added, you will lose 1 disk worth of capacity. For example, if you had 3x 1TB disks in RAID 5, you would have a single formatted capacity of 2TB usable in the array. With RAID 5 you will need a high performance, hardware RAID controller with onboard cache and supercap backup. This can increase the cost fairly considerable compared to RAID 0 or 1, which is often done through a very simple controller as it doesn’t need cache.
This is very similar to RAID 6 – it has the same read and write speeds however it has double parity. This means that a maximum of 2 disks can fail at any one point in time. The downside though is you will lose 2 disks of storage. For example if your RAID 6 array has 4x 1TB disks, you will only get 2TB of usable space in the virtual disk. The same as RAID 5, all parity RAID options need a hardware controller with cache RAM.
This is becoming the most popular. It’s the fastest and most reliable RAID level. It is however the most expensive. RAID 10 is basically RAID 1 over RAID 0. RAID 10 needs a minimum of 4 disks. The best way to imagine this is to think of creating 2x RAID 0 arrays (2 disks in each) and then doing a RAID 1 array over those 2x RAID 0 arrays. What RAID 10 means is you have the high performance of RAID 0, plus the redundancy of RAID 10. This means you could have (in a 2 drive RAID 10 array) 2 drives fail.
Software RAID versus Hardware RAID – What is better?
Software RAID is typically a simple onboard RAID controller, such as Intel’s RST which is found on almost all motherboards these days. They are very simple, have no cache RAM and often have fairly simple (if none at all) reporting or management programs. Software RAID will rely on the CPU to do RAID operations and will therefore not be as fast as it could be. Software RAID often only supports RAID 0 and 1. Sometimes it will support RAID 5, 6 or even 10, but this usually needs Windows, due to advanced driver support for the OS/CPU to process the parity data – This will be a slow system.
Hardware RAID is a dedicated controller card, but more importantly it has Cache RAM. Typically a good controller has around 2GB of Cache RAM. A hardware RAID controller has it’s own CPU which talks with the Cache RAM to process the parity data. This will mean RAID 5, 6 and 10 operations will be very quick. However hardware RAID controllers can be expensive – as not only do you need the controller itself, but you will also need a battery backup or supercap module. This is really important – What these do is keep the parity/transaction data stored (usually with supercaps, almost indefinitely) in the controllers Cache RAM in the event of a power failure. A power failure could be caused by anything – system crash, PSU failure or of course incoming power failure. If the cache RAM is not backed-up with a battery or supercap and there is a power failure you run a very high risk of the RAID transaction data to become corrupt which could then cause loss of data, corruption of data or even loss of the entire RAID array – not good.
I hope this article has helped understand RAID and how it works – but appreciate it can be a complex subject. Should you have any further questions or would like to talk to one of our specialists about how RAID can help you please get in touch with us.