I had to monitor the Raid 5 status of two PE 2650 with a PERC3/Di and running under a GNU Debian. You can get the CLI tool afacli from dell website. Originally it was only available for windows or red-hat and it was necessary to tweak this stuff using Alien software for converting rpm to deb packages.

nicolas@grimm:~$ wget http://linux.dell.com/files/aacraid/afaapps-2.6-0.tar.gz
nicolas@grimm:~$ sudo tar -Pvzxf afaapps-2.6-0.tar.gz
# Normally you should have a device afa0 created. If not, check that devicename = "aac" in the file /dev/MAKEDEV.afa then do the following step :
cd /dev
./MAKEDEV.afa afa0

More information is available on the Dell website.

Now that we have a running AFACLI we can do a little script for checking hourly our raid status. Main thing to know with afacli - as lot of other CLI tool - is the HELP command. First you will have to open your device with the command open afa0 then you could check your container list, disk list etc. Due to network constraint I could only use an SSH connection, so for schedule this script I use a special user named xfertuser on each box for doing an SSH KEY AUTH. When my user is logon the remote box, I execute some command on AFACLI and use a simple diff on last afacli log file and the new afacli log file. Then in last step Icheck the messages log for AACRAID error messages.

Here is a sample script to use in a hourly crontab :

**# We get the remote host from the first argument of this script**
function doCmd()



**# AFACLI commands to execute for log Raid 5 status**

open afa0
logfile start ${LOG_FILE}
container list
disk list
enclosure show status
logfile end

**# Here we execute all our check on the remote box**

doCmd test -d ${LOG_DIR} || doCmd mkdir ${LOG_DIR}
doCmd "echo -e \"$CMD_LIST\" > $LOG_DIR/$CMD_FILE"
doCmd test -f ${LOG_DIR}/${LOG_FILE} || doCmd "sh -c \"cd ${LOG_DIR}; export TERM=xterm; sudo ${AFACLI} < ${CMD_FILE} > console.return\""
doCmd "sh -c \"cd ${LOG_DIR}; export TERM=xterm; sudo ${AFACLI} < ${CMD_FILE} > console.return\""
doCmd "sh -c \"cd ${LOG_DIR}; sudo /usr/bin/diff $LOG_FILE $LAST_LOG\""
doCmd "sudo /bin/grep -e \"(AAC|aacraid):\" $SYS_LOG"