查看帮助

MegaCli64 -h

适配卡配置

查看RAID控制器的数量

MegaCli64 -adpCount

查看所有raid卡详细信息

MegaCli64 -AdpAllInfo -aALL

查看 RAID 卡 Rebuild 参数

重建在IO资源使用中的百分比,默认为30%

MegaCli64 -AdpAllinfo -aALL |grep -i rebuild

设置RAID 卡 Rebuild 参数

MegaCli64 -AdpSetProp { RebuildRate -60} -aALL

磁盘配置

查看连接RAID卡的全部硬盘详细信息

MegaCli64 -PDList -aALL    ----其中ALL意思是所有的控制器,此处也可以用0表示

MegaCli64 -PDList -aN   N可以根据Adapter #0来确定

磁盘的信息如下:

磁盘信息过滤

由于磁盘信息较多,所有可以根据自己的需要来过滤得到自己想要的信息

MegaCli64 -PDList -aAll| grep -Ei "(Enclosure Device|Slot Number|Raw Size|Firmware state)"  ---粗过滤

grep是过滤的意思

-E参数是使用扩展正则表达式来过滤

-i参数是不区分大小写来过滤

Enclosure Device过滤出raid卡的ID;Slot Number过滤出磁盘的槽号;RawSize过滤出磁盘的大小;Firmware state过滤出磁盘的状态。

获取指定磁盘信息

