- By Jeff Field -
With the large number of servers and workstations now being built around Linux, many manufacturers of server
equipment, such as higher-end network cards and SCSI/RAID adapters, are supporting Linux. Adaptec is one company actively supporting its products under Linux. With new drivers from Adaptec, I tested the new SCSI RAID 3200s.
When I went to the LinuxWorld conference in New York this spring, Adaptec had a complex
FreeBSD-based digital video editing/broadcasting setup based on one of the company's custom solutions. It certainly was
impressive, but it really did not say anything about how Adaptec would define itself as a company that wanted to be part of
the Open Source movement. At Adaptec's booth, I found out the company was launching a Web site for information and
drivers for its products under Linux. However, that Web site has fallen into disuse. Some Linux users were worried that this was a
sign that Adaptec was not going to take an active role in supporting Linux.
The Adaptec 3200s is a two-channel Ultra160 SCSI RAID controller intended for middle- to high-end servers and workstations.
It is a two-channel controller, with two independent 160MB/sec channels for up to 30 drives and 320MB/sec combined
throughput. It supports RAID 0 (striping), 1 (mirroring), 0/1 (striping and mirroring), 5 and 0/5. I tested the card with
a single drive and with RAID 0 and 1, because I only had two SCSI drives available.
This is the longest card I have seen in a long time; it might be difficult to fit
into smaller cases. The connectors are the two internal 68-pin Ultra160 connectors, and the external connector. This card also has a large Intel i960
RISC CPU for handling all RISC calls, which greatly reduces CPU usage over a coprocessor or software RAID, in which the
main CPU still has to do much of the RAID work. Also on board is 32 megs of ECC SDRAM, on a standard SO-DIMM package. 16MB
of the RAM is used by the CPU, the rest for data cache. One 32-meg ECC SO-DIMM is installed by default, and up to 128MB
can be installed. If you are going to install two modules into the unit, both must match, so you may not combine different
sizes, such as a 32-meg DIMM and a 64-meg one. The card has status LEDs to help you diagnose problems and monitor the status of your card. The BIOS provides mechanisms for configuring the card itself and setting up RAID configurations, operations that may also be performed in your OS through the Adaptec Software
Installation and driver support
Installing the 3200S was a difficult task because the card is a 64-bit PCI card, which as I mentioned before, is longer than standard cards, and has an additional edge connector. In most PCI slots there is not
an indentation to allow for the extra space. It can be done, but it requires you to force a card that costs quite a bit of money into the PCI slot, which some people may not feel comfortable doing. The ways to avoid this are to make sure you buy a 32-bit PCI board that has the indentation or to buy a
board 64-bit PCI. Connecting the drives to the device was easy using the Ultra160 cable that is
provided with the unit.
Initially, the only support for the 3200S I could find was in the form of outdated SuSE or Red Hat drivers. I was worried
that support had been dropped. However, searching the Linux-kernel mailing list revealed that others were trying
to get it working, and that kernel programmer Alan Cox even had support for the card in one of his AC kernels. I contacted another person on the list who had gotten it working and was given a patch to the 2.4.x kernels to add support for DPT
i2o cards, which is what the 3200S really is. DPT was a SCSI card manufacturer, popular in higher-end markets, that was
bought by Adaptec.
I emailed the author of the driver at Adaptec, Deanna Bonds, and asked about the status of support for
the card. She said she has been working with Cox on getting the driver ready to be integrated into
the kernel, and it was close to being finished. She then provided me with a tarball of all the versions of this
patch for recent kernels and major distributions. I don't understand why these are not on a Web site somewhere; that would give a different impression of Adaptec as a company devoted enough to Linux to have drivers for
most distributions, plus the normal kernel source patch. Instead, we get a dead Web site and the need to
email people in order to get the card working. Once the dpt_i2o driver is in the kernel, this will not matter, but for
now why put all this work into a driver and not distribute it?
The driver worked like a charm. I applied the patch to the 2.4.5 source tree, and even though it was the 2.4.4 version,
there were so few changes that the patch still worked. I then built the dpt_i2o driver as a module, did
"modprobe dpt_i2o" and within a few seconds, my machine detected the card along with the two SCSI drives attached to it.
While not the simplest installation, my guess is that most people who are using this card under Linux will have enough
knowledge of Linux that they will be able to get the driver working. Also, once support is
built into the kernel, I suspect most distributions will be able to automatically detect and configure the card. During the course of the testing, I encountered no speed problems, and I had no corruption issues with the work I did
on the drive, so the driver certainly seems stable enough, although I did not test it under prolonged conditions of heavy
Documentation and packaging
I'm not normally a big fan of electronic documentation, but in the case of the 3200s, I make an exception. The online documentation is accessible within your operating system on the CD, like most
documentation, but it differs in that you can also boot from the CD, which has a custom Linux image on it that will configure
itself for XFree86 on your machine, load XFree, and load an interface to look at the full documentation
in Adobe Acrobat. It also allows you to run Storage Manager to configure your drives/controllers, access a terminal to perform operations on the
drives, and do a number of other useful things. I was shocked that it was a bootable Linux CD, and the entire CD was nicely put together.
Most people have a couple of big concerns when they consider purchasing hardware for high performance
servers: reliability, cost and performance. I used two methods I have used before to benchmark the performance of the drives attached to the 3200s. These benchmarks are not nearly as good as real-world results, but they give you an idea of the possible performance of the card.
AMD Athlon 750
128 Megabytes PC133 SDRAM
3COM 3C905TX-B 10/100MB NIC
3DFX Voodoo 3 3000 AGP 16MB Video Board
Adaptec 3200s or 29160 32-BIT PCI SCSI Controller
Western Digital 10gb 7200 RPM WD102BA IDE HDD (boot/OS) (ext2)
Red Hat Linux 7.1 - Kernel 2.4.5 with Adaptec dpt_i2o patch
Seagate 18 gigabyte 10,000 RPM Ultra160 Cheetah Drives
Configurations: Single: One cheetah attached to SCSI RAID 3200s, RAID 0: 2 Cheetah drives on the 3200s in RAID 0
(Striping) mode, RAID 1: 2 Cheetah drives on the 3200s in RAID 1 (Mirroring) mode, 29160: Single Cheetah on Adaptec 29160
Bonnie++ is a hard drive benchmark that tests the writing and reading
from both a single large file (such as that of a database) and many small files (like a proxy, or mail program). It is
useful for simulating performance under such applications.
|Single||8930 K/sec, 99% CPU||25991 K/sec, 34% CPU||8613 K/sec, 8% CPU|
|RAID 0||9097 K/sec, 98% CPU||23135 K/sec, 35% CPU||9495 K/sec, 9% CPU|
|RAID 1||9138 K/sec, 99% CPU||19316 K/sec, 23% CPU||4889 K/sec, 4% CPU|
|29160||9265 K/sec, 99% CPU||26562 K/sec, 48% CPU||7191 K/sec, 7% CPU|
|Single||8234 K/sec, 79% CPU||31238 K/sec, 20% CPU||207.3 Seeks/sec, 1% CPU|
|RAID 0||8362 K/sec, 77% CPU||33516 K/sec, 19% CPU||316.0 Seeks/sec, 2% CPU|
|RAID 1||4765 K/sec, 43% CPU||6873 K/sec, 4% CPU||170.6 Seeks/sec, 2% CPU|
|29160||9753 K/sec, 89% CPU||36119 K/sec, 20% CPU||248.1 Seeks/sec, 2% CPU|
|Single||10528 /sec, 100% CPU||none||13189/sec, 99% CPU|
|RAID 0||10905 /sec, 99% CPU||none||13559/sec, 100% CPU|
|RAID 1||10217 /sec, 100% CPU||none||12362/sec, 99% CPU|
|29160||10415 /sec, 99% CPU||none||12844/sec, 100% CPU|
|Single||10137 /sec, 99% CPU||none||10090/sec, 90% CPU|
|RAID 0||10043 /sec, 95% CPU||none||11248/sec, 100% CPU|
|RAID 1||8475 /sec, 95% CPU||none||10346/sec, 100% CPU|
|29160||9724 /sec, 94% CPU||none||11215/sec, 99% CPU|
The results of this test are not remarkable, except for one set. The results of the RAID 1 tests show that RAID 1 is
a decent bit slower at these operations that the other configurations. RAID 1, or mirroring, makes it so you have two
drives with exactly the same data, providing enhanced reliability. The reason for this slowdown is probably the added
time needed to write the same data to two devices, but for someone who needs the protection RAID 1 offers, this
may not matter.
The hdparm tests give you the raw throughput of the device, essentially, the best you can possibly hope for. Uncached is
the buffered speed of the disk, without the use of the operating system cache. Cached results test the perform of the RAM
and CPU, essentially.
|hdparm -t (Uncached)
|RAID 0||41.83 MB/sec|
|RAID 1||17.88 MB/sec|
|hdparm -T (Cached)
|RAID 0||133.33 MB/sec|
|RAID 1||124.27 MB/sec|
The hdparm tests show just what you might expect of the various configurations. RAID 0, as it is intended, has a
performance advantage over the other configurations. RAID 1, on the other hand, does not perform as well as normal
The Adaptec SCSI RAID 3200s is an excellent solution for high-end workstations and middle- to high-end servers. If you are in need
of RAID, it is definitely the way to go, especially when support for it is integrated into the Linux kernel. If you do not need
RAID, then there are much better cards for you to choose from. Do not simply pick the card for its features, such as the
CPU and RAM, because most features on this card are only used to an advantage when RAID is enabled. The 3200s can
be found for roughly $600 on Pricewatch.