Debian Clusters for Education and Research: The Missing Manual

HighPoint RocketRAID: Installation

From Debian Clusters

Jump to: navigation, search

This is the first page of a two part tutorial on HighPoint RocketRAID. For a bare bones introduction to RAID, see File System: RAID Arrays. The full RocketRAID tutorial includes:

Contents

Updating the BIOS

For the new Raid hardware to work, the BIOS needs to be updated. The source for this comes from High Point's website. (Their site is set up with poorly designed frames, which makes linking and bookmarking difficult, but you're trying to get to this page.) Click on "Support" in the upper left and then choose "BIOS + Drivers".

From there, scroll down to BIOS. At the time of this writing, version 1.7 is the newest version. If there's a newer version, right-click "Download" and copy the location of the file. Otherwise, you can use the link below.

wget <location for your raid BIOS>

You'll need to unzip the file, but you might want to put it in a new directory first, because it will dump several files. (If you try to run unzip and it isn't found, you'll need to apt-get install unzip.)

mkdir rr232-bios
mv RR232*.zip rr232-bios
cd rr232-bios
unzip RR232*.zip

Notice that the hptflash file is an .exe, a Windows executable. This won't work in Linux. From the same HighPoint webpage, find the address for and download the "Load Utility for Linux".

wget <location for your RAID Load utility>

Untar it:

tar xvzf hptflash*.tgz

Now you're ready to flash the BIOS. This will overwrite your old BIOS! If you think you may ever want your old BIOS again, make a backup before this next step! When you're ready to overwrite your BIOS, run

./hptflash rr<your RAID model and version>

You'll need to reboot after this.

Kernel Module

In order for the kernel to detect the RAID hardware at boot up, a module needs to be added to the kernel. You can either patch your existing kernel (easier option) or compile a new kernel with the patch. Either way, you'll need the source code for the kernel module from High Point. Again, this is from High Point's website. Click on "Support" in the upper left and then choose "BIOS + Drivers".

From here, click on your particular RAID model. Scroll to the bottom of the page where it says "Open Source driver" and right-click the location of the file (my documentation may not be up-to-date with the latest version). Then from your server, run

wget http://www.highpoint-tech.com/BIOS_Driver/rr232x/Linux/rr232x-linux-src-v1.8-080304-1510.tar.gz

Untar the file with

tar xvzf rr232x*tar.gz

and then cd into a new directory that was created within the new directory:

cd rr232x-linux-src*/kproduct/rr232x/linux/

You'll also need the kernel source for your current kernel.

Kernel Source

