Yup. We’re still on this RAID kick (and on a ‘vs’ kick). If you missed our RAID primer, check it out here. Now that you’re familiar with what RAID is, let’s go a little deeper to figure out who wins the hardware vs software RAID battle. Spoiler alert: neither–the winner is… you! You know… because you chose the right one for you. Moving on…
It takes processing power to handle all the calculations that go into RAID operations. The more complex the RAID configuration, the more processing power needed. From a pure operations perspective, there is very little difference between hardware and software RAID. Ultimately, the difference comes down to where the RAID processing is performed. It can either be performed in the host server’s CPU (software RAID), or in an external CPU (hardware RAID).
Let’s start the hardware vs software RAID battle with the hardware side. In a hardware RAID setup, the drives connect to a RAID controller card inserted in a fast PCI-Express (PCI-e) slot in a motherboard. This works the same for larger servers as well as desktop computers. Many external RAID drive enclosures have the RAID controller card built into the drive enclosure.
- Better performance, especially in more complex RAID configurations. Processing is handled by the dedicated RAID processor rather than the main computer processor which translates to less strain on the system when writing backups, and less downtime when restoring data.
- Has more RAID configuration options including hybrid configurations which may not be available with certain OS options.
- Compatible across different operating systems. This is critical if you plan to access your RAID system from a Mac and a Windows. Hardware RAID would be recognizable by any system.
- Since there’s more hardware, there’s more cost involved in the initial setup.
- Inconsistent performance for certain hardware RAID setups that use flash storage (SSD) arrays. Older RAID controllers disable the built-in fast caching functionality of the SSD that needed for efficient programming and erasing onto the drive.
- Software RAID is used exclusively in large systems (mainframes, Solaris RISC, Itanium, SAN systems) found in enterprise computing.
When storage drives are connected directly to the computer or server without a RAID controller, RAID configuration is managed by utility software in the operating system, which is referred to as a software RAID setup. Numerous operating systems support RAID configuration, including those from Apple, Microsoft, various Linux flavors as well as OpenBSD, FreeBSD, NetBSD and Solaris Unix.
- Low cost of entry. All you need to do is connect the drives and then configure them within your OS.
- Today’s computers are so powerful, the processors can easily handle RAID 0 & 1 processing with no noticeable performance hit.
- Software RAID is often specific to the OS being used, so it can’t generally be used for drive arrays that are shared between operating systems.
- You’ll be restricted to the RAID levels your specific OS can support.
- Performance hit if you’re using more complex RAID configurations.
Hardware vs Software RAID?
The winner really depends on your use case. If you’re trying to save some money (and who isn’t, really?), you’ll be using a single operating system to access the RAID array, and you are using either RAID 0 or 1, using software RAID will give the the same RAID protection and experience than it’s more expensive counterpart.
If you can handle the initial investment, hardware RAID is definitely the way to go. It will free you from the limitations of software RAID and give you more flexibility in the way it is used and the types of configurations.
What type of RAID processing do you use? Let us know in the comments.