查看服务器raid卡信息的shell脚本

发布时间:2020-10-27编辑:脚本学堂
分享一个shell脚本,可用于查看服务器的raid卡信息,有需要的朋友作个参考。

本节分享的这个shell脚本,用于自动检查服务器RAID信息。

代码:
 

复制代码 代码示例:

#!/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