cszer

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

分类: 技术, Linux 运维, shell   标签:    评论: 0   阅读:11,092 views

目前维护的dDell服务器,大多使用的都是LSI的MegaRAID卡。

查看系统使用的什么RAID卡,可以使用以下命令:

# dmesg |grep -i raid
# cat /proc/scsi/scsi
# lspci

MegaRAID卡,可以通过官方提供的工具MegaCli来进行检查和控制。

下面是自动检查服务器RAID信息的SHELL脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/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 "===================== 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"

脚本运行结果:

===================== Host Information =====================
HostName          : vps.cszhi.com
HostIp                 : 199.15.166.*

===================== Raid  Information =====================
Raid Level        :Raid 5
Charger Status: Complete
Charger Status: Complete
Total  Diak 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 [1:2,1:3,1:4] WB Direct -Hsp[1:5] -a0

7.创建阵列,不指定热备
#/opt/MegaRAID/MegaCli/MegaCli64 -CfgLdAdd -r5 [1:2,1:3,1:4] WB Direct -a0

8.删除阵列
#/opt/MegaRAID/MegaCli/MegaCli64 -CfgLdDel -L1 -a0

9.在线添加磁盘
#/opt/MegaRAID/MegaCli/MegaCli64 -LDRecon -Start -r5 -Add -PhysDrv[1:4] -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[1:5] -a0

13.指定为某个阵列的专用热备
#/opt/MegaRAID/MegaCli/MegaCli64 -PDHSP -Set [-Dedicated [-Array1]] [-EnclAffinity] [-nonRevertible] -PhysDrv[1:5] -a0

14.删除全局热备
#/opt/MegaRAID/MegaCli/MegaCli64 -PDHSP -Rmv -PhysDrv[1:5] -a0

15.将某块物理盘下线/上线
#/opt/MegaRAID/MegaCli/MegaCli64 -PDOffline -PhysDrv [1:4] -a0
#/opt/MegaRAID/MegaCli/MegaCli64 -PDOnline -PhysDrv [1:4] -a0

16.查看物理磁盘重建进度
#/opt/MegaRAID/MegaCli/MegaCli64 -PDRbld -ShowProg -PhysDrv [1:5] -a0
或者以动态可视化文字界面显示
#/opt/MegaRAID/MegaCli/MegaCli64 -PDRbld -ProgDsply -PhysDrv [1:5] -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

04-15
2012

发表评论