Getting the kernel source for a standard kernel is very easy. (If you're running a standard kernel, I assume know where the source is that you used to compile it.) To find out what kernel you're running, execute

uname -a | awk '{print $3}'

This your version of the kernel. To download the source for it, run

apt-get install linux-headers-<your header here>

For instance, on the machine I'm setting up, mine was

apt-get install linux-headers-2.6.24-1-amd64

Patching the Kernel

You should still be within the rr232x-linux-src*/kproduct/rr232x/linux/ directory. From here, run

make

and then

make install

This will finish with an error. The installer assumes this is a Red Hat system with the binary mkinitrd. Since this is Debian, we have mkinitramfs instead, so we'll have to do it by hand.

make[1]: Leaving directory `/usr/src/linux-headers-2.6.24-1-amd64'
You made a module which is for current kernel 2.6.24-1-amd64.
Deleting previous installed driver module rr232x...
Install the new driver module...
Updating module dependencies...Done.
Checking for initrd images to be updated...
Can not find command 'mkinitrd'.
make: *** [install] Error 1

To finish up, we need to run mkinitramfs. This will replace the current RAM image used when the computer boots, located at /boot/initrd.img-<your kernel version>, with one that understands about the RAID controller so that the drives will be able to be accessible when it's time to access them as part of a normal boot. To create a new RAM image and replace the old one, run

mkinitramfs -o /boot/initrd.img-<your kernel> <your kernel>
  • -o specifies where the output file should be placed
  • the second instance of your kernel specifies the kernel version

Compiling a New Kernel

The other option is to compile a new kernel. This will take significantly longer than just patching the existing kernel, but you can appended "-rr232" or whatever else you want to the name of the kernel. Cool!

From within the rr232x-linux-src*/kproduct/rr232x/linux/ directory, run

make patchkernel KERNELDIR=/usr/src/linux-source-<your kernel>

This creates a patch in the kernel directory in order for the kernel to be built again. From here, you can follow the Compiling the Kernel "The Debian Way" tutorial on how to custom compile a kernel.

Enabling the Module at Boot

Technically, this module doesn't need to be available to the kernel at boot time, unless you specifically would like to have the system boot up from a Linux install on one of the RAID drives. If you'd like to make it available at boot time, use your favorite text editor to open

/etc/modules

and add the line

rr232x

RAID Management Utilities

After you've rebooted Debian once to use the kernel with the raid patch in it, you're ready to start playing with RAID, and you'll need High Point's RAID management utilities.

These are downloaded from High Point's website. (Their site is set up with poorly designed frames, which makes linking and bookmarking difficult, but you're trying to get to this page.) Click on "Support" in the upper left and then choose "BIOS + Drivers".

From here, click on your model of RocketRAID. Then look for "RAID Management Utility" and the column headed by "CLI" (CLI stands for Command Line Interface). Right click and copy the location of this file. Then use wget to download the file onto the head node. The line should look something like this:

wget http://www.highpoint-tech.com/BIOS_Driver/HRM/Linux/CLI-Linux-2.3-3-1214.tgz

While you're here, go ahead and do the same thing for the "GUI Based" utilities.

Next, untar the two files:

tar xvzf CLI-Linux-2*.tgz

This will drop four new files into the current directory: a PDF and three .rpm files. An rpm file is a package for the Red Hat package manager (RPM). (Debian's package manager is apt, but apt doesn't know how to use rpm files.) In order to install an rpm package, Debian needs a package called rpm. Do this with

apt-get install rpm

Now we can use it to install one of the RocketRAID rpm packages. First install the hptserver package with the line below. Make sure that you select the correct package starting with hptsvr, and to choose the 64-bit package if your system is running 64-bit Debian.

rpm --nodeps -Uvh <your package here>
  • --nodeps tells RPM not to check for dependencies before installing the package. RPM doesn't play nicely with apt, and without this command, installation with fail because RPM won't realize that the standard packages have already been installed.
  • -U stands for upgrade
  • -v is for verbose, to display more information than standard to the screen so we can make sure everything is installing all right
  • -h is for hash to print the hash marks as the package is being installed with, and in combination, -vh gives a verbose display of the hash marks but in a nicer format than -h alone

This will end with a message that first made me think installation had failed, but it is actually completed. (Try installing it again and you'll see that it's already installed.) Here's the finished installation message:

Starting hptsvr daemonDriver is not loaded.

Next, install the RAID configuration utility:

rpm --nodeps -Uvh hptraidconf-*.rpm

And finally, the GUI package that starts with hptraid-, selecting the correct package for 64-bit or not, as the case may be:

rpm --nodeps -Uvh <your package here>

Sanity Check

Now, start up the RAID daemon with

/etc/init.d/hptdaemon

You may get an error the first time:

Starting hptsvr daemon Driver is not loaded
.

If you run an strace on the command, you'll see that the script is looking for a file called /etc/hptcfg. It wants the name of the kernel module in this file. To find out your version, run

lsmod | grep rr | grep -v scsi | awk '{print $1}'

You can use this same command to shove that information into /etc/hptcfg:

echo `lsmod | grep rr | grep -v scsi | awk '{print $1}'` > /etc/hptcfg

Of course, you always just add the line manually by using a text editor, too.

Once the line is in place, you should be able to successfully start up the daemon:

/etc/init.d/hptdaemon

Next...

If you're ready to create and initialize an array, continue on to HighPoint RocketRAID: Array Creation.

Personal tools