155 lines
7.5 KiB
Markdown
155 lines
7.5 KiB
Markdown
---
|
||
date: 2013-04-07
|
||
title: Stop the hate on software RAID
|
||
category: Opinions
|
||
featured_image: /images/3140gr.jpg
|
||
---
|
||
|
||
I've had a another bee in
|
||
my bonnet recently. Specifically, it has been to do with hardware vs
|
||
software RAID, but I think it goes deeper than that. It started a couple
|
||
of months back with a discussion on [Reddit](https://redd.it/18dp63).
|
||
Some of the comments were:
|
||
|
||
> Get out, get out now.
|
||
>
|
||
> while he still can..
|
||
>
|
||
> WHAT!? 60 TB on software raid. Jeezus.
|
||
>
|
||
> Software raid? Get rid of it.
|
||
|
||
It then got re-awakened the other day when Matt Simmons (aka [The
|
||
Standalone Sysadmin](https://www.standalone-sysadmin.com/blog/)) asked
|
||
the following question on Twitter:
|
||
|
||
<blockquote class="twitter-tweet"><p>
|
||
So what are the modern arguments for / against hardware / software RAID?
|
||
I don't get out much. #sysadmin
|
||
|
||
</p>
|
||
--- Matt Simmons (@standaloneSA) April 4, 2013
|
||
|
||
</blockquote>
|
||
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
|
||
At the time of writing, 2 people replied: myself and [Chris
|
||
Siebenmann](https://utcc.utoronto.ca/~cks/space/blog/). Both of us
|
||
basically said software RAID is better, hardware is at best pointless.
|
||
|
||
First of all, I need to define what I mean by hardware RAID. First, I do
|
||
not care about what you are using for your c: drive in Windows, or your
|
||
/ partition in Linux. I am talking about the place where you store your
|
||
business critical data. If you file server goes down, that is a bad day,
|
||
but the business will live on. Lose your business data, then you will be
|
||
out of a job (most likely alongside everyone else). Hardware RAID can
|
||
thus fall into to categories:
|
||
|
||
- a bunch of disks attached to a PCI-e card in a big server
|
||
- an external storage array. This could be either SAN or NAS, once
|
||
again I do not care in this instance.
|
||
|
||
I am firmly of the opinion that hardware RAID cards should no longer
|
||
exist. They are at best pointless and at worst a liability. Modern
|
||
systems are so fast that there is no real performance hit. Also
|
||
management is a lot easier; if you have a hardware array then you will
|
||
need to load the manufacturer\'s utilities in order to manage it. By
|
||
manage, I mean to be told when a disk has failed. On Linux, there is no
|
||
guarantee that will work. There is a couple of vendors that require
|
||
packages from RHEL4 to be installed on RHEL6 systems to install their
|
||
tools. Also, they are invariable closed source, will most likely taint
|
||
my kernel with binary blobs and generally cause a mess on my previously
|
||
clean system. By contrast, using software RAID means that I can do all
|
||
the management with trivial little scripts that can easily be integrated
|
||
with any monitoring system that I choose to use.
|
||
|
||
I can understand why people are skeptical of software RAID. There have
|
||
been performance reasons and practical reasons for it not to be trusted.
|
||
I\'m not going to address the performance argument, suffice to say that
|
||
RAID is now 25 years old - CPUs have moved on a lot in that time. I
|
||
remember when the first Promise IDE controllers came out, that used a
|
||
kind of pseudo-hardware RAID - it was not pretty. The preconceptions are
|
||
compounded by the plethora of nasty controllers built in to consumer
|
||
motherboards and (possibly worst of all) Window\'s built in RAID that
|
||
was just bad.
|
||
|
||
The thing is, those days are now a long way behind us. For Linux there
|
||
is absolutely no need for hardware RAID, even Windows will be just fine
|
||
with an motherboard based RAID for its c: drive.
|
||
|
||
In fact I would say that hardware RAID is a
|
||
liability. You go to all that effort to safe-guard your data, but the
|
||
card becomes a single-point-of-failure. It dies, then you spend your
|
||
time searching Ebay for the same model of card. You buy it, then you
|
||
pray that the RAID data is stored on the disks and not the controller
|
||
(not always the case). By contrast, if you use software RAID and the
|
||
motherboard dies, then you pull the disks and plug them into whatever
|
||
box running Linux and you recover your data.
|
||
|
||
There is definitely a time and place for an external array. If you are
|
||
using virtualisation properly, you need shared storage. The best way to
|
||
do that, 9 times out of 10, is with an external array. However, even
|
||
that may well not be as it seems. There are some that still develop
|
||
dedicated hardware and come out with exciting gear (HP 3Par and Hitachi
|
||
Data Systems spring to mind). However, the majority of storage is now on
|
||
Software.
|
||
|
||
Let take a look at these things and see just how much \"hardware\" is
|
||
actually involved.
|
||
|
||
The EMC VMAX is a big, big black box of storage. Even the \"baby\" 10k
|
||
one scales up to 1.5PB and 4 engines. The 40k will go up to 3PB and 8
|
||
engines. Look a little deeper (one line further on the spec sheet) and
|
||
you find that what those engines are: quad Xeons (dual on the 10/20k).
|
||
The great big bad VMAX is a bunch of standard x86 servers running funky
|
||
software to do all the management and RAID calculations.
|
||
|
||
Like its big brother, the VNX is also a pair of Xeon
|
||
servers. Even more, it runs Windows. In fact since the Clariion CX4
|
||
EMC has been using Windows Storage Server (based on XP) Move along
|
||
to EMC's other lines we find Isilion is nothing more than a big pile of
|
||
Supermicro servers running (IIRC) FreeBSD.
|
||
|
||
Netapp's famed FAS range similarly runs on commodity hardware, OnTAP is
|
||
[BSD](https://en.wikipedia.org/wiki/NetApp_filer) based.
|
||
|
||
The list goes on, Dell Compellent? When I looked at it in early 2012, it
|
||
was still running on Supermicro dual Xeons. The plan was to move it to
|
||
Dell R-series servers as soon as possible. They were doing validation at
|
||
the time, I suspect the move is complete now. Reading between the lines,
|
||
I came away with the impression that it runs on FreeBSD, but I do not
|
||
know for sure. CoRAID use Supermicro servers, they unusually run Plan9
|
||
as their OS. HP StoreVirtual (formerly Lefthand) runs on Proliant Gen8
|
||
servers or VMware. In all these cases, there is no extra hardware
|
||
involved.
|
||
|
||
The people that write the MD stack in the Linux
|
||
kernel are not cowboys. It has proved over and over again that is
|
||
both stable and fast. I have trusted some of the most important data
|
||
under my care to their software: for many years the ERP system at
|
||
[Snell](https://www.snellgroup.com) has been running on MD devices quite
|
||
happily. We found it much faster than the P410 cards in the DL360G5
|
||
servers that host it. Additionally, you do not need to load in any funky
|
||
modules or utilities - everything you need to manage the devices is
|
||
there in the distribution.
|
||
|
||
ZFS also recommends to bypass any RAID devices and let it do everything
|
||
in software, as does Btrfs. With *Storage Spaces* in Server 2012
|
||
Microsoft is definitely angling towards software controlled storage as
|
||
well.
|
||
|
||
As with everything in IT, hardware is falling by the wayside in storage.
|
||
Modern processors can do the processing so fast that there is no
|
||
performance need for hardware in between your OS and the disks any more.
|
||
The OS layers (Storage Spaces on Windows and especially MD/LVM on Linux)
|
||
are so mature now that their reliability can be taken as a given. With
|
||
the management advantages, there really is no technical reason to stick
|
||
with hardware RAID. In fact the closer you can get the raw disks to your
|
||
OS the better.
|
||
|
||
As I said at the start, the subject here is software vs
|
||
hardware RAID, but my problem goes deeper than that particular argument.
|
||
As technology professionals, we are technical people. We need to
|
||
understand what is going on under the bonnet - that is our job! It may
|
||
be fine for a vendor to pull the wool over a CFO's eyes, but we
|
||
need to know what is inside that magic black box, especially when it is
|
||
in the spec sheet.
|