RAID 5 Sucks on Intel Matrix ICH8 (82801 SATA RAID) Integrated Controller

I started using RAID 1 as a matter of course after suffering some major downtime due to hard drive failures on my desktop and home machines a long time ago. First, I used the software RAID available in Windows NT (or was it WIN2K?). As I started building machines with integrated (fake raid, as some people call it) RAID controllers, I took advantage of them instead of using software RAID which was, in my experience, susceptible to frequent rebuilds due to lock-ups and power outages.

In the last machine I built, I decided to give RAID 5 a try, mainly because the 320Gb drives were so cheap at that time (but I didn’t want to buy 4 or larger ones I guess?). I develop on this machine, so write performance is very important. I’ve been running RAID 5 for the last 10 months or so. I’ve never been particularly happy with the performance of this machine. It always spent a lot time hammering the hard drives and I noticed that things would get sluggish, even though my CPU utilization never cracked 5 or 10 percent.

Things finally came to a head when the family and I went snowboarding for spring break. I really wanted an offsite backup of two of my machines in case someone broke into our house and stole the computers. One is my development machine (RAID 5) and the other is our household server for photos, music, and movies (RAID 1) which also doubles as the second gaming machine for my son’s friends, believe it or not.

I had forgotten that I used RAID 5 on my development machine. I ran up to Best Buy and picked up two hard drives that I was planning to exchange with the existing hard drives in the machines. The existing HDs I removed would be my instant offsite backups. On the machine running RAID 1, this worked beautifully. On the machine running RAID 5, it obviously didn’t work at all. Since this was the morning before we were leaving, I barely had time to copy important files from my development machine to my laptop, which was coming with us and would serve as an offsite backup of sorts.

When we got back from vacation, I wanted to salvage the money I spent on the extra drive for the machine using RAID 5. I disconnected one of the drives in the RAID 5 array as the first step in trying to migrate to some different configuration. When I reattached it, my machine was unusable for 22 hours! I mean so slow it was truly unusable! Turns out, RAID 5 suffers up to 80% performance degradation when rebuilding. You can see the gory details here. Not only that, but on the ICH8 controller, you can’t migrate from RAID 5 to any other configuration. I even tried turning on array write caching to boost performance. This helped a little but be prepared for that hideous rebuild every time you hit the reset button or suffer a power outage.

Now here’s where I really saw how badly RAID 5 sucks. I still had the 500GB hd I bought that I was going to use to mirror my dev machine to. So I swapped that in to my household server machine’s RAID 1 array which had only 2Gb free (my wife takes an insane number of photos). 20 minutes later, the array is already rebuilt. Not only that, but the machine is actually usable while the array is rebuilt. I then bought a second 500Gb drive, swapped that in, and, viola — I had just increased the capacity of my household file server in less than an hour with no pain whatsoever.

Meanwhile, my dev machine is still on RAID 5. I do some research and realize that RAID 5 suffers from really bad write performance. Combine that with the fact that it’s literally unusable (at least on ICH8) while a rebuild is underway and it’s only advantage is space effeciency, and you must conclude that RAID 5 on the ICH8 (82801 SATA RAID) is a terrible choice for a development machine.

Now, how in the world do you recover from your horrible choice of RAID 5 on ICH8 without doing a complete reinstall (which is incredibly painful)? Not easily! Since I had RAID 5, the array was larger than the the individual drives that made up the array so you can’t just take a drive out of the array and copy over to it. So now you need to shrink an NTFS partition, assuming your usage of the array, like mine, is still less than the size of component drives.

If you weren’t using RAID 5, shrinking your partition would be free and easy using Ubuntu 7.1. Unfortunately, even if you go to the trouble of trying dmraid, it doesn’t work with RAID 5. After hours of research, I finally ended up buying Acronis Disk Director which worked perfectly. I was able to shrink my partition down to 200GB and then copy it to another drive.

Since I now had 6 320GB drives, I converted my newly liberated 200GB Windows XP NTFS active partition to a RAID 10 array. Just in the time it took me to write this post, the rebuild is already 40% complete and the machine has been completely usable during that time.

