IDE RAID Examined
Bender writes "The Tech Report has an interesting article comparing IDE RAID controllers from four of the top manufacturers. The article serves as more than just a straight product comparison, because the author has included tests for different RAID levels and different numbers of drives, plus a comprehensive series of benchmarks intended to isolate the performance quirks of each RAID controller card at each RAID level. The results raise questions about whether IDE RAID can really take the place of a more expensive SCSI storage subsystem in workstation or small-scale server environments. Worthwhile reading for the curious sysadmin." I personally would love to hear any ide-raid stories that slashdotters might have.
I ran an IDE RAID, one of the first, a few years ago. It was a 3ware RAID-1 controller. I thought it would be useful because I had gotten sick of losing data on a drive failure. I didn't have the money (or patience :) for a good backup solution and Linux RAID hadn't matured.
... never have I seen 2 drives go down simultaneously. Nor have I seen a controller malfunction in a way that damaged the drives (though I've heard of it from other people).
Everything was fine for awhile. After a few months I lost a drive, replaced a drive and it remirrored fine. Same thing happened a year or so later.
Then one day my controller fried. Nothing else in the system went down, but some kind of surge hit the 2 drives from the RAID controller. The controller still worked but neither drive was accessible, either as RAID drives or as single drives. Tried numerous tricks, eventually gave up.
I've run SCSI RAID in boxes I admin at work
All in all, I decided it wasn't worth it. I am currently doing Linux mirroring in combination with journaling filesystems on one box, and Windows mirroring on another.
It is more productive to voice thoughtful opinions (reply) than to judge (moderate) others.
For performance reasons, I haven't seen a single vendor that actually expects you to put two drives on a single interface, and infact, I've found that the 3ware Escalade controllers just won't let you. When they advertise that it can two drives, it usually means it has two dedicated interfaces, therefore have the potential for completely saturated a single port all by itself (which is hard to do with ATA/100 and ATA/133 drives that cannot even burst that high -- get good drives! big caches too!)
Pete
There is also the reliability factor. SCSI drives tend to be more robust.
Brevity is the soul of wit
-- Polonius
I don't quite understand where this Inexpensive crap came from. RAID was around long before IDE RAID controllers started showing up and of course SCSI RAID arrays almost always use very expesive disks. It's Redunant Array of Independent Disks, always has always will be.
It probably comes from the original reseach paper... A case for redundant arrays of inexpensive disks in the Proceedings of SIGMOD International Conference on Data Management, 1988. (Pages 109-116.) SCSI drives were an inexpensive option compared to other storage technologies that offered high performance and fail over safety.
Over time the acronym expansion was changed to become "redundant array of independent disks" as RAID become more popular (and affordable) for smaller systems.
Some references: here, here and here
I'm using IDE raid on my home desktop right now, but I'm using software raid as opposed to a hardware controller. I have two Seagate Barracuda ATA IV 40GB hard drives hooked up as masters to my primary and secondary motherboard IDE ports. I also have a DVD-ROM hooked up as secondary slave, and a Promise Ultra133TX2 controller with a CD-RW hooked up to its first port. Both hard drives are sectioned into a 3GB primary 1st partition and a 34GB (yes, the drives are only 40GB when you're in marketing land) 2nd primary partition. Windows 2000 is installed on the first drive's 3GB partition, and redhat linux 7.3 is installed on the second drive in the same place. Both OSs share the combined 68GB RAID 0 set, which is formatted with NTFS, made from the combined second partitions. The only problem is that linux can't write to the array because NTFS write support under linux is currently "DANGEROUS" according to the driver's author and I keep important data on there. (Yes, I know about the dangers of using RAID0 and I back up regularly.) It'd sure work a whole lot better if that driver were finished, though. (hint hint, Legato Systems, Inc.) ;)
:D After a quick format with NTFS (the partiton was too big to format with FAT32), I was in business.
/dev/md0
/dev/hda2 /dev/hdc2
/etc/raidtab, ran raid0run /dev/md0, and added a line to /etc/fstab. (I read online that WinNT 4.0's software raid driver uses 64K chunks.)
;) As a bonus, I also get to keep my standard partition table as well as compatibility with non-M$ disk editing/management/recovery tools.
Getting the two OSs' software raid drivers to play nicely together was an "adventure", mostly due to Win2K's insistance on turning the disks into "dynamic disks" before letting me use its built-in RAID functionality, meaning it wanted to wipe out my old partition table, replace it with a single partition taking up the entire disk, and create a new system of partition organization inside the dummy standard partition. After a lot of reading, I found out that Windows NT 4.0 supported "stripe sets" using standard partitions, and that Windows 2000, when installed over an old copy of NT4, would support the "legacy" software RAID drive. Windows 2000 would not, however, allow me to create new legacy stripe sets for compatibility with other OSs. Stupid Micro$oft. So all I had to do was fake Win2K into thinking it had been installed over an old copy of NT4 which had been using its stripe set functionality.
The first thing I had to do was create partitions. I opened up linux fdisk and allocated 3GB on each disk to my OSs, one for linux and one for windows, and created two partitions, each one taking up the rest of the space on its disk, and set their types to 87h (NT stripe set [thanks to whoever put the L command in linux fdisk!]). After installing Windows 2000 on the first disk's first partition, I needed to get my hands on a couple of tools that didn't come with windows 2000: Windows NT 4 Disk Administrator and MS's fault tolerant disk set disaster recovery tool, FTEDIT. After spending about 6 hours searching online, I finally found a download site for FTEDIT - MS's web site says you can get it free from them, but it provides no download link. NTDA was a bit easier. Since MS service packs replace OS files, and somewhere in NT4's history a bug or problem had been found in NTDA, that file was in the service pack 6a for NT4. Service packs check to see if you're using the correct OS _after_ they decompress themselves, and they're nice enough to display an error message telling you this ("Whoops. You just wasted a whole bunch of time downloading a huge file you didn't need. Sorry!") before they delete the decompression directory. Figuring that out took a while, but snagging the executable during decompression was easy.
I ran NTDA, which populated the "missing" DISKS key in the windows registry (Win2K stores disk information in a different place from NT4), and told FTEDIT that, yes, I really did already have a software RAID 0 set on those drives, and that windows NT had died on me and I had to restore it. After a reboot, "Drive D" appeared in my computer. 68GB and unformatted. YAY!
Getting linux to see the array was much easier. I added
raiddev
raid-level 0
nr-raid-disks 2
persistent-superblock 0
chunk-size 64
device
raid-disk 0
device
raid-disk 1
to
Btw, yes, I know linux has support for MS's dynamic disk scheme. I enjoy tweaking and doing new things, even if it means days spend reading about Windows.
"So," you're probably wondering, "why did Erpo spend all that time setting up a RAID0 set (presumably for extra performance) and then go and do a stupid thing like put a DVD-ROM drive on the same ata cable as one of the disks when he has an extra ata port on his add-in controller that he's not using?" Thanks for asking. It's because Promise's bios on the Ultra133TX2 card was broken. The company "Promised" me it would allow me to boot from CD, but in reality it only will let me do so when I want to boot from a windows installation CD. Not just any windows installation CD, either. It had to be Windows 2000 Professional or XP, which I refuse to use.
It wouldn't recognize my Windows 98 SE cd, or any of my linux distros. I didn't have a choice about the DVD drive if I wanted to install linux. Just now, months after I got the card and sent promise and email, they released a bios update that claims to fix the issue. If it works I'll be moving my optical drives around. Even with the DVD drive, the performance isn't too bad - about 80MB/sec at the beginning of the disk, and it slowly drops to 50MB/sec at the end.
Here are the hdparm results of the two machines I currently have that run Linux Software Raid.
/dev/md1 && hdparm -t /dev/md1 && hdparm -t /dev/md1 && hdparm -t /dev/md1 && hdparm -T /dev/md1 && hdparm -T /dev/md1 && hdparm -T /dev/md1
/dev/md1:
/dev/md1:
/dev/md1:
/dev/md1:
/dev/md1:
/dev/md1:
/dev/md1:
/]# hdparm -g /dev/md0 && hdparm -t /dev/md0 && hdparm -t /dev/md0 && hdparm -t /dev/md0 && hdparm -T /dev/md0 && hdparm -T /dev/md0 && hdparm -T /dev/md0
/dev/md0:
/dev/md0:
/dev/md0:
/dev/md0:
/dev/md0:
/dev/md0:
/dev/md0:
The first machine (brainstem) has SCSI Raid-5 with 18 GB drives. The second machine (heschl) has IDE Raid-5 with 120 GB drives. It's used to serve music and pictures (sorry, no pr0n - just digital camera pics) to my local network.
Machine 1 (SCSI)
-----------------
brainstem:~# hdparm -g
geometry = 58240/2/4, sectors = 141499392, start = 0
Timing buffered disk reads: 64 MB in 1.83 seconds = 34.97 MB/sec
Timing buffered disk reads: 64 MB in 1.83 seconds = 34.97 MB/sec
Timing buffered disk reads: 64 MB in 1.83 seconds = 34.97 MB/sec
Timing buffer-cache reads: 128 MB in 0.85 seconds =150.59 MB/sec
Timing buffer-cache reads: 128 MB in 0.86 seconds =148.84 MB/sec
Timing buffer-cache reads: 128 MB in 0.86 seconds =148.84 MB/sec
Machine 2 (IDE)
----------------
[root@heschl
geometry = 42304/2/4, sectors = 937765376, start = 0
Timing buffered disk reads: 64 MB in 3.14 seconds = 20.38 MB/sec
Timing buffered disk reads: 64 MB in 3.24 seconds = 19.75 MB/sec
Timing buffered disk reads: 64 MB in 3.19 seconds = 20.06 MB/sec
Timing buffer-cache reads: 128 MB in 1.09 seconds =117.43 MB/sec
Timing buffer-cache reads: 128 MB in 1.09 seconds =117.43 MB/sec
Timing buffer-cache reads: 128 MB in 1.10 seconds =116.36 MB/sec
Linux - Because Mommy taught me to Share.
Promise RAID is actually a software RAID. Don't let the fancy BIOS thiny fool ya. Here's a little story:
:) Those jokers are REALLY SLOW to recompile their kernel modules.
I had a Promise Ultra 100 controller in a system and loaded Linux on it. I tried to get the thing ot run RedHat 7.3. This was back when 7.3 was pretty new... like about 3 months old. I wanted to use the RAID controller since I had nothing else to do with it at the time and I knew Promise was supporting Linux.
Turns out they didn't have a driver for 7.3... just 7.2. I went around and around with them asking them to recompile the driver for me after I was mentioning the merits of oper sourcing drivers and such. Finally I gave up and bought some Maxtor PCI IDE controller out of the CompUSA bargain bin for like $10. It looked familiar...
I pulled the Promise card out and was about to put the Maxtor card in when I realized they were both the SAME DAMNED CARD! It was then I realized the RAID controller depended on software and not some fancy hardware thing. It was then I understood why Promise doesn't want to open source their driver!
Anyway, I put the bargain controller in and used a Linux software RAID. Short end to the story. I got my RAID and it worked. Better end, it was software and I could configure it using Webmin! That probably what you should do. Let the system see the two drives and then do the Linux software RAID... there is a redhat 7,3 driver out on the promise website... but I don't see a redhat 8.0
First off, they've failed to note that some of their contestants are in fact just IDE controllers, with the RAID functionality implemented in the software driver (WinRAID, like WinModems), whereas others are Hardware. I don't know all four products well, so I'm unsure on at least one of them as to which are which.
They tested CPU utilization, and seperately various speed tests, but never a comprehensive "loaded system" test. As expected they ranked the Adaptec (a true hardware RAID) lowest, while ranking the WinRAID's higher. This couldn't be further from the real truth. Sure, the idle P4 cpu does a great job of fast software RAID compared to the embedded RAID ASIC on Adaptec's card. However, if you had a heavily loaded server machine, where the processors were loaded down doing other things (say SSL-encrypting for an secure web server), the machine with the Adaptec would trounce the others, as the RAID processing speed will not decrease while your applications are using most of the CPU (or depending on the device driver's pre-emptability, it could be the other way around, that the CPU simply wouldn't be as available to your CPU-hungy SSL server as it's busy with the RAID).
11*43+456^2
> I don't quite understand where this Inexpensive crap came from.
RAID (Random Array of Inexpensive Disks) was as opposed to SLED
(Single Large Expensive Disk). (The term "Random" means the same
as in RAM -- i.e., that you can access any part (any drive, in this
case) at any time.)
> RAID was around long before IDE RAID controllers started showing
> up and of course SCSI RAID arrays almost always use very expesive
> disks.
"expensive" is relative. (Instead of thinking of SCSI as the only
other option besides RAID, try to remember that there were larger
and more expensive disks at one time.)
> It's Redunant Array of Independent Disks, always has always
> will be.
It's not necessarily "redundant" at all; some RAIDs are done just
for performance reasons, with no redundancy. (Personally, I am
more interested in the redundancy, however.)
Cut that out, or I will ship you to Norilsk in a box.
Why hasn't the ArcoIDE solution caught on like wildfire? It provides mirrored disk capability with absolutely no visibility to even the motherboard, much less the OS. I've been running it for years and it's great. Mine is the PCI slot model that simply uses the slot to get power to the card. One IDE cable from the motherboard to the card, two cables to the two hard drives.
And there's all sorts of alarming options -- LED's on the card, LED's on a front panel bezel, audible screech, Form C contacts for you industry types ...
I don't get it.
One simple rule for its versus it's
So I was surprised reading the review to see the Adaptec and 3Ware neck and neck in the RAID 5 area. 3Ware's usually have no competition in RAID-5 since their firmware and HW rock.
Then I found out WHY they were so close:
The 3Ware cards are 64-bit cards while the Adaptec's are only 32-bit. 3Ware cards can hit 70MB/sec writing and over 150MBsec reading with 8HD's! If they ever get to 66MHz, I expect their performance to go even higher.
If you want to see better benchmarks that fit with reality, check out the XBit Labs Review
Top Most Bizarre/Disturbing Error Messages
Try random access. Then you'll see the difference. Sequential is optimized by just about every cache out there - you're NOT benchmarking the drives with sustained transfer! You're benchmarking the caches!
A witty [sig] proves nothing. --Voltaire