HomeBanner

Highpoint Controllers

How can I use HightPoint PCI card with SuSe 8.1 ?

Grant Quinlan

We wanted to move our server storage to a mirror array to protect against downtime and data loss, and HighPoint's PCI card seemed to be a wonderful approach (details as why I like it below). Unfortunately all the documentation for installing drivers assumes that LILO will be used for booting, but with SuSE 8.1 GRUB is the default boot loader. Documentation available for GRUB is pretty sparse to begin with, and much of SuSE's implementation of GRUB does not match with what I could find in newsgroups and archives. I was very tempted to switch my boot to use LILO, but could see that there were some good reasons not to change. I've had to work on getting this set up during off-hours, so the 20 or so hours that it took me to figure out the solution took about 3 weeks. Now that I know how, someone should be able to use these instructions to get a system set up and configured in less than an hour of work (although each time I had to re-initialize our 180 GB mirror set, it took about 10 hours).

  1. I started with a 180 GB IDE (ATA100) drive connected to one of the motherboard's IDE ports, with a working SuSE 8.1 installation. Partition 1 is swap, partition 2 is /, and partition 3 is /home. I have a matching drive which will mirror this one after installation, and the HighPoint controller card.

  2. Get the hpt374 driver file. The driver build must match the kernel (2.4.19-4GB) and the latest from HighPoint http://www.HighPoint-Tech.com is for the 2.4.18-4GB kernel, so I built my own. I downloaded the driver sources from http://www.HighPoint-Tech.com/hpt374-opensource-v111.tgz. I unpacked the archive, and ran make to build the file hpt374.o.

  3. Update the hpt374 bios. I am not sure if this was necessary, but it probably is. I downloaded and unpacked http://www.HighPoint-Tech.com/BIOS_374_124.zip and http://www.HighPoint-Tech.com/load_220701.zip and copied the files to floppies. I then booted DOS 6.2 from a floppy, loaded the BIOS update (the load application reported an error because it wanted to run under Win95/98 but it seemed to work), and rebooted into Linux.

  4. Install the module. From the location of the hpt374.o file I ran "install -d /lib/modules/2.4.19-4GB/kernel/drivers/SCSI" and ""install -c hpt374.o /lib/modules/2.4.19-4GB/kernel/drivers/SCSI". These commands register the module and copy it to /lib/modules/2.4.19-4GB/kernel/drivers/SCSI.

  5. Test the module. I ran the command "insmod hpt374.o". The warning about a tainted module can be ignored - it means that a portion of the code used to build the module is not registered and licensed as free software (HighPoint does not want to encourage us to mess with their sources, though they have made them available). The lsmod command can be used to verify that the module is loaded. You can also now run the GUI Admin tool to view and configure the card, available from http://www.HighPoint-Tech.com/GUI_404_231.zip.

  6. Update boot configuration. Edit /etc/sysconfig/kernel and add "hpt374" to the list of modules in the INITRD_MODULES variable. Edit /boot/grub/menu.lst and replace "root=/dev/hda2" with "root=/dev/sda2" - actually make copies with new names for menu items that reference "hda" to allow you to boot using the IDE channel if problems arise. When you are sure that everything is working then delete the extra items. (Note that "a" is the first device, "2" is the 2nd partition). Edit /etc/fstab and change references to the IDE device (hda) to the hpt SCSI device (sda).

  7. Run mkinitrd to update the bootable RAM Disk files initrd and initrd.shipped

  8. Move the IDE drive to channel 1 of the hpt374 controller card. Reboot. During boot, when the HPT card is scanning for devices you can type Ctrl-H to bring up the menu to set your boot device, configure mirrors and stripes, etc.

Note

When setting up this machine I was able to get the RocketRaid 404 card for about $80, and two 180 GB Western Digital drives for $180 each. The RocketRaid 404 card maps up to 8 ATA100 drives to SCSI devices for Linux and Windows. It supports JBOD, Raid 0, Raid 1, and Raid 0+1 configurations. I have the 180 GB mirror set and then 3 old EIDE drives attached to the card.

With a 4 way stripe set up the card could conceivably supply data up to 4 times faster than a single ATA100 drive. Mirrors can be read as a stripe set so 4 matched disks in a 2 way striped mirror could then write twice as fast and read 4 times as fast as a single ATA100 drive. Actually the limits of the PCI bus will prevent data from ever actually moving that fast, and when the buffers on the drives are emptied and data needs to be streamed directly from the disk platters then disk rotation (x4) becomes the limiting factor. The WD 180 GB drives come with 8MB buffers (many drives have only 1 to 4 MB buffers) which does a lot help things run at maximum speed more of the time.

Anyhow, it makes for a pretty fast and reliable setup at a very reasonable price.


Updated: Tue, 03 Feb 2004
Valid CSS!Valid HTML 4.01!