We share our experience, how SSDs perform within the framework of RAID and which array level is more profitable

В past material we have already considered the question of “Will we apply RAID on SSD” using the example of Kingston drives, but we did it only within the zero level. In the current article, we will analyze the options for using professional and home NVMe solutions in the most popular types of RAID arrays and talk about controller compatibility. Broadcom with Kingston drives.

We share our experience, how SSDs perform within the framework of RAID and which array level is more profitable

Why do you need RAID on an SSD?

The advantages of SSD-based storage arrays over HDD storage arrays include faster access times to data on the drive and superior read/write performance. However, an ideal SSD-based RAID performance requires an optimal combination of processor, cache, software, and hardware. When all these factors work together perfectly, an SSD RAID can greatly outperform a comparable configuration using traditional HDDs.

A typical SSD consumes less power than HDDs, so when you combine a large number of SSDs in a RAID array, the energy savings compared to an HDD RAID array can also translate into lower costs on corporate energy bills.

However, SSD RAID has limitations and disadvantages, in particular the higher price per gigabyte of space compared to hard drives of comparable capacity. And the time between flash memory failures is limited to a certain number of rewrite cycles. That is, SSD drives have a certain service life, which depends on the operation: the more information is overwritten on it, the faster the drive will fail. On the other hand, enterprise SSDs have a decent lifespan comparable to mechanical hard drives.

How Kingston SSDs live in RAID mode with Broadcom controllers

In the early days of SSDs, RAID designs had many nuances. Including due to the use of less fault-tolerant HDDs. Solid state drives are much more reliable than their counterparts based on magnetic disks. As we know, there are no moving parts in SSD solutions, so mechanical damage is reduced to zero. The failure of solid-state drives due to power surges is also unlikely, given that at the level of a home PC and any server, UPS, surge protectors, and even a power supply protect you.

At the same time, solid-state drives have another significant plus: even if the memory cells are worn out for writing, data can still be read from them, but if the magnetic disk is damaged, alas.

We share our experience, how SSDs perform within the framework of RAID and which array level is more profitable

Today, it is quite normal practice to use SSD solutions in RAID arrays of different levels. The main thing is to choose the right SSDs, the latency of which is minimal. And ideally, use SSDs of the same manufacturer and the same model so that you don’t end up with a hodgepodge of drives that support different types of loads and are built on the basis of different types of memory, controllers and other technologies. That is, if we decide to purchase four or 16 NVMe SSDs from Kingston to create a RAID array, it would be better if they all come from the same series and model range.

By the way, in last article we cited Broadcom controllers for a reason when we talked about NVMe SSD from Kingston. The fact is that the manuals for these devices immediately prescribe compatible drives (including solutions from the aforementioned American SSD manufacturer), with which the controller will work flawlessly. This information should be relied upon when choosing a controller-SSD bundle for RAID.

We analyze the work of SSD Kingston in the most popular types of RAID - “1”, “5”, “10”, “50”

So, the "zero" RAID level does not provide data redundancy, but only increases performance. RAID 0 does not provide any data protection at all, so we will not consider it within the corporate segment. RAID 1, on the other hand, provides full redundancy but only modest performance gains, and should therefore be considered if performance gains are not a primary consideration when building an SSD RAID array.

RAID 1 based on Kingston SSDs and Broadcom controllers

So, the first level RAID array based on the Broadcom MegaRAID 9460-16i controller combines from two to 32 Kingston drives, which are copies of each other, and provides complete redundancy. If when using traditional HDDs, the speed of writing and reading data remained at the level of this very HDD, then using NVMe SSD solutions we get a tenfold increase in performance. Especially in terms of data access time. For example, with two Kingston DC1000M U.2 NVMe SSDs in server RAID 1, we get 350 random read IOPS and 000 write IOPS.

We share our experience, how SSDs perform within the framework of RAID and which array level is more profitable

