目前维护的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 "===================== 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 �CaALL 【显示适配器时间】 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 �C> 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 �CaALL 【显示适配器时间】
#/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 �C> 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 �C> Unconfigured|Rebuild|Online
除非注明,文章皆由( csz )原创,转载请标明本文地址
本文地址: http://www.cszhi.com/20120415/megacli.html