What is the Best RAID Configuration for Your Server?

best raid configuration

RAID (Redundant Array of Inexpensive Disks) is a data storage virtualization technology that combines multiple disk drives into a single logical unit for faster performance, better hardware failover, and improved disk Input/Output reliability. Let’s go over some common questions regarding RAID and see what the best RAID configuration is for your server.

 

Does My Server Need RAID?

First of all, ask yourself if your server needs a RAID set-up. Whether to deploy RAID depends mostly on how important uptime is to your operations. If staying online is essential, RAID is your failover insurance.

Here’s the nightmare scenario: Your hard drive fails (hard drives always fail, just a matter of when, let’s just hope it’s not Cyber Monday).

Without RAID installed, your server and business will suffer downtime while the drive is being reconfigured and replaced. Then backups need to be restored; all this could take 5 or more hours easy.

With RAID installed, the drive would be replaced, and you could rebuild and sync the RAID from the old drive to the new drive, and there would also be no backup restoration required.

 

Hardware vs Software RAID

There are two types of RAID, each with their advantages and disadvantages.

 
Hardware RAID: With a hardware RAID setup, the drives connect to a RAID controller card inserted in the server’s motherboard. This provides optimal performance, as the processing is handled by the RAID card rather than the server, providing less strain when writing backups and restoring data.

Software RAID: When drives are connected to the server motherboard without a RAID controller, the configuration is managed by the Operating System’s software. This is the cheaper option; all you need to do is connect the drives and configure the OS. However, you are restricted to the RAID levels your OS can support.
 

Hardware RAID provides more flexibility via more configuration options and frees you from the limitations of a software RAID. Depending on the complexity of your RAID configuration, performance could be an issue if you are using software RAID.

 

What RAID Configuration is Best?

Not all RAID configurations are created equal in terms of redundancy, speed, or disk size.

Some common RAID levels include RAID 0, RAID 1, RAID 5, RAID 10. Here is a very simple TLDR chart. Read on for a more detailed version of the pros and cons of each.

raid level comparison

RAID 0

  • Summary: RAID 0 stripes data at the block level across each of the disks in the array. Because the data is striped across multiple disks, you will see improved read and write performance, especially for larger files. This is due to the ability of the array to simultaneously read or write a block to each of the disks in the array. As such, the performance will tend to scale with the number of disks within the array. A RAID 0 can contain two or more disks, with the maximum number being limited based on the number of disks supported by your RAID controller and available drive bays for your server. Because RAID 0 spreads storage blocks across all of the disks in the array, any disk failure will result in the entire array being lost. As such, the risk of data loss due to a drive fault will also scale with the number of disks within the array. We do not recommend using a RAID 0 for production systems.
  • Capacity: VD = (C * n) | VirtualDisk = ( Capacity of one disk * number of disks )
  • I/O Performance: Greatly improved read and write performance
  • Fault Tolerance: None, increased risk of failure that scales with number of disks in the array

RAID 1

  • Summary: RAID 1 mirrors data at the block level on two disks. Each time a data block is written to the storage subsystem, your RAID controller will write that same data block on both disks, providing fault tolerance should one of the disks fail. Because of this, the I/O performance characteristics will have slightly lower write performance compared to a single disk, while read performance will be nearly double that of a single disk. This is because when the RAID controller needs to write data it has to do so on both disks, however, when it needs to read data it can simultaneously fetch two different reads from either disk since the data set on both disks is mirrored. Because the data is mirrored on both disks in the array, either one of the disks can fail, as log as one remains functional, without causing the array to fail. NOTE: While most hardware based RAID controllers typically only support two disks in a RAID 1 array, some controllers and software RAID systems may support more than two disks. In these cases, write performance will slightly degrade as the number of disks increase and the read performance will scale with the number of disks.
  • Capacity: VD = (C * n) / n | VirtualDrive = ( Capacity of one disk * number of disks ) / number of disks
  • I/O Performance: Slightly lower write performance with nearly double the read performance
  • Fault Tolerance: n / n

