There is much more to storing data on a server than just installing drives.
- by Antoniy Yushkevych
- in Server
RAID, SSD Caching, and CacheVault Technology
For decades, servers used hard drives set up in RAID (i.e. redundant array of independent disks) configurations to store data in a more efficient way as well as provide data redundancy. This job is usually done by a physical RAID controller, however, there needed to be measures in place to not lose data in case of a server failure or power outage.
Traditionally this data-loss protection was carried out by BBUs (i.e. battery backup unit), however, these devices worked by basically being a battery pack that stored data that hasn’t been synced to the disk yet, usually with up to 72 hours without power. if the blackout took longer than that, this data would be lost. This, along with the inconvenience provided by the long recharge times and battery degradation, pushed the industry to develop a newer and improved method of providing data loss protection, Cachevault.
Before getting into that however, let us first refresh on what exactly is RAID and the differences between varying RAID configurations.
RAID (redundant array of independent disks) is a way of storing the same data in different places on multiple hard disks or solid-state drives to protect data in the case of drive failure. There are different RAID levels, however, not all have the goal of providing data redundancy.
A RAID system consists of two or more drives working in parallel. Although there are software versions of raid, for enterprise usage, it is recommended to use a physical RAID controller card. There are different RAID levels, each optimized for a specific situation.
Today we will discuss the following RAID levels:
- RAID 0
- RAID 1
- RAID 5
- RAID 1+0
RAID systems can be used with a number of interfaces, including SCSI, IDE, SATA, or FC. These are the systems that use SATA disks internally, but that have a FireWire or SCSI interface for the host system.
Now, let’s delve a little deeper into the different levels of RAID and advantages & disadvantages of each one.
RAID 0 - striping
In this type of RAID system, data is split into blocks and gets written across all drives in an array. Thanks to the usage of multiple disks at the same time, I/O performance is improved greatly. This performance boost can be further enhanced by using multiple controllers, with the best being one controller per disk.
The Advantages of RAID 0:
- Offers fantastic performance
- The entire storage capacity is being utilized
- Easily implemented
The Disadvantages of RAID 0:
- Does not provide data redundancy, if one drive fails, all the data in the entire array is lost
RAID 1 - Mirroring
If RAID 0 gets implemented for the purposes of improved performance at the price of data redundancy, then RAID 1 is the polar opposite. Instead of splitting data into blocks stored on different drives, it mirrors the contents of one drive to another. If a drive fails, the controller uses either the data drive or the mirror drive for data recovery and continues operation as normal.
The Advantages of RAID 1:
- Read and write speeds are comparable to those of a single drive
- In case of a drive failure, data doesn’t have to be rebuilt
- Simple to implement
The Disadvantages of RAID 1:
- Effective storage capacity is half of the total drive capacity
- Cannot hot-swap failed drives with software versions or RAID1
RAID 5 - striping with parity
This is the most common secure RAID level. It needs at least three drives to work but supports up to 16 drives. Data blocks are striped across the drives and on one drive a parity checksum of all the block data is written.
The parity data is not written to a fixed drive but is spread across all drives. This means that the RAID 5 array can withstand a single drive failure without losing data or access to data.
The Advantages of RAID 5:
- Read data transactions are very fast
- If a single drive fails, you still have access to all data
The Disadvantages of RAID 5:
- Write data transactions are comparatively slow
- The technology is complex to set up
- In an event of a drive failure, the restorations might take long time if there is a lot of data
RAID 1 + 0 - Combined mirroring and striping
This is the combination of RAID 1 and 0, meaning that the disks are both mirrored and striped. It provides security by mirroring all the data on secondary drives and uses striping across each set to speed up data transfers. This is also the priciest configuration as it needs a minimum of 4 drives to work.
The Advantages of RAID 1 + 0:
- Carries on all the positives from RAID 1 and 0
- In an even of drive failure, the rebuild time is very fast
The Disadvantages of RAID 1 + 0:
- Half of the storage capacity goes to mirroring, making it more expensive to set up
All MonoVM VPS services are equipped with RAID 10 technology that guarantees data security and high performance services
SSD cache for RAID
Although certain RAID levels like RAID 1 and RAID 1 + 0 greatly speed up the I/O throughput, to fully gain a competitive edge on performance would mean to implement SSD caching technology.
An SSD cache is when you utilize a part of, or the entirety of, an SSD as cache. Thus, SSD caching (a.k.a. flash caching) is the process of storing temporary data on the SSD’s flash memory chips. This allows for data requests and overall computing performance to improve drastically as SSDs use fast NAND flash memory cells.
When applied to a system with only conventional HDDs, it is one of the most cost-effective upgrades you can make to greatly speed up loading times. On the other hand, if your system already uses pure SSD storage, you will not gain much of a performance upgrade from flash caching.
Let us get back to the topic of data-loss protection. As mentioned before, BBUs do not provide enough versatility, thus the CacheVault technology was developed.
Raid controllers temporarily cache data from the host system until it is successfully written onto the hard disks. While cached, data is volatile, therefore If there is a power outage or the system fails, the data can be lost.
CacheVault flash cache protection moves this cached data to a non-volatile flash cache storage in case of power loss. It keeps powering critical components of the RAID controller for long enough so that the cached data can be transferred to the NAND flash. Once the power is restored, it automatically transfers the data back to the cache and once completed, normal operation is resumed.
Although this tech is a bit pricier than the traditions battery backup units (BBUs), they can keep this cached data safe for up to three years and take minutes to recharge. Combined with SSD caching technology and proper RAID array that is setup for redundancy and I/O speed (we strongly recommend RAID 1 + 0 for best results), CacheVault can ensure that no matter what issue occurs with your server, all the data, both stored on the drives and cached, can be restored.