自动检查服务器RAID信息的SHELL脚本:
#!/bin/sh
Hostname=`/bin/hostname`
Hostip=`awk -F= ‘/IPADDR/ {print $2}’  /etc/sysconfig/network-scripts/ifcfg-eth0`

Battery=`/opt/MegaCli -AdpBbuCmd -GetBbuStatus -aALL|grep  “Charger Status”|awk -F: ‘{print $1″    :”$2}’`
raid=`/opt/MegaCli -cfgdsply -aALL|grep “RAID Level”|tail -1|awk -F: ‘{print $1″        :”$2}’`
Disknum=`/opt/MegaCli  -cfgdsply -aALL|grep  -c  “Non Coerced Size”`
Onlinedisk=`/opt/MegaCli -cfgdsply -aALL | grep “Online” | wc -l | sed ‘s/       //’`
Faileddisk=`/opt/MegaCli -AdpAllInfo -aALL | grep “Failed Disks”|awk -F’ ‘ ‘{print $4}’`

echo “####################### Host Information #########################”
echo “HostName          : $Hostname”
echo “HostIp            : $Hostip”
echo “”
echo “####################### Raid  Information ########################”
#echo “$Raidmode”
case “$raid”
in
“RAID Level        : Primary-1, Secondary-0, RAID Level Qualifier-0″) echo “Raid Level        :Raid 1″;;
“RAID Level        : Primary-0, Secondary-0, RAID Level Qualifier-0″) echo “Raid Level        :Raid 0″;;
“RAID Level        : Primary-5, Secondary-0, RAID Level Qualifier-3″) echo “Raid Level        :Raid 5″;;
“RAID Level        : Primary-1, Secondary-3, RAID Level Qualifier-0″) echo “Raid Level        :Raid 10″;;
esac

if [ -z "$Battery" ];then
echo “Battery           :Null”
else
echo “$Battery”
fi

echo “Total  Diak Number:$Disknum”
echo “Online Disk Number:$Onlinedisk”
echo “Failed Disk Number:$Faileddisk”
echo “”

MegaCli常用参数组合介绍:
MegaCli -cfgdsply -aALL | grep “Error”                  【正常都是0】
MegaCli -LDGetProp -Cache -LALL -a0                 【写策略】
MegaCli -cfgdsply -aALL   | grep “Memory”          【内存大小】

MegaCli -LDInfo -Lall -aALL                         【查RAID级别】
MegaCli -AdpAllInfo -aALL                           【查RAID卡信息】
MegaCli -PDList -aALL                                     【查看硬盘信息】
MegaCli -AdpBbuCmd -aAll                           【查看电池信息】
MegaCli -FwTermLog -Dsply -aALL           【查看RAID卡日志】

MegaCli -adpCount                                    【显示适配器个数】
MegaCli -AdpGetTime –aALL               【显示适配器时间】
MegaCli -AdpAllInfo -aAll                     【显示所有适配器信息】
MegaCli -LDInfo -LALL -aAll                【显示所有逻辑磁盘组信息】
MegaCli -PDList -aAll                               【显示所有的物理信息】

MegaCli -AdpBbuCmd -GetBbuStatus -aALL |grep “Charger Status” 【查看充电状态】

MegaCli -AdpBbuCmd -GetBbuStatus -aALL                      【显示BBU状态信息】
MegaCli -AdpBbuCmd -GetBbuCapacityInfo -aALL        【显示BBU容量信息】
MegaCli -AdpBbuCmd -GetBbuDesignInfo -aALL            【显示BBU设计参数】
MegaCli -AdpBbuCmd -GetBbuProperties -aALL             【显示当前BBU属性】
MegaCli -cfgdsply -aALL                                                             【显示RAID卡型号,RAID设置,DISK相关信息】

磁带状态的变化,从拔盘,到插盘的过程中:
Device                    |Normal|Damage|Rebuild|Normal
Virtual Drive       |Optimal|Degraded|Degraded|Optimal
Physical Drive    |Online|Failed –> Unconfigured|Rebuild|Online

MegaCli工具的下载地址:

http://gcolpart.evolix.net/debian/misc/dell/MegaCli-1.01.24-0.i386.rpm

MegaCli工具的安装命令:
rpm -ivh MegaCli-1.01.24-0.i386.rpm


转自http://www.mysqlops.com/2011/08/11/raid-megacli.html