MegaCli常见命令_megacli 将硬盘设置为正常状态

145 阅读8分钟
MegaCli -PDMakeGood -PhysDrv[E0:S0]  –a0磁盘的状态由FAULTY变成CONF

二    磁盘上线 MegaCli -PDOnline  -PhysDrv[E0:S0,E1:S1,...]  –a0

磁盘下线 MegaCli -PDOffline  -PhysDrv[E0:S0,E1:S1,...]    –a0 (failed状态的盘可以下线),然后用MegaCli -pdmarkmissing -physdrv[E0:S0]  -a0让磁盘踢盘,让其他的UNCONF状态的磁盘来替代这个盘MegaCli -PdReplaceMissing -physdrv[E0:S0] -arrayA, -rowB -a0

三      MegaCli -PdPrpRmv -physdrv[E0:S0] –a0此时磁盘处于Spun down状态,如果用此磁盘来建立raid,则磁盘的状态自动变成Spun UpMegaCli -pdclear  -start  -physdrv[E:S]  -a0                                清除单个磁盘 

五     MegaCli -AdpSetPropDsblSpinDownHSP -val –a0               设置热备盘的节电策略

六     MegaCli -AdpSetPropEnblSpinDownUnConfigDrvs -val –a0 设置空闲盘的节电策略

七     MegaCli -PDList –a0                                                               获取所有磁盘的详细信息

八     MegaCli -pdInfo -PhysDrv[E0:S0] –a0                                      获取单个盘的详细信息

13 Adpsetprop,设置属性

一  RebuildRate ,PatrolReadRate,BgiRate,CCRate,ReconRate,表示进行重建,巡读,后台初始化,cc校验,扩容等所占有的系统资源率,提高速度

二   CoercionMode(强制模式),分成三种形式,None128M,1G,当为1G时,每个磁盘比没有设置的时减少了1G的空间。

三   PredFailPollInterval,轮询预测失败的时间间隔。Predictive Failure Count就是smart错误

四   MaintainPdFailHistoryEnbl 保存坏盘的历史记录。当为enable时,当一个盘掉线并重新上线。需要清除配置信息,添加为热备盘才可以重建当为disable时。当一个盘掉线并重新上线,自动重建

五      MegaCli -AdpSetProp ClusterEnable  -0 -a0 设置Cluster模式,目前不支持,只能设置为disbale

六      MegaCli -AdpSetProp -EnableJBOD -1  -a0 设置jbod模式,针对raid0有效,对单个盘读写,即先写第一个盘,写满了在写第二个盘。MegaCli -PDMakeJBOD -physdrv[E0:S0,E1:S1]  -a0 可以设置jbod模式(目前不支持)

七      MegaCli -AdpSetProp ExposeEnclDevicesEnbl -1 -a0,               让设备驱动暴露enclosure devices

14 NCQ

一   显示NCQ的设置情况   MegaCli -adpgetprop  -NCQdsply -a0

二  设置开启NCQ              MegaCli -adpsetprop -NCQenbl -a0

三  关闭NCQ                     MegaCli -adpsetprop -NCQdsbl -a0

Native Command Queuing (NCQ)对硬盘的读写命令的顺序进行优化。带NCQ技术的硬盘在接到读写指令后,会根据指令对访问地址进行重新排序。比如根据指令,硬盘需要访问330扇区、980扇区、340扇区,由于数据在磁盘上分布位置不同,普通硬盘只会按部就班地依次访问。而NCQ硬盘对指令进行优化排列之后,就可以先读取330扇区,接着读取340扇区,然后再读取980扇区。这样做的好处就是减少了磁头臂来回移动的时间,使数据读取更有效,同时有效地延长了硬盘的使用寿命。

15 添加和移除热备盘

一    MegaCli -PDHSP   -Set   -Dedicated  -Array0  -physdrv[E:S] -a0  添加局部热备盘,其中array0表示第0个raid 

二    MegaCli  -pdhsp  -set   -physdrv[E:S]  -a0   添加全局热备盘

三    MegaCli  -pdhsp  -rmv  -physdrv[E:S]  -a0   移除全局和热备局部热备

16 重建

一    MegaCli  -pdrbld  -progdsply  -physdrv[E:S]  -a0   查看重建的进度

二    MegaCli  -AdpSetProp  RebuildRate  -val  -a0     调快重建的速度