In conclusion, RAID 5 on the IC8H SUCKS!!! Don’t use it under any circumstances. Disk space is so cheap there’s no reason to use RAID 5 instead of RAID 1 or RAID 10 on a workstation. Either buy one more drive (RAID 10) or buy two bigger drives (RAID 1).

Wireless Broadband — Literally Coding on the Road

With a daughter competing in level 8 gymanstics and a son racing motocross, I’m on the road alot. I recently purchased a Dell Vostro 1500 laptop so I could put some of the travel time (letting the wife drive) to good use coding. If you plan really well, you can code without being connected to the internet. But it’s tough to remember everything you’ll need ahead of time, especially if you you’ve become spoiled to having access to everything all the time or if you need access to a development database that’s not on your machine.

So I finally took the plunge last Friday and signed up for Verizon’s Wireless Broadband. I opted for the USB adapter. My daughter had a gymnastics meet in Austin over the weekend (she got silver all-around!). There’s something incredibly cool about driving down I-10 at 80mph and being connected to the internet at the same time. Not to mention being able to code in between events. If you you’ve never been to a meet, you spend 5-6 hours waiting to see your daughter perform for a total of maybe 10 minutes in four events. So there’s lots of dead time. With the wireless broadband and the laptop I was able to put that time to good use.

Motocross racing is similar. There are usually 16-18 classes. My son’s just been racing in one class so I’m there for 4-7 hours to watch the two motos that my son is in that last maybe 10 minutes each. We’ll see how good the wireless broadband access is in the more remote MX track locations. I tested the connection speed once on 71 south of Bastrop (semi-boonies location) and I was getting 720Kbp which is very adequate.

If you’ve been contemplating getting wireless broadband access, I highly recommend it.

Hanns-G 27.5 Inch Display Is Awesome

My eyes aren’t what they used to be but I code as much as I ever have. Unfortunately, I’ve developed some “floaters” and I have to wear bi-focals now. In the never ending quest to improve my coding experience, I recently purchased a Hanns-G 27.5 inch display. It was $600 at Best Buy and can be had at NewEgg.com for $550. I’ve had it a couple of days now and I highly recommend it. You can’t imagine how awesome it is until you experience it. If you spend as much time in front of a computer as I do, you owe it to yourself to check it out.

P.S. One negative I’ve found with this monitor is that it does not have a very dark black no matter how you set the brightness, contrast, and gamma. This isn’t an issue when coding, but it does create some sub-optimal photo viewing.

Wireless Hell

I’m sure being a doctor is even more annoying, but as the tech geek, I am always being called to solve all my friend’s and family’s techical problems. A buddy of mine recently changed jobs and had a new laptop. He’d had wireless working flawlessly at his house with the old laptop (with my help, of course) for the past year or so. Now, he has a new laptop and he expected to be able to just type in the passkey and things would work. No such luck.

Why does every wireless hardware vendor think the world wants to use thier, custom, oh-so-much-better wireless management module (or whatever the hell it is). Even if theirs worked perfectly (which was not the case), is it really any better than the one that comes with Windows? Even if it was better, I don’t want to learn the ideosyncrancies of their implementation. If things are working, the user hopefully will never see that piece of software again. So when they do, why the hell should it look and feel completely different for every damned wireless vendor? Wirelss isn’t new anymore! I didn’t have to use a different, vendor specific window (at least not for the last 10 years) to set up my wired lan cards. Why the hell do these vendors think I want to for my wireless card?

Home-Built Development PC From NewEgg

Well, I knew it would happen some day. We now have more PCs than people in our house. I’m not counting the laptop from work or the XBox 360. These are PCs that we purchased and stay in the house all the time. I recently accepted a contracting gig that will have me working from home for a while. We live in a relatively small, 4-bedroom house and my study has become my son’s gameroom. It has a large Ikea desk covering two walls on which two computers sit that are capable of playing most games reasonably well. One of those computers is theoretically mine but is usually used by a whoever’s over hanging with my son to play games. For the last several years, I’ve had a work provided laptop so I could always find some other place in the house to get some work done when I had to.

