Medai Error Count 表示磁盘可能错误,可能是磁盘有坏道,这个值不为0值得注意,数值越大,危险系数越高;
Other Error Count 表示磁盘可能存在松动,可能需要重新再插入;

    关于MegaCLI的详细文档,请参考http://www.ttlsa.com/tools/megacli-tool-query-raid-status/

发现脚本

#!/bin/bash
###raid_id_discover.sh
###wuhf###
num=0
RAID_stats() {
DISK=($(sudo /usr/local/MegaCli/MegaCli64 -pdlist -aALL | grep "Slot Number" | awk -F":" '{print $2}'))
printf '{\n\t"data":[\n'
for key in ${DISK[@]};do
        if [[ "${#DISK[@]}" -gt "$num" && "$num" -ne "$((${#DISK[@]}-1))" ]];then
        printf "\t\t{\"{#RAID_ID}\":\"$key\"},\n"
        let "num++"
        elif [[ "$((${#DISK[@]}-1))" -eq "$num" ]];then
        printf "\t\t{\"{#RAID_ID}\":\"$key\"}\n"
        fi
done
printf '\t]\n}\n'
}
RAID_stats
#raid.conf
UserParameter=raid_discover,bash /usr/local/zabbix/libexec/raid_id_discover.sh
UserParameter=raid_degraded,sudo /usr/local/MegaCli/MegaCli64 -AdpAllInfo -aALL -NoLog | grep "Degraded" |awk '{print $NF}'
UserParameter=raid_failed_disks,sudo /usr/local/MegaCli/MegaCli64 -AdpAllInfo -aALL -NoLog | grep "Failed Disks" |awk '{print $NF}'
UserParameter=raid_MEC[*],sudo /usr/local/MegaCli/MegaCli64 -PDList -aAll -NoLog | grep -A 8 "Slot Number: $1" | grep "Media Error Count" | awk '{print $NF}'
UserParameter=raid_OEC[*],sudo /usr/local/MegaCli/MegaCli64 -PDList -aAll -NoLog | grep -A 8 "Slot Number: $1" | grep "Other Error Count" | awk '{print $NF}'
chmod 755 /usr/local/zabbix/libexec/raid_id_discover.sh
chown zabbix.zabbix /usr/local/zabbix/libexec/raid_id_discover.sh
chown zabbix.zabbix /usr/local/zabbix/etc/zabbix_agentd.conf.d/raid.conf
echo "zabbix ALL=(root) NOPASSWD:ALL" >> /etc/sudoers
sed -i 's/^Defaults.*.requiretty/#Defaults    requiretty/'  /etc/sudoers

Megacli命令的使用总结

https://www.jianshu.com/p/dcfd4bfba207

由于本人是从事IDC运维工作,需要经常和服务器打交道。接触过IDC的朋友,一定会使用过ipmitool和megacli这两款硬件维护工具,俗称业内“倚天剑”和“屠龙刀”,今天这篇文件就简单介绍一下Megacli阵列卡管理工具。

作者:妞儿是只猫
链接:https://www.jianshu.com/p/dcfd4bfba207
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

转载自:http://home.51.com/chenjianghui1987/diary/item/10051836.html
文章本身我不做过多修改了,在这里我就把自己在安装时候碰到的难点跟大家提下。
1.何处下载?
首先,根据文章中的路径已经下载不到相应的文件了,在此我们就自己到http://www.lsi.com的网站上去搜,尝试了各种组合
最后终于用linux_cli.zip在搜索栏中搜索出相应结果,找到linux版本,下载即可。
为了安全起见我还将文件上传至下载空间,以备不时之需。
http://down.51cto.com/data/342011
2.如何使用?
安装完后的文件依然存放在/opt目录下,但是内部多了几层目录。
/opt/MegaRAID/MegaCli/MegaCli64 后跟着相应的参数即可。

megacli功能还是非常强大的。在想获得更多raid信息及硬盘细节问题等细节上,得到了更多底层的数据
Linux操作系统下使用MegaCli工具查看Raid磁盘阵列状态