三    MegaCli  -AdpAutoRbld -Enbl -a0  设置自动重建,当一个盘坏掉时,热备盘可以自动重建,代替坏的盘

四    MegaCli -PDRbld -Start -PhysDrv [E0:S0] -a0 手动开始重建,E0:S0表示坏的盘

17 恢复出厂设置

一     MegaCli  -AdpFacDefSet –a0              恢复出厂的默认配置

18 告警

一    MegaCli  -AdpSetProp  -AlarmSilence –a0  临时关闭,重启又变成开启

二    MegaCli  -AdpSetProp  -AlarmDsbl  –a0    永久关闭,重启后还是关闭

三    MegaCli  -AdpSetProp  -Alarmenbl  –a0    开启

四    MegaCli  -AdpgetProp  -Alarmdsply  –a0   查看告警的状态

19 配置相关

一    MegaCli  -CfgDsply    -a0                      可以查看一组磁盘上的多个raid的配置

二    MegaCli  -CfgSave    -f filename  -a0     保存配置文件

三    MegaCli  -CfgRestore  -f filename  -a0   导入配置文件 

Raid组的配置文件放在最后,放在每个磁盘的最后512M,主要包含数据从哪里开始写的配置和用来Migration 的swap文件

四    MegaCli  -AdpSetProp -AutoEnhancedImportEnbl -a0  启动时恢复外来配置

五    MegaCli  -AdpSetVerify -f fileName -a0                       验证配置文件和文件的内容

20 Raid卡相关

一   MegaCli  -adpallinfo -a0            查看raid的配置信息

二    MegaCli  -adpShutDown  -a0       关闭raid卡

三    MegaCli  -adpGetTime    -a0       获取raid的时间

四    MegaCli  -AdpDiag  val  -a0       对raid进行诊断

五    MegaCli  -AdpSetProp –LoadBalanceMode  -val –a0 设置负载均衡

Raid卡对终端设备采用多路径访问,一半的设备通过一条路径,另一半的设备通过另一条路径,一条途径有盘插入和移除时,启动负载平衡,避免设备有重用

六    MegaCli  –adpCount                                  获取raid卡的个数 

七    MegaCli  -AdpGetPciInfo  -a0                     获取pci信息

八    MegaCli  -AdpSetProp DisableOCR -val -a0 Raid卡的在线重置,fw重置raid卡控制器芯片

九    MegaCli  -ShowSummary -f filename -a0 显示raid卡,系统等的一些简单信息

十     MegaCli  -PhyErrorCounters  -a0 显示每个phy的错误数

21 Enclosure的信息

一   MegaCli -encinfo -a0      查看机柜的相关信息

二   MegaCli -encstatus -a0    查看机柜的状态

22 BIOS相关

一  MegaCli  –AdpBIOS  –BE  –a0 在启动时要按任意键才可以启动这种情况设置这个参数。但是首先要确保bios处于enable状态。通过MegaCli  -AdpBIOS  -dsply -a0可以查看。如果不是,先用MegaCli  -AdpBIOS  -enbl -a0来设置

二  MegaCli –AdpBootDrive  -set  -L0  -a0  把当前的Raid组做为启动

23 背板相关

一   MegaCli -AdpSetProp -AutoDetectBackPlaneDsbl -val  –a0如果背板disable时,会自动的去检测背板

24 启动时上电

一    MegaCli  -AdpSetProp SpinupDriveCount  -val -a0 设置一次上电的磁盘的个数

二    MegaCli  -AdpSetProp SpinupDelay  -val  -a0    设置上电的延迟时间

25 刷新缓存

一  MegaCli -AdpCacheFlush –a0                                   刷新raid卡缓存

二  MegaCli -AdpSetProp CacheFlushInterval –val –a0  刷缓存的时间间隔

26 让硬盘LED灯闪烁

一    MegaCli  -AdpSetProp UseDiskActivityforLocate -1 -a0 

二    MegaCli  -PdLocate  -start  –physdrv[E:S]  -a0           让硬盘LED灯闪烁

三    MegaCli  -PdLocate  -stopt  –physdrv[E:S]  -a0            停掉硬盘LED灯

27 电池告警

一     MegaCli  -AdpSetProp BatWarnDsbl -val -a0           电池告警

28 纠错码相关

