3ware recently announced an IDE Raid controller solution for Linux. Since no one else on the market is doing this I was real excited and couldn't wait to get my hands on one of these things. So I contacted 3ware sales and asked if they'd loan KCLUG a demo unit so we could evaluate it and write a review of it. He obliged and sent me a four port version of the card.
I ordered two
ST330630A 7200 rpm Seagate
drives to conduct this test with. The vendor I purchased these
from had them backordered, so it took longer than expected to get
the drives in. Upon arrival I installed the two drives and the card
into a machine with a Soyo motherboard
that had a Cyrix 200 and 160 megs
of memory installed in it. The PnP Bios sees the card as a
"mass storage controller"
then a message pops up to hit
alt-3 to configure the array. Configuration was easy,
everything was a simple menu that was navigated by the arrow keys and
selections toggled by the space bar. It found the two Seagate drives
and I configured them for RAID-1 mirrored drives. I could
have alternatively configured them for RAID-0, but that wouldn't offer
me the fault tolerance I needed for my application. On the other two
ports I had two dissimilar 1gig IDE drives, one
Seagate and one
Maxtor. The Maxtor had a slightly
larger capacity than the Seagate, but the card handled it ok and made
a mirrored array the size of the Seagate 1gig drive.
Now both arrays were initialized. I popped in a Win98 system disk with fdisk and let the machine boot from floppy. Since the card is seen as a SCSI card and not an IDE card, it had no problem finding the whole 30 gigs of the array. The Soyo motherboard is an older motherboard and isn't capable of seeing an IDE larger than 17gig. This is a great solution for using high capacity IDE drives on older motherboards. I lopped of two gig partition for Win32 testing. Also I made a one gig partition on the second array. Then I rebooted and formatted the drives now called C: and D:.
The kit ships with super-extra-long IDE ATA66 cables for each drive, also you get s super-extra-long Y connector for power. This was totally helpful since the drives sat in the top two bays of my full sized tower case. Included also was a pretty decent manual and two disks with various kernel modules for both RedHat and Suse Linux. While the modules probably would have worked with Debian, my distribution of choice, the new kernel 2.2.16 had the 3ware driver as part of the kernel source code distribution.
If you want to actually boot from the array, building the driver into the kernel is required. 3ware provided the source to do this on the floppy, but only for the 2.3.x kernels. On a separate machine I built a custom kernel floppy that would boot a modified debian root image I have for 2.2 kernel installs. Keeping in mind that this is a brand new product, this little bit of extra work didn't bother me. You can be almost assured this card will be enabled by default in the boot disks of various future Linux distributions.
The 2.2.16 kernel booted and there it was, /dev/sda was 29.2 gig. The card showed up as a scsi controller and I installed debian onto it as if it were a standard scsi drive. Click here to see my system dmesg.
Now for the fun part--disk management under Linux. The card came with the latest version of 3dm, 3ware's disk management software. I ran the install and it put itself in as /sbin/3dmd Had I been running Red Hat or Suse, it would have modified by /etc/rc* files to start it upon boot up, but it didn't recognize Debian. I don't consider this a strike against the product since most Linux users run the Red Hat distribution, and an experienced unix admin can easily add it to the start-up by hand. 3dmd monitors array status and puts the information on its' own webserver running on port 1080. It can also be configured to send you an e-mail in the case of a drive failure -- very slick. Check out what 3dmd does here at my test machine
For those of you that run both WinXX and Linux on the same box, don't despair. Although the win32 drivers didn't come with the card, they are available for download from 3ware's website along with firmware updates. I installed Win98 on the two gig partition that was drive C:, no problems. Then I installed the drivers and 3dm for Win98 and it saw the card properly, as well as loaded a gui version of 3dm in the systray. Other than the interface the 3dm for both Linux and Win98 were functionally equivalent.
Conclusion: I didn't feel I had a decent machine for testing the speed of this card, however I looked very closely at the management and features of this card. The two port version of the card is priced slightly lower than its closest competitor, the Promise Fasttrak 66 (pdf file), however it is considerable more flexible, especially since it can be used with Linux and already is part of the kernel distribution. Promise has been promising this to Linux users for well over a year and they just haven't delivered yet. Unfortunately the 3ware disk-switch cards don't support hot-swap capabilities, however their Escalade series of cards is supposed to do that. I hope to get to take a look at one of those in the very near future. The disk-switch line of controllers comes in a two, four or eight port configuration. Since configuration information is stored on the disk and not in the flash-ram of the card, you can upgrade from a lower numbered port card to a higher number port card and the card will correctly read the array configuration. I tested this going from a two port to a four port card.
As I have more time to play with this hardware, I will update this review with graphics, snapshots and other useful information. I will also do some speed testing once I get a better motherboard with a better PCI bus and faster cpu. If you have any questions about the 3ware controller running under Linux or Win98, drop me an e-mail and I'll be glad to help you get your controller set up.