Areca RAID Controllers Howto

From openSUSE

Contents

Areca Storage

The storage system developer Areca has developed and release several types of hardware RAID controllers. Along with the typical PCI-X controller cards (ARC-11XX Series) that are used on many servers, they also released a series of cards (ARC-12XX) that run on the new PCIe bus.

The availability of scaleable PCIe RAID controllers is important because it allows the SOHO server builder to use commonly available (inexpensive) components to build solid and high-quality storage solutions at a fraction of the cost of full blown Xeon/Opteron solutions with just PCI-X support. Moreover, the PCIe system bus has higher overall bandwidth overhead for improved scaleability.

Note that the cards come in the following flavours

  • 4 port SATA II - ARC-1210
  • 8 port SATA II - ARC-1220
  • 12 port SATA II - ARC-1230
  • 16 port SATA II - ARC-1260

Requirements

  • Motherboard with available 8x PCIe slot or universal PCIe (a 16x slot, but usually electrically wired as 4x or 8x)
  • Areca (ARC-12XX) 8x PCIe SATA II Hardware RAID card
  • Linux Kernel 2.6.11 or higher
  • Kernel Sources and GCC installed

OS Support

The driver (kernel module) has been available since Kernel 2.6.11-rc3-mm1. However, it is still not available in the mainline kernel stream. The consequence is that the cards will not work out of the box in SuSE 10.0 or 10.1. The developer has provided a pre-built driver for 10.1. But not for the kernel update to 2.6.16.21.

Until the driver is merged into the mainline kernel, we are going to need to build the driver and install it manually. Also, until this happens, it will not be possible install SuSE on a RAID volume.

Don't worry, this is pretty straightforward.

TAKE CARE!

If you are using the manufacturer driver disk, do NOT upgrade your kernel with the security update, if your boot partition is on the raid. If you are compiling the raid module for your machine with this manual, your system will stop working.

Building Areca arcmsr Driver

You can build the driver on the same machine where the controller is installed (in that case, you need to install on a different disk than the controller's one) or on a different machine (provided that it has EXACTLY the same SUSE and kernel version).

First, get the most recent version of the driver sources from Areca's FTP Server and extract it in some place (maybe the root users home folder).

In the console, log in as root and change to the kernel-version-2.6.x/arcmsr directory

From here execute the following command to build the module

make -C /lib/modules/$(uname -r)/build M=$(pwd) CONFIG_SCSI_ARCMSR=m modules

Then install the module with the following command (if you are on the machine with the controller)

mv arcmsr.ko /lib/modules/$(uname -r)/updates/

Installation of SuSE 10.2 on Areca managed drives

You can build a driver update diskette and boot off directly from the machine, doing the SUSE installation at the same time.

Download the driver diskette update image from Areca FTP site [] (10.1 version is fine), write the image on a floppy, and mount the floppy. Open the floppy and move to the directory where system updates are installed (/floppy/linux/suse); copy the x86_64-10.1 or i386-10.1 folders to x86_64-10.2 or i386-10.2, respectively. Enter your preferred folder and go into install, then extract update.tar.gz.

Cd in lib/modules and copy one of the folders to a new one, giving it the name of your kernel (uname -r will help). Inside this newly created folder cd to kernel/drivers/scsi and subsitute the driver module arcmsr.ko with the one you just built (WARNING: remember to build the kernel module on a machine with exactly the same kernel version, SuSE version, and CPU architecture of the one you will install SuSE on). Go back to the directory where you extracted the gzipped tar, delete update.tar.gz and compress the lib folder with tar and gzip, afterwards changing its name to install.tar.gz.

Now modify the patch scripts in /floppy: patch.i386 or patch.x86_64. Open one of them with your editor and change all the occurrences of "10.1" to "10.2"; go to line 36 and change the kernel number in the if command to match your version (leave the * at the end): e.g., the existing 2.6.16.13-4-* should be changed to 2.6.18.2-34-* for a brand new 10.2 install. Thats'it!

Save the file and close the editor, unmount the floppy, and prepare to boot the new machine. When booting for installation, at the first screen, choose F5 and select "YES": this will cause the installer to ask you the floppy with the drivers. Now, start the installation; at some point, it will pop up a window where you have to specify where the driver update medium is located: insert the just prepared drivers floppy and select fd0.

Then, a status window will show up with information on the diskette being read and the driver update being found. After that, you will be able to see the Areca controller and the installation process will go flawlessly (in my case, I did not even perform the steps requested for post installation: at the subsequent boot, the arcsmr module was correctly loaded and the machine went up without problems.)

Configuring /etc/sysconfig

initrd

From YAST -> System -> /etc/sysconfig Editor add the arcmsr driver to the initial ram disk

Image:yast-sysconfig-initrd-arcmsr.png

Boot Modules

Also, install configure the module to be installed at boot.

Image:yast-sysconfig-boot-modules-arcmsr.png

Accept the Changes

Image:yast-sysconfig-accept-changes-arcmsr.png

Reboot the Computer

After you reboot the machine, you should be able to see the new space from the My Computer dialog on the desktop.