一     MegaCli  -AdpSetProp EccBucketSize -val -a0 设置纠错码漏桶的字节数

29 后台初始化,完全初始化,cc校验,巡读等之间的关系

一    后台初始化和完全初始化,cc校验时不能进行巡读

二    巡读时可以后台初始化和完全初始化,此时巡读结束

三    在后台初始化和cc校验时,不能开始完全初始化

四    扩容时不能建raid,不能添加热备盘

五    rebuild的优先级高于copyback

30 Raid的创建与删除

一 创建raid 0,1,5,6

MegaCli -CfgLdAdd -rX[E0:S0,E1:S1,...] [WT|WB] [NORA|RA|ADRA] [Direct|Cached]  [CachedBadBBU|NoCachedBadBBU] [-szXXX [-szYYY ...]]   [-strpszM] [-Hsp[E0:S0,...]] [-AfterLdX] [-Force]|[FDE|CtrlBased]  -a0 可以设置写模式(wt,wb),读模式(ra,nora,adra),缓存模式(direct,cached),大小(sz),条块大小(strpszM)等。比如1000G,只用指定盘的一部分(sz1000G),设置条块的大小strpsz(设置为16k,则为strpsz16)

MegaCli -cfgldadd -r5[117:1,117:3,117:11] -wb -ra -cached -cachedbadbbu -force -a0

二 创建raid 10,50,60

MegaCli -CfgSpanAdd -rX-Array0[E0:S0,E1:S1] -Array1[E0:S0,E1:S1] [-ArrayX[E0:S0,E1:S1] ...]  [WT|WB] [NORA|RA|ADRA] [Direct|Cached] [CachedBadBBU| NoCachedBadBBU] [-szXXX[-szYYY ...]][-strpszM]

 [-AfterLdX][-Force] |[FDE|CtrlBased] -aN

MegaCli -CfgSpanAdd -r10 -Array0[245:0,245:1] Array1[245:2,245:3]  -WB -RA -Cached  -Cachedbadbbu -a0

三 批量创建raid0

MegaCli -CfgEachDskRaid0  -wb -ra -cached -cachedbadbbu  -a0把每个槽位的磁盘都创建为只有一个盘的raid0

四 把所有的空闲盘都加入到raid中

MegaCli -CfgAllFreeDrv -r5 -SATAOnly -wb -ra -cached -cachedbadbbu -a0

五 删除raid组

MegaCli  -cfgclr  -a0       清除所有的raid组的配置

MegaCli  -cfglddel  -L0 -a0  删除指定的raid组(Target Id: 0)的raid

31 设置raid组的属性

 MegaCli  -ldsetprop -name dg -L0 -a0                    设置raid组的名字

 MegaCli  -ldsetprop -rw  -L0 -a0 设置访问策略为读写,MegaCli -ldsetprop -blocked  -L0 -a0设置访问策略为阻塞,此时raid组的设备不可以访问,fdisk -l不能发现设备

MegaCli  -ldsetprop  -wt  -L0 -a0   设置写策略为wt(直写),直接写入到硬盘上,然后再返回。wb模式是写入到缓存中就返回,设置wb模式写速度有显著的改善,提高到12
MegaCli  -ldsetprop  -ra  -L0 -a0 设置读策略为ra(预先读出一定的数据),还有nora模式,ra模式读可以提高到2倍左右

MegaCli  -ldsetprop  -cached  -L0 -a0      设置缓存策略为cached。

MegaCli  -ldsetprop  -endskcache  -L0 -a0  开启磁盘的缓存,对写速度有一定的提高(1.4倍)

测试参数:dd ,bs=1M,99999M的数据测试,裸盘测试

32、使用megacli查看RAID卡信息

术语:BBU 电池备份单元(Battery Backup Unit)

常用查看命令:

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相关信息

更换硬盘之后操作

执行状态检测命令:

#/opt/MegaRAID/MegaCli/MegaCli64 -pdlist -aall |grep 'Firmware state'

Firmware state: Unconfigured(good), Spun Up

Firmware state: Online, Spun Up

此时的状态如下:

############

Enclosure Device ID: 32

Slot Number: 4

###Drive's position: DiskGroup: 0, Span: 2, Arm: 1   ###应该有这个信息的,但是这个没有

Firmware state: Unconfigured(good), Spun Up