In terms of sequential read speed, the results will match the characteristics of the drive - 3200 MB / s. But since both NVMe SSDs are in working order, data can be read from them at the same time, which makes read operations quite fast. But the write speed (claimed to be 2000 MB / s) will be slower, because each write operation is performed twice.

We share our experience, how SSDs perform within the framework of RAID and which array level is more profitable

RAID 1 is ideal for small databases or any other environment that requires fault tolerance but low capacity. Drive mirroring is especially helpful in disaster recovery scenarios (the performance is slightly degraded) because it provides instant "resuscitation" of important data if one of the drives in the array fails. But because this level of protection requires doubling the storage capacity of the mirrored data (100 TB would require 200 TB of storage), many enterprise systems use more economical storage options: RAID 5 and RAID 6.

RAID 5 based on Kingston SSDs and Broadcom controllers

To organize a fifth-level RAID array, we need at least three drives, the data on which is interleaved (cyclically written to all drives in the array), but not duplicated. When organizing them, one should take into account their more complex structure, since here such a concept as “checksum” (or “parity”) appears. This concept means the logical algebraic XOR function (aka exclusive "OR"), which dictates the use of a minimum of three drives in the array (maximum - 32). In this case, parity information is written to all "disks" in the array.

We share our experience, how SSDs perform within the framework of RAID and which array level is more profitable

For an array of four Kingston DC500R SATA SSDs with a capacity of 3,84 TB each, we get 11,52 TB of space and 3,84 for checksums. And if you combine 16 Kingston DC1000M U.2 NVMe drives with a capacity of 7,68 TB into a Level 115,2 RAID, we will learn 7,68 TB with a loss of 5 TB. As you can see, the more drives, the better in the end. It's also better because the more drives in RAID 0, the higher the overall write performance. And linear reading will reach the level of RAID XNUMX.

We share our experience, how SSDs perform within the framework of RAID and which array level is more profitable

A RAID 5 disk group provides high throughput (especially for large files) and redundancy with minimal power loss. This type of array organization is best suited for networks that perform many small input/output (I / O) operations at the same time. But you should not use it for tasks that require a large number of write operations for small or small blocks.
There is one more nuance: if at least one of the NVMe drives fails, RAID 5 goes into degradation mode and the failure of another storage device can become critical for all data. If one drive in the array fails, the RAID controller uses the parity information to recreate any missing data.

RAID 10 based on Kingston SSDs and Broadcom controllers

So, RAID 0 provides us with a twofold increase in speed and access time, and RAID 1 provides reliability. Ideally, they would be combined, and here RAID 10 (or 1 + 0) comes to the rescue. "Ten" is assembled from four SATA SSD or NVMe drives (maximum - 32) and implies an array of "mirrors", the number of drives in which must always be a multiple of four. The data in this array is written using fixed block partitioning (as in the case of RAID 0) and striping between drives, spreading copies across the "drives" in the RAID 1 array. And with the ability to access multiple groups of drives at the same time, RAID 10 shows high performance.

We share our experience, how SSDs perform within the framework of RAID and which array level is more profitable

Since RAID 10 is capable of striping data across multiple mirrored pairs, this means that it can tolerate the failure of one drive in a pair. However, if both mirror pairs (that is, all four drives) fail, there will be inevitable data loss. As a result, we also get good fault tolerance and reliability. But keep in mind that, like RAID 1, the tenth level array uses only half of the total capacity, and therefore is an expensive solution. And also difficult to set up.

RAID 10 is suitable for use with data warehouses that require 100% redundancy of mirrored disk groups, as well as the increased I/O performance of RAID 0. It is the best solution for medium-sized databases or any environment that requires higher fault tolerance than RAID 5.

RAID 50 based on Kingston SSDs and Broadcom controllers

A combined array similar to level 5 RAID, which is a level 50 array built from level 5 arrays. As before, the main goal of this array is to achieve double the performance while maintaining data reliability in RAID XNUMX arrays. At the same time, RAID XNUMX provides improved write performance and better data protection than standard RAID XNUMX in the event of a drive failure, and is also capable of faster recovery in case of failure of one of the drives.

