Recently I have bought a Dell PowerEdge R210 server which is equipped by PERC H200 raid controller.
As I have setup a raid 1 on this server, I needed to monitor its raid status, Here is what I did :
First you need “sas2ircu” utility which can be found on following website :
http://hwraid.le-vert.net/wiki/DebianPackages
Running “sas2ircu 0 STATUS” give you following output :
root@x:/# sas2ircu 0 STATUS LSI Corporation SAS2 IR Configuration Utility. Version 16.00.00.00 (2013.03.01) Copyright (c) 2009-2013 LSI Corporation. All rights reserved. Background command progress status for controller 0... IR Volume 1 Volume ID : 79 Current operation : None Volume status : Enabled Volume state : Optimal Volume wwid : xxxxxxxxxxxxxx Physical disk I/Os : Not quiesced SAS2IRCU: Command STATUS Completed Successfully. SAS2IRCU: Utility Completed Successfully.
What we are interested in is “Optimal” status. so if Optimal changes to anything, we want to be notified.
You can use the following script to do that (change MAIL variable to your own email address) :
#!/bin/bash MAIL=mail@domain.com RESULT=`sas2ircu 0 STATUS | grep Optimal` if [ -z "$RESULT" ]; then echo "RAID ERROR ON SERVER" | mail -s 'Raid Error' "$MAIL" else echo "Raid is OK" fi
as always do not forget to test if your server is actually able to send mails and you receive them.
Finally save the script in a file and put it in cronjob. I have chosen to run it every 12 hours :
0 */12 * * * /usr/bin/raidcheck