Disk array with retro notes.On the shoulders of RAID-controllers is a crucial task - the management of the disk subsystem, that is, all the information stored on the server. They are responsible for the operation of disk arrays, allowing you to improve server performance or data storage reliability. So let's talk about the RAID controllers installed in the
servers of the Big Three vendors , their capabilities and features.
What is a RAID controller?
Most often, tasks performed by servers require a high speed of reading / writing data and / or the need to save data when the drives themselves fail. Therefore, the installation of a single disk server rarely makes sense. This option can be considered if the load is very small, and the safety of data does not care at all. Yes, and the amount of information that servers operate with often requires much more storage space than a single disk can give. And the more drives, the higher the probability of failure, especially under high load.
')
Problems of performance and fault tolerance of the disk subsystem are solved by creating arrays: logical structures into which several drives — hard disks and SSD — are combined using a RAID controller. At the same time, the array looks like a single storage space for the system.
There are
many types of arrays that differ in performance, reliability of data storage and the minimum required number of disks. The choice of a specific type depends on your tasks and needs, as well as on the capabilities of the RAID controller itself.
RAID controllers are divided into:
- Software . The entire burden of managing the array falls on the central processor. The least productive and fault tolerant solution.
- Integrated . Built into the motherboard. A separate chip performs part of the management tasks, but still also involves the central processor. Integrated controllers can have their own cache memory. Compared to software, they support more types of arrays, they work much faster and more reliably.
- Hardware . Made in the form of expansion cards or individual devices located outside the server (external or bridge controllers). Equipped with its own processor that performs all the necessary calculations, and, as a rule, the cache memory. Modular controllers can have external and internal ports:
- Internal - designed to connect drives installed in the server itself.
- External - used to connect external disk storage.
Even if
your server is equipped with an integrated RAID-controller, then if necessary, you can install and modular, if the available capabilities, speed and reliability will not be enough for you.
If there is a cache memory onboard the RAID controller, then it can be used for intermediate storage of written or read data. This allows you to more efficiently manage I / O operations.
In order to not lose the data in the cache during a power failure, two different approaches are used:
- the controller is equipped with its own battery (BBU - Battery Backup Unit), which allows you to store data in memory for up to 3 days,
- or an additional flash memory powered by a capacitor capacitor. When a power failure in it unloads the contents of the cache. And since flash memory consumes very little energy, the data stored in it for months. Please note that flash memory is used only in case of power failure.
And as soon as the server runs, the controller first of all flushes the contents of the cache to disk. If there is a battery, you can activate WriteBack mode: when writing to a disk, the controller will report the successful completion of the operation at the very moment when the data is cached, and then in the “background” mode will drop them on the disks. Therefore, other processes will spend less time waiting for confirmation.
Some RAID controllers allow you to increase the amount of cache memory and install the battery if they do not have it. The larger the controller cache size, the better the performance of the RAID arrays.
RAID controllers in the Big Three servers
In order not to turn an article into an archaeological research, we will limit ourselves only to those controllers that are used in the generations of servers from 2009-2010:
HP : Gen7, Gen8, Gen9
Dell : Gen11, Gen12, Gen13
IBM : M3, M4, M5
Further there are bulky and boring tables.
HP


Dell


Ibm


Most HP and Dell RAID controllers initially support all major arrays. IBM has such models - one has to be counted on the fingers, in almost every case, you will have to install 1-2 additional modules of the upgrade on the controller, which is not very convenient.
Another interesting feature of IBM RAID controllers is that most of them are used in servers of several generations. HP and Dell have another propensity - with the release of a new generation of servers, they usually release a new generation of controllers.
How to choose a suitable controller?
If you decide to upgrade the
server and are preoccupied with choosing a RAID controller, then first of all proceed from your needs.
You need good performance, but do not care about data integrity? Or do you want with little effort to improve resiliency by sacrificing speed? Did you need a simple web server for development needs? Simply select an inexpensive controller and create a RAID 0 or 1. You can even without a cache.
If you want to save on drives or squeeze all the available capacity from the available ones, consider the option with RAID 5 or 50. This is quite a good solution for creating archives. For such tasks, it is enough to take a controller with support for the desired type of RAID and medium-size cache.
When creating high-speed and reliable arrays for databases, or large storages for file servers, we need productive controllers with a large amount of cache memory and high bandwidth. This is the case when saving on one device can negate all your efforts.