wlzxwfk 发表于 2018-8-26 08:30:46

查看服务器RAID卡信息的SHELL脚本及MegaCLI命令介绍

  目前维护的dDell服务器,大多使用的都是LSI的MegaRAID卡。
  查看系统使用的什么RAID卡,可以使用以下命令:
# dmesg |grep -i raid  
# cat /proc/scsi/scsi
  
# lspci
  MegaRAID卡,可以通过官方提供的工具MegaCli来进行检查和控制。
  下面是自动检查服务器RAID信息的SHELL脚本:
#!/bin/sh  
Hostname=`/bin/hostname`
  
Hostip=`ifconfig eth0|grep 'inet addr'|sed 's/.*addr:\(.*\) Bcast.*/\1/'`
  

  
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-e "HostIp            : $Hostip\n"
  
echo "===================== RaidInformation ====================="
  
#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 "TotalDiak Number:$Disknum"
  
echo "Online Disk Number:$Onlinedisk"
  
echo"Failed Disk Number:$Faileddisk"
  脚本运行结果:
===================== Host Information =====================  
HostName          : vps.cszhi.com
  
HostIp               : 199.15.166.*
  

  
===================== RaidInformation =====================
  
Raid Level      :Raid 5
  
Charger Status: Complete
  
Charger Status: Complete
  
TotalDiak Number:9
  
Online Disk Number:0
  
Failed Disk Number:0
  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
  磁盘各个状态说明:
A physical disk drive property indicating the status of the drive. A physical disk drive can be in one of  
the following states:
  

  
>Unconfigured Good
  
A disk accessible to the RAID controller but not configured as a part of a virtual disk or as a hotspare.
  
>Online
  
A physical disk can be accessed by the RAID controller and is part of the virtual disk.
  
>rebuild
  
A physical disk to which data is being written to restore full redundancy for a virtual disk.
  
>failed
  
A physical disk that was originally configured as Online but on which the firmware detects an unrecoverable error.
  
>Unconfigured bad
  
A physical disk on which the firmware detects an unrecoverable error; the physical disk was Unconfigured Good or the physical disk could not be initialized.
  
Disks with a status of "Unconfigured bad" cannot be used for RAID configurations.
  
>Missing
  
A physical disk that was Online, but which has been removed from its location.
  
>offline
  
The drive is offline or absent. No actions can be performed on the drive until it is back online.
  
>Global hotspare
  
The drive will be used to repair any array in the system that had a drive failure, if the failed drive is equal to, or smaller than the hot spare drive.
  
>Ready
  
The drive is online and operating correctly.
  
>Foreign
  
The drive is part of an array created on a different controller, or created within one enclosure and moved to another on the same controller. It can be used to create a new array after clearing configuration.
  
>None
  
A physical disk with the unsupported flag set. An Unconfigured Good or Offline physical disk that has completed the prepare for removal operation.
  
>copyback
  
A bad physical disk replaced by a good one, then hotspare will copyback data to the good one and change back to hotspare
  命令使用:
  #/opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -Lall -aALL 查raid级别
  #/opt/MegaRAID/MegaCli/MegaCli64 -AdpAllInfo -aALL 查raid卡信息
  #/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL 查看硬盘信息
  #/opt/MegaRAID/MegaCli/MegaCli64 -AdpBbuCmd -aAll 查看电池信息
  #/opt/MegaRAID/MegaCli/MegaCli64 -FwTermLog -Dsply -aALL 查看raid卡日志
  #/opt/MegaRAID/MegaCli/MegaCli64 -adpCount 【显示适配器个数】
  #/opt/MegaRAID/MegaCli/MegaCli64 -AdpGetTime –aALL 【显示适配器时间】
  #/opt/MegaRAID/MegaCli/MegaCli64 -AdpAllInfo -aAll 【显示所有适配器信息】
  #/opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -LALL -aAll 【显示所有逻辑磁盘组信息】
  #/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aAll 【显示所有的物理信息】
  #/opt/MegaRAID/MegaCli/MegaCli64 -AdpBbuCmd -GetBbuStatus -aALL |grep ‘Charger Status’ 【查看充电状态】
  #/opt/MegaRAID/MegaCli/MegaCli64 -AdpBbuCmd -GetBbuStatus -aALL【显示BBU状态信息】
  #/opt/MegaRAID/MegaCli/MegaCli64 -AdpBbuCmd -GetBbuCapacityInfo -aALL【显示BBU容量信息】
  #/opt/MegaRAID/MegaCli/MegaCli64 -AdpBbuCmd -GetBbuDesignInfo -aALL 【显示BBU设计参数】
  #/opt/MegaRAID/MegaCli/MegaCli64 -AdpBbuCmd -GetBbuProperties -aALL 【显示当前BBU属性】
  #/opt/MegaRAID/MegaCli/MegaCli64 -cfgdsply -aALL 【显示Raid卡型号,Raid设置,Disk相关信息】
  3.磁带状态的变化,从拔盘,到插盘的过程中。
  Device |Normal|Damage|Rebuild|Normal
  Virtual Drive |Optimal|Degraded|Degraded|Optimal
  Physical Drive |Online|Failed –> Unconfigured|Rebuild|Online
  4.查看磁盘缓存策略
  #/opt/MegaRAID/MegaCli/MegaCli64 -LDGetProp -Cache -L0 -a0
  or
  #/opt/MegaRAID/MegaCli/MegaCli64 -LDGetProp -Cache -L1 -a0
  or
  #/opt/MegaRAID/MegaCli/MegaCli64 -LDGetProp -Cache -LALL -a0
  ro
  #/opt/MegaRAID/MegaCli/MegaCli64 -LDGetProp -Cache -LALL -aALL
  ro
  #/opt/MegaRAID/MegaCli/MegaCli64 -LDGetProp -DskCache -LALL -aALL
  5.设置磁盘缓存策略
  缓存策略解释:
