Basic functionality on most 2.6.x kernels. However, 2.6.24+ is recommended.
Use http://ftp.us.dell.com/scsi-raid/afa-apps-snmp.2806076-A02.tar.gz instead of the one mentioned below. (A04 seems to look for something in /proc it can't find, then SIGABRT)
AFACLI on Debian
afacli is the command line utility that allows you to administer the RAID hardware on a Dell server.
Once Debian has been installed you will need to download the afacli software from Dell. Search the download section for afa-apps-snmp.2807420-A04.tar.gz. You need the older version found in afa-linux-app-A01.tar.gz if you wish to use the firmware commands in afacli. The ones in the recent version seem to be broken and will hang the RAID hardware if you do a 'firmware save', which you don't want on a production box.
Here's the install procedure for Debian:
PE2650# tar -zxvf afa-apps-snmp.2807420-A04.tar.gz
You should get a file called something like afaapps-4.1-0.i386.rpm. You can ignore any other files that were unpacked from the tar file.
Now we need to install alien and use it to convert the rpm to a deb software package:
PE2650# aptitude install alien PE2650# alien afaapps-4.1-0.i386.rpm
You should now have a deb package.
Now we can install the deb software package on our server (as root):
PE2650# dpkg -i afaapps_4.1-1_i386.deb
You must also install these Debian packages (as root) that are required by afacli:
PE2650# aptitude install libartsc0-dev libstdc++2.10-glibc2.2
On the server we must set-up a device called afa0 that points to our Dell RAID controller. On a PE2650 which has a PERC3/Di controller the device uses the aacraid driver and is listed in /proc/devices as aac. We need to find it's number then create a /dev/afa0 device.
PE2650# grep 'aac' /proc/devices
You'll get a line something like '253 aac'. Note the number down and use it in the following command
PE2650# cd /dev PE2650# mknod afa0 c 253 0
You should now be ready to run afacli:
We can now take a look at the firmware versions of the RAID hardware:
CLI> open afa0 AFA0> controller details
You can use the space bar to scroll down the info (see prompts at bottom of afacli session). Now exit back out of afacli back to our host's CLI prompt...
AFA)> exit PE2650#
These are the limitations that I have encountered when hooking the Jetstors up to these cards:
- Max. container size: 1746G (probably 2TB in reality)
We rolled our own package called aacraidmon, which has a collection in AFS and is stowed on machines needing it. The perl script can be put in cron to run periodically (we've been doing every two hours). It has two files that go in /etc/udev and /etc/udev/rules.d respectively to autocreate the afa devnode (see udev note above) and a data directory /var/lib/aacraidmon.
This script will dump controller state, save it in a file, and mail gripe if that output changes. It also checks syslog for anything containing AAC and strings suggesting an error. This will effectively cause notifications on any errors or changes in controller state, such as disk swaps.