RAID 5

  • Summary: RAID 5 stripes data at the block level across each of the disks in the array, while also calculating parity data, which is distributed across the disks in the array to add fault tolerance. With a RAID 5 array, there will be one parity set distributed across the array, which allows for any one disk in the array to fail without causing the array to fail. Because the distributed parity needs to contain parity information for one disks worth of information, the raw space provided by the array will be the total capacity of all of the disks minus one disks worth of capacity. This is also why a RAID 5 has a minimum requirement of three disks. The I/O performance for RAID 5 will offer improved read and write performance, however, writes will not scale as linearly as a RAID 0 due to the RAID controller needing to perform the parity calculation and also store the resulting parity data. NOTE: While some software RAID systems support RAID 5, we do not recommend this in a production because all of the parity calculations will need to be done by your servers CPU rather than the dedicated specialized hardware controller that is designed to accelerate these types of calculations. As such, a software RAID 5 will see CPU load scale with disk I/O and can often cause overloads as disk writes increase.
  • Capacity: VD = ( C * n ) – C | VirtualDrive = ( Capacity of one disk * number of disks ) – Capacity of one disk
  • I/O Performance: Improved read and write performance
  • Fault Tolerance: n – 1

RAID 10

  • Summary: RAID 10 is a nested array containing RAID 0 of RAID 1 sets; in other words it is a RAID array of multiple RAID arrays. As such, this RAID level combines some of the performance characteristics of both RAID 0 and RAID 1. The I/O performance will be improved for both read and writes, which will scale differently based on the number of disks in the array. The read performance will scale with the number of disks in the array, while the write performance will scale with the number of RAID 1 sets in the array. For example, a RAID 10 with four disks will have two RAID 1 sets that are then part of a RAID 0, therefore the read performance will be nearly four times a single disk in the array, and write performance will be nearly twice that of a single disk. This RAID level offers a great combination of performance and fault tolerance. Half of the disks in the array can fail without the array failing. This is because one disk in each of the RAID 1 sets can fail without that RAID set failing. Because of these characteristics, you will notice that the minimum number of disks required will be four and the total must be an even number of disks, such that increasing the number of disks in the array is done in pairs of disks. While the number of disks required compared to the raw useable capacity is lower, this RAID level offers the best overall combination of performance and fault tolerance. This is a great option for read heavy databases or mixed work loads.
  • Capacity: VD = (C * n) / n | VirtualDrive = ( Capacity of one disk * number of disks ) / number of disks
  • I/O Performance: Improved write performance with greatly improved read performance
  • Fault Tolerance: n / 2

 

Does My RAID Need a BBU?

A BBU (battery backup unit) is a physical lithium ion battery that you connect to the RAID controller. This device that protects and maintains cached data that is on your server’s raid card.

bbu raid

Your bare metal server loses power before changes have left the cache and committed to disk, resulting in corrupted data. The contents on the RAID card become unrecoverable and you may not know what files are damaged. Essentially, a BBU is a data fail safe.

HostDime is one of the few data center providers that not only offers BBU for RAID controllers, but has technicians checking the battery constantly. HostDime uses MegaRAID’s intelligent battery backup unit that preserves data integrity for 72 hours. If you are a current client and have RAID, contact us to add a MegaRAID BBU for $20 a month.

 

RAID Calculator

HostDime techs created a RAID calculator that compares and configures RAID options and drive sizes to expand on your server’s performance. Simply drag and drop the drives into the slots to see each RAID’s description, disk capacity, disk input/output performance, minimum number of disks, fault tolerance, and more.

HostDime’s bare metal servers are fully customizable during the order process to add RAID levels to increase performance. If you have any questions concerning RAID configurations, open up a chat!

[divider]

Jared Smith is HostDime’s Director of Marketing.