Raid 5 Monitoring on Dell Power Edge 2650 with afacli

  • HOME
  • >
  • >
  • Raid 5 Monitoring on Dell Power Edge 2650 with afacli
Last Updated: 
Tags:  linux

I had to monitor the Raid 5 status of two PE 2650 with a PERC3/Di running with 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.

[me@host ~]$ wget
[me@host ~]$ 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"
Related linux posts that you may like
What are the Differences Between Vi and Vim?
Review of the main differences between the Vi/Ex POSIX standard and the Vim implementation.
sudo: no tty present and no askpass program specified
Learn what is askpass and how to solve the 'sudo: no tty present and no askpass program specified' error when using sudo to execute a command.
What is the Bash Null Command?
Learn about the Bash null command, also known as the POSIX shell colon command. This post cover concrete use cases and pitfalls to avoid.