MegaCli是一款管理维护硬件RAID软件,可以通过它来了解当前raid卡的所有信息,包括 raid卡的型号,raid的阵列类型,raid 上各磁盘状态,等等。通常,我们对硬盘当前的状态不太好确定,一般通过机房人员巡检来完成,有没有通过软件的方式来检查确定这个问题呢。MegaCli就可以做到,一般通过 MegaCli 的Media Error Count: 0 Other Error Count: 0 这两个数值来确定阵列中磁盘是否有问题;Medai Error Count 表示磁盘可能错误,可能是磁盘有坏道,这个值不为0值得注意,数值越大,危险系数越高,Other Error Count 表示磁盘可能存在松动,可能需要重新再插入。MegaCli 可以对阵列中所有的磁盘进行检测,我们可以通过脚本的方式来检测相关参数,从而通知管理人员。
一、 下载MegCli,目前针对公司DB数据库是IBM的服务器,直接从IBM官方下载,如果
其它服务器的,使用各官方下载或者 LSI网站上进行相关下载。一般来说,是通用的。这个包适用32 /64位操作系统平台
下载地址:ftp://download2.boulder.ibm.com/ … .48_linux_32-64.zip
二、 安装
wget http://os.xensystem.net/Templates/download/megaraid/megaraid.zip
unzip megaraid.zip
rpm -ivh Lib_Utils-1.00-08.noarch.rpm MegaCli-8.00.46-1.i386.rpm
三、使用命令及参数
/opt/MegaRAID/MegaCli/MegaCli -LDInfo -Lall -aALL 查raid级别
/opt/MegaRAID/MegaCli/MegaCli -AdpAllInfo -aALL 查raid卡信息
/opt/MegaRAID/MegaCli/MegaCli -PDList -aALL 查看硬盘信息
/opt/MegaRAID/MegaCli/MegaCli -AdpBbuCmd -aAll 查看电池信息
/opt/MegaRAID/MegaCli/MegaCli -FwTermLog -Dsply -aALL 查看raid卡日志
/opt/MegaRAID/MegaCli/MegaCli -adpCount 【显示适配器个数】
/opt/MegaRAID/MegaCli/MegaCli -AdpGetTime –aALL 【显示适配器时间】
/opt/MegaRAID/MegaCli/MegaCli -AdpAllInfo -aAll 【显示所有适配器信息】
/opt/MegaRAID/MegaCli/MegaCli -LDInfo -LALL -aAll 【显示所有逻辑磁盘组信息】
/opt/MegaRAID/MegaCli/MegaCli -PDList -aAll 【显示所有的物理信息】
/opt/MegaRAID/MegaCli/MegaCli -AdpBbuCmd -GetBbuStatus -aALL |grep ‘Charger Status’ 【查看充电状态】
/opt/MegaRAID/MegaCli/MegaCli -AdpBbuCmd -GetBbuStatus -aALL 【显示BBU状态信息】
/opt/MegaRAID/MegaCli/MegaCli -AdpBbuCmd -GetBbuCapacityInfo -aALL 【显示BBU容量信息】
/opt/MegaRAID/MegaCli/MegaCli -AdpBbuCmd -GetBbuDesignInfo -aALL 【显示BBU设计参数】
/opt/MegaRAID/MegaCli/MegaCli -AdpBbuCmd -GetBbuProperties -aALL 【显示当前BBU属性】
/opt/MegaRAID/MegaCli/MegaCli -cfgdsply -aALL 【显示Raid卡型号,Raid设置,Disk相关信息】
查看磁盘缓存策略
/opt/MegaRAID/MegaCli/MegaCli -LDGetProp -Cache -L0 -a0
or
/opt/MegaRAID/MegaCli/MegaCli -LDGetProp -Cache -L1 -a0
or
/opt/MegaRAID/MegaCli/MegaCli -LDGetProp -Cache -LALL -a0
ro
/opt/MegaRAID/MegaCli/MegaCli -LDGetProp -Cache -LALL -aALL
ro
/opt/MegaRAID/MegaCli/MegaCli -LDGetProp -DskCache -LALL -aALL
设置磁盘缓存策略
缓存策略解释:
WT (Write through
WB (Write back)
NORA (No read ahead)
RA (Read ahead)
ADRA (Adaptive read ahead)
Cached
Direct
例子:
/opt/MegaRAID/MegaCli/MegaCli -LDSetProp WT|WB|NORA|RA|ADRA -L0 -a0
or
/opt/MegaRAID/MegaCli/MegaCli -LDSetProp -Cached|-Direct -L0 -a0
or
enable / disable disk cache
/opt/MegaRAID/MegaCli/MegaCli -LDSetProp -EnDskCache|-DisDskCache -L0 -a0
磁带状态的变化,从拔盘,到插盘的过程中。
Device |Normal|Damage|Rebuild|Normal
Virtual Drive |Optimal|Degraded|Degraded|Optimal
Physical Drive |Online|Failed –> Unconfigured|Rebuild|Online
创建一个 raid5 阵列,由物理盘 2,3,4 构成,该阵列的热备盘是物理盘 5
/opt/MegaRAID/MegaCli/MegaCli -CfgLdAdd -r5 [1:2,1:3,1:4] WB Direct -Hsp[1:5] -a0
创建阵列,不指定热备
/opt/MegaRAID/MegaCli/MegaCli -CfgLdAdd -r5 [1:2,1:3,1:4] WB Direct -a0
删除阵列
/opt/MegaRAID/MegaCli/MegaCli -CfgLdDel -L1 -a0
在线添加磁盘
/opt/MegaRAID/MegaCli/MegaCli -LDRecon -Start -r5 -Add -PhysDrv[1:4] -L1 -a0
阵列创建完后,会有一个初始化同步块的过程,可以看看其进度。
/opt/MegaRAID/MegaCli/MegaCli -LDInit -ShowProg -LALL -aALL
或者以动态可视化文字界面显示
/opt/MegaRAID/MegaCli/MegaCli -LDInit -ProgDsply -LALL -aALL
查看阵列后台初始化进度
/opt/MegaRAID/MegaCli/MegaCli -LDBI -ShowProg -LALL -aALL
或者以动态可视化文字界面显示
/opt/MegaRAID/MegaCli/MegaCli -LDBI -ProgDsply -LALL -aALL
指定第 5 块盘作为全局热备
/opt/MegaRAID/MegaCli/MegaCli -PDHSP -Set [-EnclAffinity] [-nonRevertible] -PhysDrv[1:5] -a0
指定为某个阵列的专用热备
/opt/MegaRAID/MegaCli/MegaCli -PDHSP -Set [-Dedicated [-Array1]] [-EnclAffinity] [-nonRevertible] -PhysDrv[1:5] -a0
删除全局热备
/opt/MegaRAID/MegaCli/MegaCli -PDHSP -Rmv -PhysDrv[1:5] -a0
将某块物理盘下线/上线
/opt/MegaRAID/MegaCli/MegaCli -PDOffline -PhysDrv [1:4] -a0
/opt/MegaRAID/MegaCli/MegaCli -PDOnline -PhysDrv [1:4] -a0
查看物理磁盘重建进度
/opt/MegaRAID/MegaCli/MegaCli -PDRbld -ShowProg -PhysDrv [1:5] -a0
或者以动态可视化文字界面显示
/opt/MegaRAID/MegaCli/MegaCli -PDRbld -ProgDsply -PhysDrv [1:5] -a0