MegaCli
MegaCli 简介
MegaCli 是一款管理维护硬件 RAID 软件,可以通过它来了解当前 raid 卡的所有信息,包括 raid 卡的型号,raid 的阵列类型,raid 上各磁盘状态等等。通常,我们对硬盘当前的状态不太好确定,一般通过机房人员巡检来完成,而 MegaCli 可以轻松通过远程完成硬盘类巡检。
安装
wget https://docs.broadcom.com/docs-and-downloads/raid-controllers/raid-controllers-common-files/8-07-14_MegaCLI.zip
uzip 8-07-14_MegaCLI.zip
dnf localinstall -y MegaCli-8.07.14-1.noarch.rpm
# wget http://mirror.cogentco.com/pub/misc/MegaCli-8.07.14-1.noarch.rpm
# dnf localinstall -y MegaCli-8.07.14-1.noarch.rpm
额外安装软件包
安装完毕之后 MegaCli64 所在路径为/opt/MegaRAID/MegaCli/ MegaCli64
,在此路径下可以运行 MegaCli64 工具,切换到其它路径下则不能执行,此时为了使用方便,可以考虑将 /opt/MegaRAID/MegaCli/MegaCli64
追加到系统 PATH 变量
常用查看命令
查看 RAID 卡状态
查 raid 卡信息 (可以查看 raid 卡时间,raid 卡时间和系统时间可能不一致,raid 卡日志用的是 raid 卡时间)
查看 raid 卡日志
显示 Raid 卡型号,Raid 设置,Disk 相关信息
查看 Controller 信息
显示适配器个数
显示所有适配器信息
显示适配器时间
查看 BBU 信息
查看电池信息
查看充电状态
查看 BBU 状态信息
显示 BBU 容量信息
显示 BBU 设计参数
显示当前 BBU 属性
当前 raid 缓存状态,raid 缓存状态设置为 wb 的话要注意电池放电事宜,设置电池放电模式为自动学习模式
设置电池为学习模式为循环模式
查看硬盘信息
查看硬盘信息 (查看磁盘有无坏道:Media Error Count )
一般通过 MegaCli 巡检到的 Media Error Count: 0 Other Error Count: 0 这两个数值来确定阵列中磁盘是否有问题
-
Medai Error Count 表示磁盘可能错误,可能是磁盘有坏道,这个值不为 0 值得注意,数值越大,危险系数越高
-
Other Error Count 表示磁盘可能存在松动,可能需要重新再插入
Megacli 查看硬盘状态,盘笼 ID,slot 以及是否是热备盘:
让硬盘 LED 灯闪烁
查看 RAID 信息
查 raid 级别、显示所有逻辑磁盘组信息
查看虚拟磁盘信息
扫描外来配置&清除
查看和设置磁盘缓存策略
查看磁盘缓存策略
# 显示 0 RAID 卡 0 RAID 组的缓存策略
MegaCli64 -LDGetProp -Cache -L0 -a0
# 显示 1 RAID 卡 0 RAID 组的缓存策略
MegaCli64 -LDGetProp -Cache -L1 -a0
# 显示所有 RAID 卡 0 RAID 组的缓存策略
MegaCli64 -LDGetProp -Cache -LALL -a0
# 显示所有 RAID 卡 所有 RAID 组的缓存策略
MegaCli64 -LDGetProp -Cache -LALL -aALL
MegaCli64 -LDGetProp -DskCache -LALL -aALL
设置磁盘的缓存模式和访问方式 (Change Virtual Disk Cache and Access Parameters)
缓存策略解释:
- WT (Write through) ,即直写,表示将数据写入硬盘时,不经过阵列卡缓存直接写入,是默认策略
- WB (Write back),即回写,表示数据写入硬盘时,先写入阵列卡缓存,当缓存写满时再写入硬盘;使用回写策略既能提高逻辑盘写入性能,也能增加磁盘寿命。使用回写策略,数据可能会留在缓存,在服务器断电且阵列卡没有电池时会导致数据丢失
- NORA (No Read Ahead),即不预读
- RA (Read Ahead),即强制预读,在进行读取操作时,预先把后面顺序的数据载入阵列卡卡缓存,这样能在顺序读写环境提供很好的性能,但是在随机读的环境中反而降低读取性能,它适合文件系统,而不适合数据库系统
- ADRA (Adaptive Read Ahead),即自适应预读,在缓存和I/O空闲时进行预读,是默认策略
- C (Cached),表示读取操作先缓存到阵列卡,这有利于数据的再次快速读取
- D (Direct),表示读取操作不缓存到阵列卡缓存,是默认策略
示例
MegaCli64 -LDSetProp WT|WB|NORA|RA|ADRA -L0 -a0
MegaCli64 -LDSetProp -Cached|-Direct -L0 -a0
# enable / disable disk cache
MegaCli64 -LDSetProp -EnDskCache|-DisDskCache -L0 -a0
阵列管理
指定硬盘的位置时,[Enclosure Device ID: Slot Number]
特殊情况:
此时使用 ?
替换 Enclosure Device ID
创建阵列
创建阵列,不指定热备
创建一个 raid5 阵列,指定阵列的热备盘是物理盘 4
创建一个 raid10 阵列,由物理盘 1,2 和 3,4 分别做 raid1,再将两组 raid1 做 raid0
删除阵列
在线添加磁盘
全局热备
指定第 5 块盘作为全局热备
指定第 5 块盘为某个阵列的专用热备
删除全局热备
某块物理盘下线/上线
将某块物理盘下线
将某块物理盘上线
查看物理磁盘重建进度
部分硬盘切换直通
初始化
快速初始化
完全初始化
查看创建进度
初始化同步块的过程,可以看看其进度
查看阵列后台初始化进度
RIAD 一致性检查
# 禁用一致性检查
MegaCli64 -AdpCcSched -Dsbl -Aall
# 启用一致性检查
MegaCli64 -AdpCcSched -ModeConc -Aall
# 查看一直性检查 信息
MegaCli64 -AdpCcSched -info -Aall
flush raid cache
其他
Direct PD Mapping
查询 DirectPDmapping 状态
设置 DirectPDmapping 为关闭状态
无法初始化排查
The specified physical disk does not have the appropriate attributes to complete the requested command.