Now that I will be working from home, I need a computer and a quiet space to call my own but I didn’t want to ruin my son’s fun either. So we bought a Tromso bed and workstation to create space in his room for two computers so I could have the study to myself. Since “my” computer would be moving into his room, I needed to order another computer that would actually be mine.

TROMSO Bed

The last computer I bought was a Dell about 1.5 years ago. The four computers I purchased prior to the Dell were all home-built. I bought the Dell (E510 I believe, but their system was “undergoing routine maintenance” when I went to look at my order) for several reasons. I had become frustrated with the noisiness of the last couple of systems I had built. The power supply, hard drives, case fans, display adapter fans, and cpu fans were getting out of hand. With age, some of these systems had become so loud I felt like I was on a runway. In addition, some friends of mine had recently purchased Dell systems and were happy with them. I was able to find a 40% off coupon for systems over 1K. I was able to get 18 months same as cash. The Dell I ordered has turned out to be a good machine.

Given all of the above, when I was looking to pick up yet another PC, possibly a laptop, I first looked to Dell. Without the 40% off coupon, Dell’s prices stink. So I looked at Puget, Velocity, and a couple of other places. I wasn’t finding any deals that really turned me on. So I looked at putting together my own system at NewEgg.com. I have ordered systems from NewEgg in the past and I really can’t say enough good things about them. I spent about four hours at their site and others, putting together a non-cutting edge but solid performing machine for a reasonable price (~1200 USD).

As I mentioned, I was considering a laptop, but I just couldn’t stomach the price/performance tradeoff, particularly since this would be a development machine and I was paying for it personally. I ended up getting a micro-atx board and putting it in a “lan party” case with a handle on the top. Throw in a wireless adapter and you have a pretty nice 23 lb “laptop” minus the battery, display, or keyboard. I may end up buying a cheap laptop just so I can keep surfing the web while I’m on the throne.

The parts got here a couple of days ago and I am composing this post on my new machine which is quite quiet except for my video card fan. Overall, I am very happy with this box. A comparable box from Dell would have been ~3500 USD. Velocity and Puget were also in that price range.

Ttlanbox

Sure, you could put together a cheaper machine by cutting corners on the case, power supply, or the motherboard. But it will only cost you more later in both time and money. I usually get 3-5 years of useful life out of my home-built machines — the last couple years as hand-me-downs to relatives. I’ve had some bad experiences with AMD rigs (I know, tons of people love them) and some bad experiences with non-Intel mobos using Intel CPUs (can you say VIA 4 in one?). I am not trying to squeeze the very last ounce of performance out of my dollar. You can’t go wrong with Intel mobos and Retail CPU kits (better, quieter fans) IMO for a build-it-yourself box. Particularly if you are more interested in solid, quiet performance without hassles than that last 5% of performance or price savings.

To summarize, this is a box with a 2.4GHz Core 2 Duo CPU , 4Gb RAM, 640Gb RAID 5 storage, 520W Corsair PSU, and Geforce 8600GT GPU in a portable aluminum case for 1200 USD shipped. Here are the exact parts, if you are interested.

Thermaltake VF1000SWA Silver Aluminum MicroATX Desktop Computer Case – Retail
CORSAIR CMPSU-520HX ATX12V v2.2 and EPS12V 2.91 520W Power Supply – Retail
Intel BLKDQ965GFEKR LGA 775 Intel Q965 Express Micro ATX Intel Motherboard – OEM
Intel Core 2 Duo E6600 Conroe 2.4GHz LGA 775 Processor Model BX80557E6600 – Retail
A-DATA 2GB (2 x 1GB) 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400) Dual Channel Kit Desktop Memory Model ADQVE1A16K – Retail
Western Digital Caviar SE WD3200AAJS 320GB 7200 RPM SATA 3.0Gb/s Hard Drive – OEM
XFX PVT84JUDD3 GeForce 8600GT 256MB GDDR3 PCI Express x16 Video Card – Retail
PHILIPS 20X DVD±R DVD Burner with 12X DVD-RAM Write Black IDE interface (ATAPI) Model SPD2413BD – Retail