MegaCli -pdInfo -PhysDrv[E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL

N表示raid卡编号,0表示第一块raid卡;ALL表示所有的raid卡 ;E和S代表Enclosure Device和Slot Number

磁盘上下线

MegaCli64 -PDOffline/PDOnline -PhysDrv [E:S] -a0

磁盘点灯

MegaCli64 -PDLocate -start -physdrv[58:17] -a0

MegaCli64 -PDLocate -stop -physdrv[58:17] -a0

RAID组基础配置

创建RAID组

MegaCli64 -CfgLdAdd -r(0|1|5) [E:S, E:S, ...] -aN

N表示raid卡编号,0表示第一块raid卡;ALL表示所有的raid卡 ;E和S代表Enclosure Device和Slot Number

下面是一个创建raid5例子,属性为默认       固件状态会由Unconfigured变成Online

下面给出一个创建raid10的例子,并设置属性

删除RAID组

MegaCli64 -CfgLdDel -LX -a0

查看RAID组信息

MegaCli64 -LDInfo -Lall -aALL (创建的示例已经使用过了)

MegaCli64 -LdPdInfo -aALL   -----查看raid信息及raid组成磁盘信息。

RAID Level对应关系:RAID级别一般通过 Primary 字段值来判断

还需要结合Span Depth的值来判断值为1表示为 RAID-1,不为1表示 RAID-10; 还有一种情况:Primary-1, Secondary-3, RAID LevelQualifier-0 也是表示 RAID-10;

RAIDLevel : Primary-0, Secondary-0, RAID Level Qualifier-0    对应RAID 0

RAIDLevel : Primary-1, Secondary-0, RAID Level Qualifier-0    对应RAID 1

RAIDLevel : Primary-5, Secondary-0, RAID Level Qualifier-3    对应RAID 5

RAIDLevel : Primary-1, Secondary-3, RAID Level Qualifier-0    对应RAID 10

修改RAID组属性

MegaCli -LDGetProp -Cache -L0 -a0  获取cache属性

WriteBack:写缓存策略

WriteThrough:直接写入磁盘,不适用RAID卡缓存。

ReadAheadNone:不开启预读

ReadAhead:开启预读,在读操作的时候,预先把后面顺序的数据载入raid卡缓存,在顺序读的环境中能提供很好的性能,但是在随机读的环境中反而降低读的性能(适合文件系统,不适合数据库系统)

ReadAdaptive:自适应预读,在缓存和I/O空闲时选择预读,默认策略。

Direct:读操作不缓存到RAID卡缓存。

Cached:读操作缓存到RAID卡缓存。

如果BBU(电池)出现问题是否启用WriteCache

No Write Cache if Bad BBU:如果BBU出现问题不使用WriteCache,从WriteBack自动切换到WriteThrough,默认配置。

Write Cache OK if Bad BBU: 如果BBU出现问题仍启用WriteCache,这种配置是非常不安全的,除非是有UPS或者双电源的情况下。

缓存策略解释:

WT (WriteThrough)

WB (WriteBack)

NORA (ReadAheadNone)

RA (ReadAhead)

ADRA (ReadAdaptive)

Cached

Direct

修改属性
MegaCli64 -LDSetProp WT -L0 -a0    
MegaCli64 -LDSetProp RA -L0 -a0
MegaCli64 -LDSetProp Cached -L0 -a0

清除RAID配置(慎用)

MegaCli -CfgClr [-Force] -aN|-a0,1,2|-aALL

RAID组扩展配置

1.扩容过程中无法新建RAID组

2.扩容过程中无法对其余RAID组扩容

下面示例一个RAID5扩容:

MegaCli64 -LDRecon -Start -r5 -Add -PhysDrv[58:7, 58:11] -L0 -a0

查看扩容的进度(真的是超级慢)

MegaCli64 -LDRecon -ShowProg -L0 -a0  显示扩容进度

MegaCli64 -LDRecon -progdsply -L0 -a0  动态显示扩容进度

好了,我终于等到1%了

RAID组热备配置

全局热备

MegaCli64 -PDHSP -set -PhysDrv[E:S] -a0     添加全局热备

MegaCli64 -PDHSP -rmv -PhysDrv[E:S] -a0  删除全局热备

添加全局热备后,状态如下:

此时下线成员盘,RAID组进入重构

MegaCli64 -PDRbld -ShowProg -PhysDrv[E:S] -aALL 查看磁盘重构进度

MegaCli64 -PDRbld -ProgDsply -PhysDrv[E:S] -aALL  动态显示重构进度

局部热备

在创建时添加局部热备

MegaCli64 -CfgLdAdd -r1 [58:7,58:11] -Hsp[58:17] -a0

查看RAID组信息:

然后再添加一块全局热备

准备工作完毕!现在下线成员盘,下线之后局部热备替换到成员组

RAID组状态也变为降级

rebuild的时间也很长,但此期间可以创建新的RAID组

等待ing~~~~~~~~~~

此时另一块盘也可以下线,不过下线rebuild就凉凉了……

第二种是创建成功之后,给特定RAID组添加热备盘

MegaCli64 -CfgLdAdd -r5 [58:7,58:11,58:17] -a0

MegaCli64 -CfgLdAdd -r1 [58:19,58:23] -a0

首先创建两个RAID组,然后把热备添加到第二个RAID组里(局部热备可以同时添加到多个RAID组)

局部热备里的Array计算比较麻烦,这里就要用到上面提到的DG,要按DG的排序累加,一直累加到要添加热备的VD(要添加热备的VD也要计算)。
1. 默认设Array为-1。
2. 如果是RAID0,1,5,6,则Array加1。
3. 如果是RAID10,50,则Array加2。
4. 如果是RAID0,1,5,6,则返回Array最后计算的值。
5. 如果是RAID10,50,则返回Array-1,Array。

MegaCli64 -PDHSP -set -Dedicated [-Array1] -PhysDrv[58:18] -a0

常见问题处理

1.     Firmwarestate:Unconfigured(good), Spun down解决方法:

重新热拔插指定硬盘,该状态会变成Firmware state:Unconfigured(good), Spun Up

创建raid后磁盘状态也会由Spun down变成SpunUp

2.     Firmware state: Unconfigured(bad)解决办法:

MegaCli64 -PDMakeGood -PhysDrv[E:S] -a0 固件状态会由Unconfigured(bad)变成Unconfigured(good), Spun Up

# MegaCli64 -PDMakeGood -PhysDrv[252:7] -a0

3.     Firmware state: failed解决办法:

出现failed状态的硬盘大多已损坏,建议更换(或报修);但可以强制上线。

强制上线步骤如下:

可以先将磁盘下线。 # MegaCli64 -PDOffline-PhysDrv[E:S] -a0

然后再上线。        # MegaCli64 -PDOnline -PhysDrv[E:S] -a0

4.     以下状态的解决办法:

Foreign State: Foreign

Foreign Secure: Drive is notsecured by a foreign lock key

办法一:可以清除恢复状态(慎用)

# MegaCli64 -CfgForeign -Clear -a0

办法二:导入配置,恢复虚拟磁盘组

# MegaCli64 -CfgForeign -import -a0

5.     如何定位设备/dev/sd*由哪些磁盘组成并点亮指定硬盘。

udevadm info -q path -n /dev/sda

可以看出设备/dev/sda是raid下的Virtual Drive: 0

然后确定Virtual Drive: 0是由哪些磁盘组成,并点亮磁盘

MegaCli64 -ldpdinfo -a0|grep -Ei "(Virtual Drive:|RAID Level|^Size|Enclosure Device|Slot Number)"

参考:

MegaCli使用手册

MegaCli和storcli设置热备盘

MegaCli 简易使用介绍的更多相关文章

  1. storcli 简易使用介绍

    MegaCli 是LSI公司官方提供的SCSI卡管理工具,由于LSI被收购变成了现在的Broadcom,所以现在想下载MegaCli,需要去Broadcom官网查找Legacy产品支持,搜索MegaR ...

  2. C#利用Attribute实现简易AOP介绍 (转载)

    地址:http://dotnet.9sssd.com/csbase/art/638 http://wayfarer.blog.51cto.com/1300239/279913 http://devel ...

  3. C#利用Attribute实现简易AOP介绍

    首先看一段简单的代码: public partial class Form1 : Form { public Form1() { InitializeComponent(); } //来自UI层的调用 ...

  4. LSI MegaCl i命令使用1

    MegaCli命令使用:cd /opt/MegaRAID/MegaCli/MegaCli -AdpAllInfo -aAll     [显示所有适配器信息]MegaCli -LDInfo -Lall ...

  5. 查看Linux系统下Raid信息

    软件raid:只能通过Linux系统本身来查看 cat /proc/mdstat 可以看到raid级别,状态等信息. 硬件raid: 最佳的办法是通过已安装的raid厂商的管理工具来查看,有cmdli ...

  6. linux查看Raid磁盘阵列信息

    软件raid:只能通过Linux系统本身来查看 cat /proc/mdstat 可以看到raid级别,状态等信息. 硬件raid: 最佳的办法是通过已安装的raid厂商的管理工具来查看,有cmdli ...

  7. Linux下查看Raid磁盘阵列信息的方法

    Linux下查看软.硬raid信息的方法. 软件raid:只能通过Linux系统本身来查看 cat /proc/mdstat 可以看到raid级别,状态等信息. 硬件raid: 最佳的办法是通过已安装 ...

  8. Android GreenDAO 3.0 不修改版本号的情况下增加、删除表、添加字段

    最近项目中使用了GreenDAO的3.0以上的版本,出现需要增加删除表的需求,刚开始用,发现官方对增加和删除的方法是每次去修改数据库版本号,版本一旦升级,那么原来数据库中的表会全部删除再重建.太麻烦, ...

  9. contos7 使用zabbix监控物理磁盘状态实例

    一.系统环境: 物理机:dell R640 操作系统:centos7 二.安装MegaCli 监控主要是通过MegaCli 软件获取到物理主机的read及硬盘相关状态信息.然后通过zabbix的自定义 ...

随机推荐

  1. OpenStack-Neutron-VPNaaS-API

    1 命令 1.1 IKE策略 vpn-ikepolicy-create Create an IKEPolicy vpn-ikepolicy-delete Delete a given IKE Poli ...

  2. visio studio删除空行

    一.Ctrl+H 打开替换框 二.在替换框中的源中输入 ^(?([^\r\n])\s)*\r?$\r?\n

  3. DataCommand和DataAdapter

    SqlDataReader 高效,功能弱,只读访问SqlDataAdapter 强大,要求资源也大一点 SqlDataReader 只能在保持跟数据库连接的状态下才可以读取... SqlDataAda ...

  4. Flask最强攻略 - 跟DragonFire学Flask - 第十六篇 Flask-Migrate

    终于到了Flask-Migrate,之前在学习Flask-SQLAlchemy的时候,有的同学就提过类似的问题,Flask支持 makemigration / migrate 吗? 答案在这里该诉你, ...

  5. shell中wait命令详解

    wait命令介绍 wait [作业指示或进程号] 1.等待作业号或者进程号制定的进程退出,返回最后一个作业或进程的退出状态状态.如果没有制定参数,则等待所有子进程的退出,其退出状态为0. 2.如果是s ...

  6. linux中make的有关规则的特性

    我过去认为 makefile 只是一种将一组组的 shell 命令列出来的简便方法:过了一段时间我了解到它们是有多么的强大.灵活以及功能齐全.这篇文章带你领略其中一些有关规则的特性. 规则 规则是指示 ...

  7. HTTPS通信原理

      https的实现原理https用到了多种加密算法来实现通信安全,其中两种基本的加解密算法类型解释如下:(1)对称加密:密钥只有一个,加密解密为同一个密码,且加解密速度快,典型的对称加密算法有DES ...

  8. map的实际操作用并for_each遍历

    #include<iostream> #include<map> #include<algorithm> #include<string> using ...

  9. JavaScript eval

    JavaScript  eval JavaScript中的eval是Python中eval和exec的合集,既可以编译代码也可以获取返回值. // EvalError 执行字符串中的JavaScrip ...

  10. POJ1141 Brackets Sequence---区间DP+输出路径

    题目意思就是输入一串括号,让你找到最小的补偿数目使括号串合法,并且输出补全后的串. 基本是区间DP的模板题,该题特别让你输出补全后的答案.这和区间dp的反向思路很像,就是把一个大的区间划分为多个互不干 ...