自动检查服务器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  “ChargerStatus”|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#########################”
echoHostName: $Hostname
echoHostIp: $Hostip
echo“”
echo####################### Raid  Information ########################”
#echo“$Raidmode”
case$raid
in
RAID Level:Primary-1,Secondary-0, RAID LevelQualifier-0″) echo RaidLevel:Raid1″;;
RAID Level:Primary-0,Secondary-0, RAID LevelQualifier-0″) echo RaidLevel:Raid0″;;
RAID Level:Primary-5,Secondary-0, RAID LevelQualifier-3″) echo RaidLevel:Raid5″;;
RAID Level:Primary-1,Secondary-3, RAID LevelQualifier-0″) echo RaidLevel:Raid10″;;
esac

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

echoTotalDiakNumber:$Disknum
echoOnlineDiskNumber:$Onlinedisk
echoFailedDiskNumber:$Faileddisk
echo“”

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

MegaCli-LDInfo -Lall -aALL |grep 'RAID Level'       【查RAID级别】
MegaCli -AdpAllInfo-aALL                                    
【查RAID卡信息,如支持的raid类型和磁盘类型等】
MegaCli -PDList-aALL                                          
【查看硬盘信息】
MegaCli -AdpBbuCmd-aAll                          
【查看电池信息】
MegaCli -FwTermLog -Dsply-aALL          
【查看RAID卡日志】

MegaCli-adpCount                                   【显示适配器个数】
MegaCli -AdpGetTime–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


在线查看机器RAID信息

rpm -ivh MegaCli-1.01.09-0.i386.rpm

命令使用:
MegaCli -LDInfo -Lall -aALL 查raid级别
MegaCli -AdpAllInfo -aALL 查raid卡信息  
MegaCli -PDList -aALL 查看硬盘信息
MegaCli -AdpBbuCmd -aAll 查看电池信息
MegaCli -FwTermLog -Dsply -aALL 查看raid卡日志

例如:
[root@jackbillow ~]# MegaCli -LDInfo -Lall -aALL


Adapter 0 -- Virtual Drive Information:
Virtual Disk: 0
Name:
RAID Level: Primary-5, Secondary-0, RAID Level Qualifier-3
Size:557568MB
State: Optimal
Stripe Size: 128kB
Number Of Drives:5
Span Depth:1
Default Cache Policy: WriteBack ReadAheadNone Direct
Current Cache Policy: WriteBack ReadAheadNone Direct
Access Policy: Read/Write
Disk Cache Policy: Disk's Default