We share our experience, how SSDs perform within the framework of RAID and which array level is more profitable

The RAID 50 drive group splits the data into smaller blocks and then strips it across each RAID 5 array. The RAID 5 drive group in turn also splits the data into smaller blocks, calculates parity, performs a logical OR operation on the blocks, and then performs data block write and parity operations for each disk in the disk group.

And while performance is inevitably degraded if one of the drives fails, it's not as significant as in a RAID 5 array, since one failure affects only one of the arrays, leaving the other fully functional. In fact, RAID 50 can survive up to eight HDD/SSD/NVMe drive failures if each failed "disk" is in a separate RAID 5 array.

We share our experience, how SSDs perform within the framework of RAID and which array level is more profitable

RAID 50 is best used for applications that require high reliability and must process a high number of requests while maintaining high data transfer rates and lower drive costs than RAID 10. However, since a minimum of six drives is required to set up a RAID 50 array, cost is not completely excluded as a factor. One disadvantage of RAID 50 is that, like RAID 5, it needs a complex controller: such as mentioned by us in the last article MegaRAID 9460-16i from Broadcom.

It's also worth noting that RAID 50 has less disk space usage than RAID 5 due to the allocation of capacity to hold parity records. However, it still has more usable space than other RAID levels, especially those that use mirroring. With a minimum requirement of six drives, RAID 50 can be a costly option, but the extra disk space justifies the cost by protecting corporate data. This type of array is recommended for data that requires high storage reliability, high request rates, high transfer rates, and high storage capacity.

RAID 6 and RAID 60: we haven't forgotten about them either

Since we have talked about arrays of the fifth and fiftieth levels, it would be a sin not to mention such types of array organization as RAID 6 and RAID 60.

We share our experience, how SSDs perform within the framework of RAID and which array level is more profitable

The performance of RAID 6 is similar to RAID 5, but here at least two drives are given parity, which allows the array to survive the failure of two drives without losing data (in RAID 5, this situation is highly undesirable). This results in higher reliability. Otherwise, everything is the same as in the fifth level array: in the event of a failure of one or two disks, the RAID controller uses parity blocks to recreate all the missing information. If two drives fail, recovery does not occur simultaneously: first, the first drive is reanimated, then the second one. Thus, two data recovery operations are performed.

We share our experience, how SSDs perform within the framework of RAID and which array level is more profitable

It is easy to guess that if RAID 50 is a level 60 array of level 6 arrays, then RAID 50 is a level 8 array of level 16 arrays that we just talked about. That is, this organization of RAID storage allows you to survive the loss of two SSDs in each group of RAID XNUMX drives. The principle of operation is similar to the one we talked about in the RAID XNUMX section, but the number of failures that a level XNUMX array can withstand grows from XNUMX to XNUMX drives. Typically, such arrays are used for online customer service, which requires high fault tolerance.

Summing up:

Although mirroring provides more fault tolerance than RAID 50/60, it also requires much more space. Since the amount of data is doubled, you actually get only 50% of the total capacity of the drives installed in the server for recording and storing information. Choosing between RAID 50/60 and RAID 10 will most likely depend on budgets available, server capacity, and your data protection needs. Moreover, the cost comes to the fore when we talk about SSD solutions (both corporate and consumer class).

Just as importantly, we now know for sure that SSD-based RAID is a completely safe solution and a normal practice for today's business. As part of home use, there is also a reason to switch to NVMe, if budgets allow. And if you still have a question, why is all this needed, go back to the beginning of the article - we have already answered it in detail.

This article was prepared with the support of our colleagues at Broadcom, who provide their controllers to Kingston engineers for testing with enterprise-class SATA/SAS/NVMe drives. Thanks to this friendly symbiosis, customers do not have to doubt the reliability and stability of Kingston drives with HBA and RAID controllers from production. Broadcom.

More information about Kingston products can be found at the official website company.

Source: habr.com

Add a comment