目前维护的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
(责任编辑:IT) |