If you look up hardware and software RAID solutions online, the general consensus seems to be that hardware RAID is better for both performance and reliability, while software RAID is simply cheaper and more convenient.
This might’ve been true a decade or two ago, but in 2022, it’s not the case anymore. Software RAID has made great strides and is undoubtedly better suited for certain scenarios. But, onboard RAID (i.e., FakeRAID) is still a waste of time though.
Isn’t onboard RAID also software RAID? Not exactly. Such conflicting information leaves most people confused. As such, we hope that this article will leave you informed enough to be able to pick the best RAID solution for your exact needs.
What is Hardware RAID?
Hardware RAID refers to arrays managed by purpose-built disk controllers that contain RAID firmware. These RAID controller cards plug into the PCIe slots on the motherboard, much like normal disk controllers. However, they differ in that they containspecialized processorswhich handle array management functions.
The main benefit of these processors is that you’re able to offload parity calculations from the system’s CPU to the controller. Offloading RAID I/O like this used to make a significant performance difference back in the day when processors were low-spec and already saturated. These days though, RAID I/O only hasminimalimpact on a processor’s performance.
Most RAID controllers also supportRAID caching, which is another major factor responsible for hardware RAID’s top-tier performance. Data loss through power failure is a potential problem, though, which is why any decent controller these days has a Battery Backup Unit / Module (BBU / BBM).
In the present context, these are the two main reasons to opt for hardware RAID. On the other hand, the trade-offs include higher costs, vendor exclusivity, and a comparatively lower level of support.
What is Software RAID?
Software RAID refers to arrays managed by a software component rather than a hardware RAID controller. Software RAID is typically implemented at theOS levelthrough a driver (e.g., the multiple devicesmddriver in Linux). It’s also commonly implemented as a file system component, such as in the case of ZFS RAID-Z.
As we’ve already mentioned, the software RAID has a negative stigma surrounding it that it’s slow and unreliable. But this is anoutdatednotion.
RAID I/O may be managed by the CPU in software RAID. But unlike in the past, this can be done with minimal impact on the performance asprocessors have improvedtremendously. In fact, certain software RAID solutions like ZFS or Linux RAID actually outperform low-end hardware controllers.
There are also some misconceptions regarding reliability. Most hardware RAID controllers don’t actually verify parity data unless a disk dies or reports an error. In this respect, something like ZFS, which actuallyverifies data integrity, is much more reliable. This does mean that ZFS’s performance will be impacted as it’s doing extra work. Definitely a worthwhile tradeoff, though.
Ultimately, the quality of a software RAID solution depends on which one we’re specifically talking about. For instance, you’ll rarely hear about good experiences with Windows RAID, whereas ones like ZFS or Linux RAID are very popular for their performance and reliability.
Another thing to keep in mind with things like ZFS or Linux md is that they do have a slight learning curve. You need some knowledge of how they work and the commands they use, particularly if you want to set up and manage them efficiently.