WT (Write through  
WB (Write back)
  
NORA (No read ahead)
  
RA (Read ahead)
  
ADRA (Adaptive read ahead)
  
Cached
  
Direct
  例子:
  #/opt/MegaRAID/MegaCli/MegaCli64 -LDSetProp WT|WB|NORA|RA|ADRA -L0 -a0
  or
  #/opt/MegaRAID/MegaCli/MegaCli64 -LDSetProp -Cached|-Direct -L0 -a0
  or
  enable / disable disk cache
  #/opt/MegaRAID/MegaCli/MegaCli64 -LDSetProp -EnDskCache|-DisDskCache -L0 -a0
  6.创建一个 raid5 阵列,由物理盘 2,3,4 构成,该阵列的热备盘是物理盘 5
  #/opt/MegaRAID/MegaCli/MegaCli64 -CfgLdAdd -r5 WB Direct -Hsp -a0
  7.创建阵列,不指定热备
  #/opt/MegaRAID/MegaCli/MegaCli64 -CfgLdAdd -r5 WB Direct -a0
  8.删除阵列
  #/opt/MegaRAID/MegaCli/MegaCli64 -CfgLdDel -L1 -a0
  9.在线添加磁盘
  #/opt/MegaRAID/MegaCli/MegaCli64 -LDRecon -Start -r5 -Add -PhysDrv -L1 -a0
  10.阵列创建完后,会有一个初始化同步块的过程,可以看看其进度。
  #/opt/MegaRAID/MegaCli/MegaCli64 -LDInit -ShowProg -LALL -aALL
  或者以动态可视化文字界面显示
  #/opt/MegaRAID/MegaCli/MegaCli64 -LDInit -ProgDsply -LALL -aALL
  11.查看阵列后台初始化进度
  #/opt/MegaRAID/MegaCli/MegaCli64 -LDBI -ShowProg -LALL -aALL
  或者以动态可视化文字界面显示
  #/opt/MegaRAID/MegaCli/MegaCli64 -LDBI -ProgDsply -LALL -aALL
  12.指定第 5 块盘作为全局热备
  #/opt/MegaRAID/MegaCli/MegaCli64 -PDHSP -Set [-EnclAffinity] [-nonRevertible] -PhysDrv -a0
  13.指定为某个阵列的专用热备
  #/opt/MegaRAID/MegaCli/MegaCli64 -PDHSP -Set [-Dedicated [-Array1]] [-EnclAffinity] [-nonRevertible] -PhysDrv -a0
  14.删除全局热备
  #/opt/MegaRAID/MegaCli/MegaCli64 -PDHSP -Rmv -PhysDrv -a0
  15.将某块物理盘下线/上线
  #/opt/MegaRAID/MegaCli/MegaCli64 -PDOffline -PhysDrv -a0
  #/opt/MegaRAID/MegaCli/MegaCli64 -PDOnline -PhysDrv -a0
  16.查看物理磁盘重建进度
  #/opt/MegaRAID/MegaCli/MegaCli64 -PDRbld -ShowProg -PhysDrv -a0
  或者以动态可视化文字界面显示
  #/opt/MegaRAID/MegaCli/MegaCli64 -PDRbld -ProgDsply -PhysDrv -a0
  磁带状态的变化,从拔盘,到插盘的过程中:
  Device |Normal|Damage|Rebuild|Normal
  Virtual Drive |Optimal|Degraded|Degraded|Optimal
  Physical Drive |Online|Failed –> Unconfigured|Rebuild|Online
  除非注明,文章皆由( csz )原创,转载请标明本文地址
  本文地址: http://www.cszhi.com/20120415/megacli.html


页: [1]
查看完整版本: 查看服务器RAID卡信息的SHELL脚本及MegaCLI命令介绍