新版本的MegaCli-1.01.24-0.i386.rpm会把程序安装在/opt下,可以自定义安装目录,例如:rpm –relocate /opt/=/usr/sbin/ -i MegaCli-1.01.24-0.i386.rpm 即把安装目录 /opt 替换成 /usr/sbin。下载地址:http://www.lsi.com/support/downloads/megaraid/miscellaneous/linux/Linux_MegaCLI_1.01.24.zip 我这里介绍安装在/opt下。
1. 首先介绍下Linux系统本身查看
软件raid:查看raid级别,状态等信息
#cat /proc/mdstat
硬件raid:查看raid的厂商,型号,级别
#dmesg | grep -i raid
#cat /proc/scsi/scsi
2.硬件raid最佳的办法是通过已安装的raid厂商的管理工具来查看,下面安装MegaCLI工具查看
首先下载MegaCli,解压缩。#rpm -ivh MegaCli-1.01.24-0.i386.rpm  安装在/opt下,所以执行命令都是/opt/MegaCli 哦。
命令使用:
#/opt/MegaCli  -LDInfo -Lall -aALL 查raid级别
#/opt/MegaCli -AdpAllInfo -aALL 查raid卡信息
#/opt/MegaCli -PDList -aALL 查看硬盘信息
#/opt/MegaCli -AdpBbuCmd -aAll 查看电池信息
#/opt/MegaCli -FwTermLog -Dsply -aALL 查看raid卡日志
#/opt/MegaCli -adpCount 【显示适配器个数】
#/opt/MegaCli -AdpGetTime –aALL 【显示适配器时间】
#/opt/MegaCli -AdpAllInfo -aAll    【显示所有适配器信息】
#/opt/MegaCli -LDInfo -LALL -aAll    【显示所有逻辑磁盘组信息】
#/opt/MegaCli -PDList -aAll    【显示所有的物理信息】
#/opt/MegaCli -AdpBbuCmd -GetBbuStatus -aALL |grep ‘Charger Status’ 【查看充电状态】
#/opt/MegaCli -AdpBbuCmd -GetBbuStatus -aALL【显示BBU状态信息】
#/opt/MegaCli -AdpBbuCmd -GetBbuCapacityInfo -aALL【显示BBU容量信息】
#/opt/MegaCli -AdpBbuCmd -GetBbuDesignInfo -aALL    【显示BBU设计参数】
#/opt/MegaCli -AdpBbuCmd -GetBbuProperties -aALL    【显示当前BBU属性】
#/opt/MegaCli -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/MegaCli -LDGetProp -Cache -L0 -a0
or
#/opt/MegaCli -LDGetProp -Cache -L1 -a0
or
#/opt/MegaCli -LDGetProp -Cache -LALL -a0
ro
#/opt/MegaCli -LDGetProp -Cache -LALL -aALL
ro
#/opt/MegaCli -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/MegaCli -LDSetProp WT|WB|NORA|RA|ADRA -L0 -a0
or
#/opt/MegaCli -LDSetProp -Cached|-Direct -L0 -a0
or
enable / disable disk cache
#/opt/MegaCli -LDSetProp -EnDskCache|-DisDskCache -L0 -a0
6.创建一个 raid5 阵列,由物理盘 2,3,4 构成,该阵列的热备盘是物理盘 5
#/opt/MegaCli -CfgLdAdd -r5 [1:2,1:3,1:4] WB Direct -Hsp[1:5] -a0
7.创建阵列,不指定热备
#/opt/MegaCli -CfgLdAdd -r5 [1:2,1:3,1:4] WB Direct -a0
8.删除阵列
#/opt/MegaCli -CfgLdDel -L1 -a0
9.在线添加磁盘
#/opt/MegaCli -LDRecon -Start -r5 -Add -PhysDrv[1:4] -L1 -a0
10.阵列创建完后,会有一个初始化同步块的过程,可以看看其进度。
#/opt/MegaCli -LDInit -ShowProg -LALL -aALL
或者以动态可视化文字界面显示
#/opt/MegaCli -LDInit -ProgDsply -LALL -aALL
11.查看阵列后台初始化进度
#/opt/MegaCli -LDBI -ShowProg -LALL -aALL
或者以动态可视化文字界面显示
#/opt/MegaCli -LDBI -ProgDsply -LALL -aALL
12.指定第 5 块盘作为全局热备
#/opt/MegaCli -PDHSP -Set [-EnclAffinity] [-nonRevertible] -PhysDrv[1:5] -a0
13.指定为某个阵列的专用热备
#/opt/MegaCli -PDHSP -Set [-Dedicated [-Array1]] [-EnclAffinity] [-nonRevertible] -PhysDrv[1:5] -a0
14.删除全局热备
#/opt/MegaCli -PDHSP -Rmv -PhysDrv[1:5] -a0
15.将某块物理盘下线/上线
#/opt/MegaCli -PDOffline -PhysDrv [1:4] -a0

发表评论

邮箱地址不会被公开。 必填项已用*标注