"Fake RAID" - how big a deal?

I’m told that inexpensive RAID controllers (I think I was told anything under $300) are bad because they use the system CPU, memory, etc., to do the work rather than their own built-in hardware. I’m told this is “fake RAID” and am led to believe it is an abomination.

But seriously, how big a deal is it? If the computer I planning to set up to use the RAID array essentially does nothing but act as network-attached storage, in other words, it doesn’t really do much in the way of processing, it’s just there to make the RAID array available to the network, will I really notice much of a difference?

FWIW, we’re talking about a P4, 2.4 GHz, 2GB-RAM machine running Ubuntu 8.04.

It’s not fake RAID, it’s software RAID. Pefectly acceptable for NAS.

Yeah - if you’re going to start using it as a server for databases, web pages, streaming media, etc, you might notice a performance hit with software RAID vs a dedicated RAID controller, but it shouldn’t matter too much for NAS.

I should have made clear that the scare quotes around “fake RAID” were there to indicate that I knew that was not the technical term. My mistake.

There’s a difference between fakeRAID and software RAID. With fakeRAID, the controller is pretending to be a raid controller in the BIOS, with the processing being done via a driver. With software RAID, the RAID is completely handled by the OS.

IMHO fakeRAID has all the disadvantages (dependent on vendor implementation / bugfixing, if the hardware dies you need to buy the exact card again, sometimes the same version, limited number of drives supported, driver issues, etc.), with few of the advantages of a dedicated card. I imagine in Windows it’s probably easier to set up a fakeRAID device than create a software RAID system, but that’s about it. We set up a new server with RAID1 just last week and the current Ubuntu distro offers creation of software RAID partitions as an easy part of the installation process.

There’s a light Ubuntu HOWTO on software RAID here. It looks similar to how I set up RAID0 at my house ('cause I live on the edge). Come to think of it, your hardware looks almost exactly like the specs on my fileserver; I’ve noticed nothing in particular from switching from my old 500G drive to the new 1TB+1TB RAID0 array.

The other issue with “fake RAID” (well, the cheap integrated RAID devices found on motherboards) is the tie-in factor. Once the data is written to the RAID volume, you have to hope that the hardware keeps running (which ends up being the whole motherboard/CPU/memory platform). With pure software RAID, you can move the disks to a different hardware platform (generally) without issue, and the performance difference is not that much.

Proper RAID controllers do provide a massive performance increase, but when they are implemented as an add-on, the controller will be replaceable in case of failure. I used to love the Compaq SMART array controllers, because all the models (from the cheapest without battery backup to the most expensive) used the same driver and stored the configuration on the disk, in the controller and on the motherboard. You could swap any dead card for a working one, and get the system running.

On preview: beaten by Nanoda with the same points :slight_smile:

Si

That’s a good clarification, Nanoda, thanks. And thanks for that Ubuntu HOWTO link. That will no doubt come in handy.

Windows Server 2003 has native support of software RAID and is very lightweight so it is ideal for a NAS.

SW RAID is a bigger issue in a setup like RAID 5 where you have to calculate parity. For mirroring it shouldn’t be a big deal. You do two writes, but disks are so much slower than the rest of the systems it doesn’t make a lot of difference.

If disks are slow, surely you want to minimise the number of writes?

Anyway, I’m wish I could find a report I read a few years ago that said that CPUs are now so fast that offloading the relatively trivial task of RAID to a separate controller is not worth bothering with unless you are running some serious enterprise level database.
They did performance comparisons between hardware RAID and software RAID on the same system, except that with the money they saved by not having a RAID controller they upgraded the CPU. The software RAID system outperformed hardware RAID. It was nothing fancy, just Windows RAID 5 IIRC.

This is probably true. I’m using software RAID 1 (mirroring) on my web server because

  1. It has 2 drive bays anyway
  2. I don’t want to have to drive over there immediately if one of the drives fails
  3. It’s not under heavy stress

I might switch to hardware RAID if the traffic increases dramatically, but if that happens, I might be better off switching to more expensive hardware anyway. For me it’s mostly a relatively inexpensive safeguard (compared to a good RAID card - I’ve seen too much trouble with cheap/on-board RAID to trust it - software RAID is much more reliable than low-cost hardware RAID, at least on Linux).

Windows Server 2003 is not ideal for anything.

It works OK tho.

Not wanting to turn this into an anti-MS rant, but why would anyone buy a Windows Server license just to use it for setting up a NAS? That seems like a real waste of money.

I don’t have time for a lengthy post, but:
IME, desktop FakeRAID with RAID1 seems to have a higher rate of total data loss than SLED.
A couple of hiccups during the rebuild will hose ALL of the data on certain products that sometimes show up at my job.

I don’t think standard (non-server) versions of Windows have built-in support for software RAID. Fake RAID is pretty easy to set up. I have my home computer set up with “fake” RAID-0 (striping) and it’s noticeably faster than a single drive. (Obviously I need to back up regularly, as one drive failure will destroy all data.)

I have sometimes wished that the NAS boxes we use were Windows servers rather than (I’m guessing) Linux/Samba-based, because with the best will in the world it can be really hard to get Samba or whatever it is to play nicely with Active Directory. And unless you hack your way in through some back door, all you have is a web admin UI so there’s not much you can do.

All [NT-derived*] versions of Windows since NT 3.51 have software RAID built in. Prior to Windows 2000, you had have the Windows Resource Kit to edit software RAID volumes, but it’s now built in. I can’t comment on whether the various Basic Editions have the feature available, but NTFS itself does support it.

In fact, to the best of my knowledge, Microsoft has never shipped a different version of NTFS with workstation and Server versions of Windows. Encryption, sparse files, reparse points, disk sizes, disk volumes and security all appear to be the same with each major version of Windows, regardless of “Edition.”

  • I.e. excluding Windows 95/98/Me.

Fake RAID is horrendously slow compared to standard ATA/Serial ATA utilizing DMA because everything must go through the processor. You can wind up saturating the CPU-memory interconnect, resulting in very poor disk subsystem performance.

If your network interface is 100 Mbps, then it won’t matter because the network interface will probably be the limiting factor in data transfers. But if you’re using Gbit ethernet, the performance of FRAID is going to be the limiting factor.

There are also driver issues and the hardware manufacturer-specific nature of FRAID implementations to consider.

Ah, yes - point taken - integrating a non-Windows NAS into an existing Windows Server-oriented network could involve a few fun and games (although I’m seeing Linux distributions that claim to play well with AD, Exchange, etc now)