MegaCli 版本8.00.29,raid卡为lsi 8888elp,固件11.0.1-0036
1 巡读
一 MegaCli -adppr -enblauto -a0,立即激活
MegaCli -adppr -enblman -a0 设置成手动模式,需要用MegaCli -adppr -start –a0 来激活。
二 用MegaCli -adppr -info -a0来查看巡读的模式,本次巡读结束与下一次开始巡读的间隔,当前状态等信息。
三 MegaCli -fwtermlog -dsply -a0可以查看巡读的进度
四 MegaCli -adppr -stop -a0 结束巡读,在巡读过程中,多次运用MegaCli -adppr -stop -a0或MegaCli -adppr -start -a0
会使叠代数增加,此时可能不能开始或结束巡读,用MegaCli -adppr -dsbl -a0来禁止巡读,重新开始。
五 MegaCli -adppr -setdelay val -a0设置本次巡读结束与下一次巡读开始的时间间隔,默认是168小时,当val=0
时, 本次巡读结束后,立即开始下一次巡读
六 MegaCli -AdpSetProp -PrCorrectUncfgdAreas -val -a0 巡读时是否纠正媒介错误
七 设置定时巡读 MegaCli -AdpPR -SetStartTime yyyymmdd hh -a0
yyyymmdd hh,具体含义如下:20120108 16表示2012年01月08日16点
2 cc校验
一 立即开始cc校验, MegaCli -ldcc -start -L0 –a0 (L0表示Target ID 为0的raid组),如果没有完全初始化或后台初始化。The virtual disk has not been initialized. Running a consistency check may result in inconsistent messages in the log。可以用MegaCli -ldcc -start -force –L0 –a0强行cc校验。
二 MegaCli -ldcc -progdsply -L0 -a0 显示当前cc校验的进度。
三 MegaCli -ldcc -abort -L0 -a0 关掉当前的cc校验
四 计划cc校验
1 如果模式为disable,(MegaCli -adpccsched -info -a0来查看),则下一次开始时间为07/28/2135, 02:00:00,状态为 Stopped,延期为168个小时。
2 只有模式为Sequential和Concurrent模式时,才可以设定定期时间,所以要首先设定模式,MegaCli -adpccsched -modeconc -a0或MegaCli -adpccsched -modeseq -a0,然后设定开始时间,MegaCli -adpccsched setstarttime 20101122 18
-a0,设置本次cc校验结束和下次cc校验开始的时间间隔,MegaCli -adpccsched -setdelay 2 -a0。
3 如果模式为Sequential时,所有虚拟磁盘组顺序进行cc校验
4 如果模式为Concurrent时,所有虚拟磁盘组同时进行cc校验
五 MegaCli -AdpCcSched -dsbl -a0 禁止计划cc校验
六 MegaCli -adpsetprop -AbortCCOnError -1 -a0 设置错误发生时放弃cc校验
七 查看cc校验的事件日志,MegaCli -AdpEventLog -GetCCIncon –f filename –L0 –a0
八 如果设置延期时间为0,本次cc校验结束后,下一次cc校验会立即开始
3 快速初始化和完全初始化
一 MegaCli -LDInit -start –L0 -a0 快速初始化
二 MegaCli -LDInit -start -full –L0 -a0 完全初始化
三 MegaCli -LDInit -progdsply -L0 -a0 显示初始化的进度
四 MegaCli -LDInit -abort -L0 -a0 结束完全初始化
五 快速初始化值是往raid组的前8M和后8M写0
4 后台初始化
一 禁止后台初始化 MegaCli -LDBI -dsbl -L0 -a0
二 结束正在进行的后台初始化 MegaCli -LDBI -abort -L0 -a0
三 查看后台初始化的设置 MegaCli -LDBI -getsetting -L0 -a0
四 显示后台初始化进度 MegaCli -LDBI -progdsply -L0 -a0
五 Raid5 需要5个数据盘才可以后台初始化(5个盘中不包含热备盘)
六 后台初始化是创建raid后5分钟开始的(好像有时不是这样的)
七 后台初始化和cc校验不同的地方是,后台初始化可以自动开始
八 改变后台初始化率时,需要停止后台初始化,否则没有效果
5 copyback
一 开启或禁用copyback, MegaCli -AdpSetProp –CopyBackDsbl -0 -a0 (开启)
二 显示copyback设置情况 MegaCli –AdpGetProp -CopyBackDsbl –a0
三 当设置copyback为enable时,拔出坏盘,换上一个UNCONF的新盘,先用热备盘进行重建,然后
进行copyback操作,如果copyback为disable时,不进行copyback操作,可以设定copyback为enable,然
后用MegaCli -PDCpyBk -Start -PhysDrv[E0:S0,E1:S1] –a0开始copyback操作,其中[E0:S0]是raid组中
的磁盘(源盘),而[E1:S1]不是raid组中的磁盘(目的盘)
四 MegaCli -AdpGetProp SMARTCpyBkEnbl -a0 当某个盘出现第一个smart错误时,可以在这个盘和
热备盘之间进行copyback操作,热备盘做为目的盘,完成了copyback操作时,smart错误盘才标记为
failed状态。
五 如果在copyback时,raid组删除,目的盘回到热备盘状态或Unconfigured Good
6 日志
一 查看所有的information日志,MegaCli -adpalilog -a0
二 查看固件调试日志(固件终端日志)MegaCli -fwtermlog -dsply -a0
三 查看raid卡日志 MegaCli -adpeventlog -getevents -f filename -a0
四 清除日志MegaCli -AdpEventLog -Clear –a0
7 扩容
一 MegaCli -LDRecon -Start -r5 -Add -Physdrv[E0:S0] -L0 -a0(raid5的扩容)
二 MegaCli -LDRecon -progdsply -L0 –a0 查看扩容的进度
8 级别迁移
一 MegaCli -cfgldadd -r0[117:1,117:3,117:11] -a0 ,建立了三个盘的raid 0,增加一个盘[117:14],转换到raid5, MegaCli -ldrecon -start -r5 -add -physdrv[117:14] -l0 -a0
二 在迁移过程中,转换前的raid的一个盘下线,转换前raid的所有盘都下线
三 支持的类型 RAID 0 to RAID 1,RAID 0 to RAID 5,RAID 0 to RAID 6,
RAID 1 to RAID 0,RAID 1 to RAID 5,RAID 1 to RAID 6,RAID 5 to RAID 0,
RAID 5 to RAID 6,RAID 6 to RAID 0,RAID 6 to RAID 5
9 升级
一 从低版本到高版本升级MegaCli -adpfwflash -f x.rom -a0
二 从高版本到低版本降级MegaCli -adpfwflash -f x.rom -noverchk -a0
加上noverchk忽略版本的检查,升级以后需要重启才生效
10 连接方式
一 Raid对内有两个接口,即connector0和connector1。得到连接器的状态MegaCli -adpgetconnectormode -connector0 -a0
二 如果连接器的模式为internal时,jbod的磁盘全部看不到,如果连接器的模式为external时,主柜上的磁盘全部看不到
11 外来配置
一 MegaCli -cfgforeign -scan -a0 扫描外来配置的个数
二 MegaCli -cfgforeign -preview -a0 查看当前的磁盘在normal时的位置
三 MegaCli -cfgforeign -import -a0 来导入配置,恢复虚拟磁盘组
四 MegaCli -cfgforeign -clear -a0 清除外来配置
五 MegaCli -cfgforeign -dsply -a0 显示出现外来配置(磁盘插入的顺序)的过程
12 物理磁盘的处理
一 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 Up
四 MegaCli -pdclear -start -physdrv[E:S] -a0 清除单个磁盘
五 MegaCli -AdpSetProp –DsblSpinDownHSP -val –a0 设置热备盘的节电策略
六 MegaCli -AdpSetProp –EnblSpinDownUnConfigDrvs -val –a0 设置空闲盘的节电策略
七 MegaCli -PDList –a0 获取所有磁盘的详细信息
八 MegaCli -pdInfo -PhysDrv[E0:S0] –a0 获取单个盘的详细信息
13 Adpsetprop,设置属性
一 RebuildRate ,PatrolReadRate,BgiRate,CCRate,ReconRate,表示进行重建,巡读,后台初始化,cc校验,扩容等所占有的系统资源率,提高速度
二 CoercionMode(强制模式),分成三种形式,None,128M,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的数据测试,裸盘测试