Windows Server 2008 software RAID performance

In order to save some money and avoid buying something that Windows Server 2008 could do, I’ve set up a windows based “software RAID” by the server manager. The big advantage is, you can mix RAID levels per partition, thus having RAID 1 (mirroring, for the system volume) and RAID 5 (for data) on the same hard drive. A technique adapted by Intel as Matrix RAID. (Implemented by almost all vendors.)
Unfortunately, it turned out Windows’ software RAID was unusable for RAID 5: As soon as I copied some large files to the volume the system became sluggish – even the mouse pointer jumped around. Seems as if all the data to compute XOR parity congested the data bus. RAID 1 has been no problem – you can go for it.
Conclusion: Don’t use software RAID 5. Consider RAID 1, 0 or a combination.
Here are some MB/s I could measure during copying my data back:
| from / to | RAID 1 | RAID 5 | Seagate |
|---|---|---|---|
| Seagate 500GB | 67 | 32 | ? |
| RAID 5 | ? | ? | 45 |
| RAID 1 | ? | ? | 92 |
| WD6400AAKS | ? | ? | 106 |
















Follow me on Twitter
[...] the congestion described earlier can occur with every other software RAID. It might be no problem with dedicated file servers, but [...]
50 MB/s is half of the 100 MB/s of my WD HDDs (one read and one write per operation, thus only half of the transfer-rate).
[...] time ago I blogged about Windows Server 2008 Software RAID performance and learned that software RAID 5 is unusable at workstations. While opening large files and/or [...]
Great post, thanks for your sharing your experience with us.
I’m considering using RAID 1 on a web server running Windows 2008 standard edition (a dedicated server I got a couple of days ago). I did a little research and as far as I understand, you don’t get easily notified when a drive fails. From your experience, what should I do to avoid this problem and get notified whenever a drive fails?
Thanks
You can attach an arbitrary task to system events under Windows. That way you could have an email sent to you whenever RAID breaks or on any disk drive events, such as CRC32 errors. Or, you could run a program which simply beeps.
Application and Service Logs » Hardware Events(or the ones for disks).Windows Logs » Applications.You could simulate RAID failure, but that will always yield one event. As you cannot foresee what events will accompany a future actual failure, I’d recommend you attach the emailing task to the entire log. You might get some irrelevant messages, but you will be on the safe side.
Thanks a lot Mark for your detailed answer, really appreciate it.
I wish they made it easier to know when a drive fails but I think your way should work fine, there should also be a way to filter the events and only get notified of the events I want, I’m going to try this.
Thanks again
Good information. Thanks
Hi, I have no experience with software raid with Windows but I have a quite a bit
with UNIX. Mixing different Raid Levels on the same physical Device just is not a good thing to do, I am surprised it even let you do it, and then piling the system on on top of that would make for busy disks.
Did you try, for example, 3 or more disks of the same type and do just raid 5?
I ask because I am considering switching to server 2008 just for the raid
abilities or try to get the 2008 raid software to run on win7 if it can be yanked out of the OS.
If I can save myself some frustration from your experiments that would be great.
Thanks!
Mike, mixing RAID levels on the same spindles is not always a bad idea. It depends on your usage patterns whether you get any advantages.
The above test and mini-benchmark was made with four WD6400AAKS hard-drives.
My advise is: do no more than RAID 1 or 0 (or combinations thereof) with software, including Windows’ system capabilities. Don’t do RAID 5 or 6 and such – see this article why.