MegaRAID: Difference between revisions
Jump to navigation
Jump to search
(Created page with "= MegaRAID = * install MegaCli64 <pre> read https://gist.github.com/fxkraus/595ab82e07cd6f8e057d31bc0bc5e779 wget https://docs.broadcom.com/docs-and-downloads/raid-controllers/raid-controllers-common-files/8-07-14_MegaCLI.zip or get a copy from /home/olchansk/sysadm/MegaRAID as root: unzip 8-07-14_MegaCLI.zip cd Linux alien MegaCli-8.07.14-1.noarch.rpm dpkg -i megacli_8.07.14-2_all.deb cd ~root ln -s /opt/MegaRAID/MegaCli/MegaCli64 . </pre> * get logical drives: ./MegaC...") |
|||
| (3 intermediate revisions by the same user not shown) | |||
| Line 16: | Line 16: | ||
* get logical drives: ./MegaCli64 -LDInfo -lALL -aALL | * get logical drives: ./MegaCli64 -LDInfo -lALL -aALL | ||
* get physical drives: ./MegaCli64 -pdList -aALL | * get physical drives: ./MegaCli64 -pdList -aALL | ||
* which PD is in which LD: ./MegaCli64 -LDPdInfo -aALL | |||
= Recover from = | = MegaCli64 = | ||
<pre> | |||
root@phaarmonster:~# ./MegaCli64 help | |||
MegaCLI SAS RAID Management Tool Ver 8.07.14 Dec 16, 2013 | |||
(c)Copyright 2013, LSI Corporation, All Rights Reserved. | |||
NOTE: The following options may be given at the end of any command below: | |||
[-Silent] [-AppLogFile filename] [-NoLog] [-page[N]] | |||
[-] is optional. | |||
N - Number of lines per page. | |||
MegaCli -v | |||
MegaCli -help|-h|? | |||
MegaCli -adpCount | |||
MegaCli -AdpSetProp {CacheFlushInterval -val} | { RebuildRate -val} | |||
| {PatrolReadRate -val} | {BgiRate -val} | {CCRate -val} | {ForceSGPIO -val} | |||
| {ReconRate -val} | {SpinupDriveCount -val} | {SpinupDelay -val} | |||
| {CoercionMode -val} | {ClusterEnable -val} | {PredFailPollInterval -val} | |||
| {BatWarnDsbl -val} | {EccBucketSize -val} | {EccBucketLeakRate -val} | |||
| {AbortCCOnError -val} | AlarmEnbl | AlarmDsbl | AlarmSilence | |||
| {SMARTCpyBkEnbl -val} | {SSDSMARTCpyBkEnbl -val} | NCQEnbl | NCQDsbl | |||
| {MaintainPdFailHistoryEnbl -val} | {RstrHotSpareOnInsert -val} | |||
| {DisableOCR -val} | {BootWithPinnedCache -val} | {enblPI -val} |{PreventPIImport -val} | |||
| AutoEnhancedImportEnbl | AutoEnhancedImportDsbl | |||
| {EnblSpinDownUnConfigDrvs -val}|{UseDiskActivityforLocate -val} -aN|-a0,1,2|-aALL | |||
| {ExposeEnclDevicesEnbl -val} | {SpinDownTime -val} | |||
| {SpinUpEncDrvCnt -val} | {SpinUpEncDelay -val} | {Perfmode -val} -aN|-a0,1,2|-aALL | |||
| {PerfMode -val �MaxFlushLines -val �NumIOsToOrder -val} -aN|-a0,1,2|-aALL | |||
MegaCli -AdpSetProp -AutoDetectBackPlaneDsbl -val -aN|-a0,1,2|-aALL | |||
val - 0=Enable Auto Detect of SGPIO and i2c SEP. | |||
1=Disable Auto Detect of SGPIO. | |||
2=Disable Auto Detect of i2c SEP. | |||
3=Disable Auto Detect of SGPIO and i2c SEP. | |||
MegaCli -AdpSetProp -CopyBackDsbl -val -aN|-a0,1,2|-aALL | |||
val - 0=Enable Copyback. | |||
1=Disable Copyback. | |||
MegaCli -AdpSetProp -EnableJBOD -val -aN|-a0,1,2|-aALL | |||
val - 0=Disable JBOD mode. | |||
1=Enable JBOD mode. | |||
MegaCli -AdpSetProp -DsblCacheBypass -val -aN|-a0,1,2|-aALL | |||
val - 0=Enable Cache Bypass. | |||
1=Disable Cache Bypass. | |||
MegaCli -AdpSetProp -LoadBalanceMode -val -aN|-a0,1,2|-aALL | |||
val - 0=Auto Load balance mode. | |||
1=Disable Load balance mode. | |||
MegaCli -AdpSetProp -UseFDEOnlyEncrypt -val -aN|-a0,1,2|-aALL | |||
val - 0=FDE and controller encryption (if HW supports) is allowed. | |||
1=Only support FDE encryption, disallow controller encryption. | |||
MegaCli -AdpSetProp -PrCorrectUncfgdAreas -val -aN|-a0,1,2|-aALL | |||
val - 0= Correcting Media error during PR is disabled. | |||
1=Correcting Media error during PR is allowed. | |||
MegaCli -AdpSetProp -DsblSpinDownHSP -val -aN|-a0,1,2|-aALL | |||
val - 0= Spinning down the Hot Spare is enabled. | |||
1=Spinning down the Hot Spare is disabled. | |||
MegaCli -AdpSetProp -DefaultLdPSPolicy -Automatic| -None | -Maximum| -MaximumWithoutCaching -aN|-a0,1,2|-aALL | |||
MegaCli -AdpSetProp -DisableLdPS -interval n1 -time n2 -aN|-a0,1,2|-aALL | |||
where n1 is the number of hours beginning at time n2 | |||
where n2 is the number of minutes from 12:00am | |||
MegaCli -AdpSetProp -ENABLEEGHSP -val -aN|-a0,1,2|-aALL | |||
val - 0= Disabled Emergency GHSP. | |||
1= Enabled Emergency GHSP. | |||
MegaCli -AdpSetProp -ENABLEEUG -val -aN|-a0,1,2|-aALL | |||
val - 0= Disabled Emergency UG as Spare. | |||
1= Enabled Emergency UG as Spare. | |||
MegaCli -AdpSetProp -ENABLEESMARTER -val -aN|-a0,1,2|-aALL | |||
val - 0= Disabled Emergency Spare as Smarter. | |||
1= Enabled Emergency Spare as Smarter. | |||
MegaCli -AdpSetProp -DPMenable -val -aN|-a0,1,2|-aALL | |||
val - 0=Disable Drive Performance Monitoring . | |||
1=Enable Drive Performance Monitoring. | |||
MegaCli -AdpSetProp -SupportSSDPatrolRead -val -aN|-a0,1,2|-aALL | |||
val - 0=Disable Patrol read for SSD drives . | |||
1=Enable Patrol read for SSD drives. | |||
MegaCli -AdpGetProp CacheFlushInterval | RebuildRate | PatrolReadRate | ForceSGPIO | |||
| BgiRate | CCRate | ReconRate | SpinupDriveCount | SpinupDelay | |||
| CoercionMode | ClusterEnable | PredFailPollInterval | BatWarnDsbl | |||
| EccBucketSize | EccBucketLeakRate | EccBucketCount | AbortCCOnError | |||
| AlarmDsply | SMARTCpyBkEnbl | SSDSMARTCpyBkEnbl | NCQDsply | |||
| MaintainPdFailHistoryEnbl | RstrHotSpareOnInsert | |||
| EnblSpinDownUnConfigDrvs | DisableOCR | |||
| BootWithPinnedCache | enblPI |PreventPIImport | AutoEnhancedImportDsply | AutoDetectBackPlaneDsbl | |||
| CopyBackDsbl | LoadBalanceMode | UseFDEOnlyEncrypt | WBSupport | EnableJBOD | |||
| DsblCacheBypass | ExposeEnclDevicesEnbl | SpinDownTime | PrCorrectUncfgdAreas | |||
| UseDiskActivityforLocate | ENABLEEGHSP | ENABLEEUG | ENABLEESMARTER | Perfmode | PerfModeValues | |||
| -DPMenable -aN|-a0,1,2|-aALL | |||
| DefaultLdPSPolicy | DisableLdPsInterval | DisableLdPsTime | SpinUpEncDrvCnt | |||
| SpinUpEncDelay | PrCorrectUncfgdAreas | |||
| DsblSpinDownHSP | SupportSSDPatrolRead -aN|-a0,1,2|-aALL | |||
MegaCli -AdpAllInfo -aN|-a0,1,2|-aALL | |||
MegaCli -AdpGetTime -aN|-a0,1,2|-aALL | |||
MegaCli -AdpSetTime yyyymmdd hh:mm:ss -aN | |||
MegaCli -AdpSetVerify -f fileName -aN|-a0,1,2|-aALL | |||
MegaCli -AdpBIOS -Enbl |-Dsbl | -SOE | -BE | -HCOE | - HSM | EnblAutoSelectBootLd | DsblAutoSelectBootLd | -Dsply -aN|-a0,1,2|-aALL | |||
MegaCli -AdpBootDrive {-Set {-Lx | -physdrv[E0:S0]}} | {-Unset {-Lx | -physdrv[E0:S0]}} |-Get -aN|-a0,1,2|-aALL | |||
MegaCli -AdpAutoRbld -Enbl|-Dsbl|-Dsply -aN|-a0,1,2|-aALL | |||
MegaCli -AdpCacheFlush -aN|-a0,1,2|-aALL | |||
MegaCli -AdpPR -Dsbl|EnblAuto|EnblMan|Start|Suspend|Resume|Stop|Info|SSDPatrolReadEnbl |SSDPatrolReadDsbl | |||
|{SetDelay Val}|{-SetStartTime yyyymmdd hh}|{maxConcurrentPD Val} -aN|-a0,1,2|-aALL | |||
MegaCli -AdpCcSched -Dsbl|-Info|{-ModeConc | -ModeSeq [-ExcludeLD -LN|-L0,1,2] | |||
[-SetStartTime yyyymmdd hh ] [-SetDelay val ] } -aN|-a0,1,2|-aALL | |||
MegaCli -AdpCcSched -SetStartTime yyyymmdd hh -aN|-a0,1,2|-aALL | |||
MegaCli -AdpCcSched -SetDelay val -aN|-a0,1,2|-aALL | |||
MegaCli -FwTermLog -BBUoff|BBUoffTemp|BBUon|BBUGet|Dsply|Clear -aN|-a0,1,2|-aALL | |||
MegaCli -AdpAlILog -aN|-a0,1,2|-aALL | |||
MegaCli -AdpDiag [val] -aN|-a0,1,2|-aALL | |||
val - Time in second. | |||
MegaCli -AdpGetPciInfo -aN|-a0,1,2|-aALL | |||
MegaCli -AdpShutDown -aN|-a0,1,2|-aALL | |||
MegaCli -AdpDowngrade -aN|-a0,1,2|-aALL | |||
MegaCli -PDList -aN|-a0,1,2|-aALL | |||
MegaCli -PDGetNum -aN|-a0,1,2|-aALL | |||
MegaCli -pdInfo -PhysDrv[E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL | |||
MegaCli -PDOnline -PhysDrv[E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL | |||
MegaCli -PDOffline -PhysDrv[E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL | |||
MegaCli -PDMakeGood -PhysDrv[E0:S0,E1:S1,...] | [-Force] -aN|-a0,1,2|-aALL | |||
MegaCli -PDMakeJBOD -PhysDrv[E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL | |||
MegaCli -PDHSP {-Set [-Dedicated [-ArrayN|-Array0,1,2...]] [-EnclAffinity] [-nonRevertible]} | |||
|-Rmv -PhysDrv[E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL | |||
MegaCli -PDRbld -Start|-Stop|-Suspend|-Resume|-ShowProg |-ProgDsply | |||
-PhysDrv [E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL | |||
MegaCli -PDClear -Start|-Stop|-ShowProg |-ProgDsply | |||
-PhysDrv [E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL | |||
MegaCli -PdLocate {[-start] | -stop} -physdrv[E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL | |||
MegaCli -PdMarkMissing -physdrv[E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL | |||
MegaCli -PdGetMissing -aN|-a0,1,2|-aALL | |||
MegaCli -PdReplaceMissing -physdrv[E0:S0] -arrayA, -rowB -aN | |||
MegaCli -PdPrpRmv [-UnDo] -physdrv[E0:S0] -aN|-a0,1,2|-aALL | |||
MegaCli -EncInfo -aN|-a0,1,2|-aALL | |||
MegaCli -EncStatus -aN|-a0,1,2|-aALL | |||
MegaCli -PhyInfo -phyM -aN|-a0,1,2|-aALL | |||
MegaCli -PhySetLinkSpeed -phyM -speed -aN|-a0,1,2|-aALL | |||
MegaCli -PdFwDownload [offline][ForceActivate] {[-SataBridge] -PhysDrv[0:1] }|{-EncdevId[devId1]} -f <filename> -aN|-a0,1,2|-aALL | |||
MegaCli -LDInfo -Lx|-L0,1,2|-Lall -aN|-a0,1,2|-aALL | |||
MegaCli -LDSetProp {-Name LdNamestring} | -RW|RO|Blocked|RemoveBlocked | WT|WB|ForcedWB [-Immediate] |RA|NORA | DsblPI | |||
| Cached|Direct | -EnDskCache|DisDskCache | CachedBadBBU|NoCachedBadBBU | |||
-Lx|-L0,1,2|-Lall -aN|-a0,1,2|-aALL | |||
MegaCli -LDSetPowerPolicy -Default| -Automatic| -None| -Maximum| -MaximumWithoutCaching | |||
-Lx|-L0,1,2|-Lall -aN|-a0,1,2|-aALL | |||
MegaCli -LDGetProp -Cache | -Access | -Name | -DskCache | -PSPolicy | Consistency -Lx|-L0,1,2|-LALL | |||
-aN|-a0,1,2|-aALL | |||
MegaCli -LDInit {-Start [-full]}|-Abort|-ShowProg|-ProgDsply -Lx|-L0,1,2|-LALL -aN|-a0,1,2|-aALL | |||
MegaCli -LDCC {-Start [-force]}|-Abort|-Suspend|-Resume|-ShowProg|-ProgDsply -Lx|-L0,1,2|-LALL -aN|-a0,1,2|-aALL | |||
MegaCli -LDBI -Enbl|-Dsbl|-getSetting|-Abort|-Suspend|-Resume|-ShowProg|-ProgDsply -Lx|-L0,1,2|-LALL -aN|-a0,1,2|-aALL | |||
MegaCli -LDRecon {-Start -rX [{-Add | -Rmv} -Physdrv[E0:S0,...]]}|-ShowProg|-ProgDsply | |||
-Lx -aN | |||
MegaCli -LdPdInfo -aN|-a0,1,2|-aALL | |||
MegaCli -LDGetNum -aN|-a0,1,2|-aALL | |||
MegaCli -LDBBMClr -Lx|-L0,1,2,...|-Lall -aN|-a0,1,2|-aALL | |||
MegaCli -getLdExpansionInfo -Lx|-L0,1,2|-Lall -aN|-a0,1,2|-aALL | |||
MegaCli -LdExpansion -pN -dontExpandArray -Lx|-L0,1,2|-Lall -aN|-a0,1,2|-aALL | |||
MegaCli -GetBbtEntries -Lx|-L0,1,2|-Lall -aN|-a0,1,2|-aALL | |||
MegaCli -Cachecade -assign|-remove -Lx|-L0,1,2|-LALL -aN|-a0,1,2|-aALL | |||
MegaCli -CfgLdAdd -rX[E0:S0,E1:S1,...] [WT|WB] [NORA|RA] [Direct|Cached] | |||
[CachedBadBBU|NoCachedBadBBU] [-szXXX [-szYYY ...]] | |||
[-strpszM] [-Hsp[E0:S0,...]] [-AfterLdX] | [FDE|CtrlBased] | |||
[-Default| -Automatic| -None| -Maximum| -MaximumWithoutCaching] [-Cache] [-enblPI] [-Force]-aN | |||
MegaCli -CfgCacheCadeAdd [-rX] -Physdrv[E0:S0,...] {-Name LdNamestring} [WT|WB|ForcedWB] [-assign -LX|L0,2,5..|LALL] -aN|-a0,1,2|-aALL | |||
MegaCli -CfgEachDskRaid0 [WT|WB] [NORA|RA] [Direct|Cached] [-enblPI] | |||
[CachedBadBBU|NoCachedBadBBU] [-strpszM]|[FDE|CtrlBased] [-Default| -Automatic| -None| -Maximum| -MaximumWithoutCaching] [-Cache] -aN|-a0,1,2|-aALL | |||
MegaCli -CfgClr [-Force] -aN|-a0,1,2|-aALL | |||
MegaCli -CfgDsply -aN|-a0,1,2|-aALL | |||
MegaCli -CfgCacheCadeDsply -aN|-a0,1,2|-aALL | |||
MegaCli -CfgLdDel -LX|-L0,2,5...|-LALL [-Force] -aN|-a0,1,2|-aALL | |||
MegaCli -CfgCacheCadeDel -LX|-L0,2,5...|-LALL -aN|-a0,1,2|-aALL | |||
MegaCli -CfgFreeSpaceinfo -aN|-a0,1,2|-aALL | |||
MegaCli -CfgSpanAdd -r10 -Array0[E0:S0,E1:S1] -Array1[E0:S0,E1:S1] [-ArrayX[E0:S0,E1:S1] ...] | |||
[WT|WB] [NORA|RA] [Direct|Cached] [CachedBadBBU|NoCachedBadBBU] | |||
[-szXXX[-szYYY ...]][-strpszM][-AfterLdX]| [FDE|CtrlBased] | |||
[-Default| -Automatic| -None| -Maximum| -MaximumWithoutCaching] [-Cache] [-enblPI] [-Force] -aN | |||
MegaCli -CfgSpanAdd -r50 -Array0[E0:S0,E1:S1,E2:S2,...] -Array1[E0:S0,E1:S1,E2:S2,...] | |||
[-ArrayX[E0:S0,E1:S1,E2:S2,...] ...] [WT|WB] [NORA|RA] [Direct|Cached] | |||
[CachedBadBBU|NoCachedBadBBU][-szXXX[-szYYY ...]][-strpszM][-AfterLdX] | |||
[FDE|CtrlBased] [-Default| -Automatic| -None| -Maximum| -MaximumWithoutCaching] [-Cache] [-enblPI] [-Force] -aN | |||
MegaCli -CfgSpanAdd -r60 -Array0[E0:S0,E1:S1,E2:S2,E3,S3...] -Array1[E0:S0,E1:S1,E2:S2,E3,S3...] | |||
[-ArrayX[E0:S0,E1:S1,E2:S2,E3,S3...] ...] [WT|WB] [NORA|RA] [Direct|Cached] | |||
[CachedBadBBU|NoCachedBadBBU][-szXXX[-szYYY ...]][-strpszM][-AfterLdX]| | |||
[FDE|CtrlBased] [-Default| -Automatic| -None| -Maximum| -MaximumWithoutCaching] [-Cache] [-enblPI] [-Force] -aN | |||
MegaCli -CfgAllFreeDrv -rX [-SATAOnly] [-SpanCount XXX] [WT|WB] [NORA|RA] | |||
[Direct|Cached] [CachedBadBBU|NoCachedBadBBU] [-strpszM] | |||
[-HspCount XX [-HspType -Dedicated|-EnclAffinity|-nonRevertible]]| | |||
[FDE|CtrlBased] [-Default| -Automatic| -None| -Maximum| -MaximumWithoutCaching] [-Cache] [-enblPI] -aN | |||
MegaCli -CfgSave -f filename -aN | |||
MegaCli -CfgRestore -f filename -aN | |||
MegaCli -CfgForeign -Scan | [-SecurityKey sssssssssss] -aN|-a0,1,2|-aALL | |||
MegaCli -CfgForeign -Dsply [x] | [-SecurityKey sssssssssss] -aN|-a0,1,2|-aALL | |||
MegaCli -CfgForeign -Preview [x] | [-SecurityKey sssssssssss] -aN|-a0,1,2|-aALL | |||
MegaCli -CfgForeign -Import [x] | [-SecurityKey sssssssssss] -aN|-a0,1,2|-aALL | |||
MegaCli -CfgForeign -Clear [x]|[-SecurityKey sssssssssss] -aN|-a0,1,2|-aALL | |||
x - index of foreign configurations. Optional. All by default. | |||
MegaCli -AdpEventLog -GetEventLogInfo -aN|-a0,1,2|-aALL | |||
MegaCli -AdpEventLog -GetEvents {-info -warning -critical -fatal} {-f <fileName>} -aN|-a0,1,2|-aALL | |||
MegaCli -AdpEventLog -GetSinceShutdown {-info -warning -critical -fatal} {-f <fileName>} -aN|-a0,1,2|-aALL | |||
MegaCli -AdpEventLog -GetSinceReboot {-info -warning -critical -fatal} {-f <fileName>} -aN|-a0,1,2|-aALL | |||
MegaCli -AdpEventLog -IncludeDeleted {-info -warning -critical -fatal} {-f <fileName>} -aN|-a0,1,2|-aALL | |||
MegaCli -AdpEventLog -GetLatest n {-info -warning -critical -fatal} {-f <fileName>} -aN|-a0,1,2|-aALL | |||
MegaCli -AdpEventLog -GetCCIncon -f <fileName> -LX|-L0,2,5...|-LALL -aN|-a0,1,2|-aALL | |||
MegaCli -AdpEventLog -Clear -aN|-a0,1,2|-aALL | |||
MegaCli -AdpBbuCmd -aN|-a0,1,2|-aALL | |||
MegaCli -AdpBbuCmd -GetBbuStatus -aN|-a0,1,2|-aALL | |||
MegaCli -AdpBbuCmd -GetBbuCapacityInfo -aN|-a0,1,2|-aALL | |||
MegaCli -AdpBbuCmd -GetBbuDesignInfo -aN|-a0,1,2|-aALL | |||
MegaCli -AdpBbuCmd -GetBbuProperties -aN|-a0,1,2|-aALL | |||
MegaCli -AdpBbuCmd -BbuLearn -aN|-a0,1,2|-aALL | |||
MegaCli -AdpBbuCmd -BbuMfgSleep -aN|-a0,1,2|-aALL | |||
MegaCli -AdpBbuCmd -BbuMfgSeal -aN|-a0,1,2|-aALL | |||
MegaCli -AdpBbuCmd -getBbumodes -aN|-a0,1,2|-aALL | |||
MegaCli -AdpBbuCmd -SetBbuProperties -f <fileName> -aN|-a0,1,2|-aALL | |||
MegaCli -AdpBbuCmd -GetGGEEPData offset [Hexaddress] NumBytes n -aN|-a0,1,2|-aALL | |||
MegaCli -AdpBbuCmd -ScheduleLearn -Dsbl|-Info|[-STARTTIME DDD hh] -aN|-a0,1,2|-aALL | |||
MegaCli -AdpFacDefSet -aN | |||
MegaCli -AdpFwFlash -f filename [-ResetNow] [-NoSigChk] [-NoVerChk] [-FWTYPE n] -aN|-a0,1,2|-aALL | |||
MegaCli -AdpGetConnectorMode -ConnectorN|-Connector0,1|-ConnectorAll -aN|-a0,1,2|-aALL | |||
MegaCli -AdpSetConnectorMode -Internal|-External|-Auto -ConnectorN|-Connector0,1|-ConnectorAll -aN|-a0,1,2|-aALL | |||
MegaCli -PhyErrorCounters -aN|-a0,1,2|-aALL | |||
MegaCli -DirectPdMapping -Enbl|-Dsbl|-Dsply -aN|-a0,1,2|-aALL | |||
MegaCli -PDCpyBk -Start -PhysDrv[E0:S0,E1:S1] -aN|-a0,1,2|-aALL | |||
MegaCli -PDCpyBk -Stop|-Suspend|-Resume|-ShowProg|-ProgDsply -PhysDrv[E0:S0] -aN|-a0,1,2|-aALL | |||
MegaCli -PDInstantSecureErase -PhysDrv[E0:S0,E1:S1,...] | [-Force] -aN|-a0,1,2|-aALL | |||
MegaCli -CfgSpanAdd -rX -array0[E0:S1,E1:S1.....] array1[E0:S1,E1:S1.....] -szxxx -enblPI -aN|-a0,1,2|-aALL | |||
MegaCli -LDMakeSecure -Lx|-L0,1,2,...|-Lall -aN|-a0,1,2|-aALL | |||
MegaCli -DestroySecurityKey | [-Force] -aN | |||
MegaCli -CreateSecurityKey -SecurityKey sssssssssss | [-Passphrase sssssssssss] |[-KeyID kkkkkkkkkkk] -aN | |||
MegaCli -CreateSecurityKey useEKMS -aN | |||
MegaCli -ChangeSecurityKey -OldSecurityKey sssssssssss | -SecurityKey sssssssssss| | |||
[-Passphrase sssssssssss] | [-KeyID kkkkkkkkkkk] -aN | |||
MegaCli -ChangeSecurityKey -SecurityKey sssssssssss| | |||
[-Passphrase sssssssssss] | [-KeyID kkkkkkkkkkk] -aN | |||
MegaCli -ChangeSecurityKey useEKMS -OldSecurityKey sssssssssss -aN | |||
MegaCli -ChangeSecurityKey -useEKMS -aN | |||
MegaCli -GetKeyID [-PhysDrv[E0:S0]] -aN | |||
MegaCli -SetKeyID -KeyID kkkkkkkkkkk -aN | |||
MegaCli -VerifySecurityKey -SecurityKey sssssssssss -aN | |||
MegaCli -GetPreservedCacheList -aN|-a0,1,2|-aALL | |||
MegaCli -DiscardPreservedCache -Lx|-L0,1,2|-Lall -force -aN|-a0,1,2|-aALL | |||
sssssssssss - It must be between eight and thirty-two | |||
characters and contain at least one number, | |||
one lowercase letter, one uppercase | |||
letter and one non-alphanumeric character. | |||
kkkkkkkkkkk - Must be less than 256 characters. | |||
MegaCli -ShowSummary [-f filename] -aN | |||
MegaCli -ELF -GetSafeId -aN|-a0,1,2|-aALL | |||
MegaCli -ELF -ControllerFeatures -aN|-a0,1,2|-aALL | |||
MegaCli -ELF -Applykey key <val> [Preview] -aN|-a0,1,2|-aALL | |||
MegaCli -ELF -TransferToVault -aN|-a0,1,2|-aALL | |||
MegaCli -ELF -DeactivateTrialKey -aN|-a0,1,2|-aALL | |||
MegaCli -ELF -ReHostInfo -aN|-a0,1,2|-aALL | |||
MegaCli -ELF -ReHostComplete -aN|-a0,1,2|-aALL | |||
MegaCli -LDViewMirror -Lx|-L0,1,2,...|-Lall -aN|-a0,1,2|-aALL | |||
MegaCli -LDJoinMirror -DataSrc <val> [-force] -Lx|-L0,1,2,...|-Lall -aN|-a0,1,2|-aALL | |||
MegaCli -SecureErase | |||
Start[ | |||
Simple| | |||
[Normal [ |ErasePattern ErasePatternA|ErasePattern ErasePatternA ErasePattern ErasePatternB]]| | |||
[Thorough [ |ErasePattern ErasePatternA|ErasePattern ErasePatternA ErasePattern ErasePatternB]]] | |||
| Stop | |||
| ShowProg | |||
| ProgDsply | |||
[-PhysDrv [E0:S0,E1:S1,...] | -Lx|-L0,1,2|-LALL] -aN|-a0,1,2|-aALL | |||
MegaCli -Version -Cli|-Ctrl|-Driver|-Pd -aN|-a0,1,2|-aALL | |||
MegaCli -Perfmon {-start -interval <val>} | {stop} | {-getresults -f <Filename>} -aN | |||
MegaCli -DpmStat -Dsply {lct | hist | ra | ext } [-physdrv[E0:S0]] -aN|-a0,1,2|-aALL | |||
MegaCli -DpmStat -Clear {lct | hist | ra | ext } -aN|-a0,1,2|-aALL | |||
Note: The directly connected drives can be specified as [:S] | |||
Wildcard '?' can be used to specify the enclosure ID for the drive in the | |||
only enclosure without direct connected device or the direct connected | |||
drives with no enclosure in the system. | |||
Note:[-aALL] option assumes that the parameters specified are valid | |||
for all the Adapters. | |||
Note:ProgDsply option is not supported in VMWARE-COSLESS. | |||
The following options may be given at the end of any command above: | |||
[-Silent] [-AppLogFile filename] [-NoLog] [-page[N]] | |||
[-] is optional. | |||
N - Number of lines per page. | |||
MegaCli XD -AddVd <devList> | |||
MegaCli XD -RemVd <devList> | |||
MegaCli XD -AddCdev <devList> | -force | |||
MegaCli XD -RemCdev <devList> | |||
MegaCli XD -VdList | -Configured | -Unconfigured | |||
MegaCli XD -CdevList | -Configured | -Unconfigured | |||
MegaCli XD -ConfigInfo | |||
MegaCli XD -PerfStats | |||
MegaCli XD -OnlineVd | |||
MegaCli XD -WarpDriveInfo -iN | -iALL | |||
MegaCli XD -FetchSafeId -iN | -iALL | |||
MegaCli XD -ApplyActivationKey <key> -iN | |||
Exit Code: 0x00 | |||
</pre> | |||
= Recover from "unconfigured bad" = | |||
* this means disk was removed at the wrong time | |||
* ./MegaCli64 -pdList -aALL | grep -i for ### should show no foreign configs available | |||
* ./MegaCli64 -PDMakeGood -PhysDrv[134:0] -a0 ### make it "unconfigured good", first number is "Enclosure device id", second number is "slot number" (0 to 7) | |||
* run -pdList again, it should find a foreign config | |||
* repeat for all disks, they all should show foreign config available | |||
* ./MegaCli64 -CfgForeign -Preview -aALL ### examine it | |||
* ./MegaCli64 -CfgForeign -Import -aALL ### import it | |||
* ./MegaCli64 -LDInfo -lALL -aALL ### observe logical drives exist | |||
* ls -l /sys/block ### observe block devices sda, sdb, etc now exist | |||
* blkid ### show disk labels | |||
* mount /dev/sda1 /mnt/tmp ### try to mount | |||
= Convert LD to ZFS = | |||
* NOTE: this will destroy all data on the hardware raid LD (logical disk) | |||
* copy data elsewhere, then copy it back | |||
* delete logical disk: ./MegaCli64 CfgLdDel -L3 -a0 | |||
* check that the disks are released: | |||
<pre> | |||
# ./MegaCli64 -pdList -aALL | grep -i "firmware state" | |||
Firmware state: Online, Spun Up | |||
Firmware state: Online, Spun Up | |||
Firmware state: Online, Spun Up | |||
Firmware state: Online, Spun Up | |||
Firmware state: Online, Spun Up | |||
Firmware state: Online, Spun Up | |||
Firmware state: Unconfigured(good), Spun Up | |||
Firmware state: Unconfigured(good), Spun Up | |||
</pre> | |||
* change disks to JBOD mode: ./MegaCli64 -PDMakeJBOD -PhysDrv[134:6] -a0 | |||
* and ./MegaCli64 -PDMakeJBOD -PhysDrv[134:7] -a0 | |||
* check that it took: | |||
<pre> | |||
# ./MegaCli64 -pdList -aALL | grep -i "firmware state" | |||
Firmware state: Online, Spun Up | |||
Firmware state: Online, Spun Up | |||
Firmware state: Online, Spun Up | |||
Firmware state: Online, Spun Up | |||
Firmware state: Online, Spun Up | |||
Firmware state: Online, Spun Up | |||
Firmware state: JBOD | |||
Firmware state: JBOD | |||
</pre> | |||
* check that block devices exist: | |||
<pre> | |||
root@phaarmonster:~# ls -l /sys/block/ | |||
total 0 | |||
lrwxrwxrwx 1 root root 0 Feb 22 17:32 loop0 -> ../devices/virtual/block/loop0 | |||
lrwxrwxrwx 1 root root 0 Feb 22 17:32 loop1 -> ../devices/virtual/block/loop1 | |||
lrwxrwxrwx 1 root root 0 Feb 22 17:32 loop2 -> ../devices/virtual/block/loop2 | |||
lrwxrwxrwx 1 root root 0 Feb 22 17:32 loop3 -> ../devices/virtual/block/loop3 | |||
lrwxrwxrwx 1 root root 0 Feb 22 17:32 loop4 -> ../devices/virtual/block/loop4 | |||
lrwxrwxrwx 1 root root 0 Feb 22 17:32 loop5 -> ../devices/virtual/block/loop5 | |||
lrwxrwxrwx 1 root root 0 Feb 22 17:32 loop6 -> ../devices/virtual/block/loop6 | |||
lrwxrwxrwx 1 root root 0 Feb 22 17:32 loop7 -> ../devices/virtual/block/loop7 | |||
lrwxrwxrwx 1 root root 0 Feb 22 23:42 sda -> ../devices/pci0000:ad/0000:ad:02.0/0000:b2:00.0/host0/target0:2:0/0:2:0:0/block/sda | |||
lrwxrwxrwx 1 root root 0 Feb 22 23:44 sdb -> ../devices/pci0000:ad/0000:ad:02.0/0000:b2:00.0/host0/target0:2:1/0:2:1:0/block/sdb | |||
lrwxrwxrwx 1 root root 0 Feb 22 23:44 sdc -> ../devices/pci0000:ad/0000:ad:02.0/0000:b2:00.0/host0/target0:2:2/0:2:2:0/block/sdc | |||
lrwxrwxrwx 1 root root 0 Feb 23 18:33 sdd -> ../devices/pci0000:ad/0000:ad:02.0/0000:b2:00.0/host0/target0:0:8/0:0:8:0/block/sdd | |||
lrwxrwxrwx 1 root root 0 Feb 23 18:34 sde -> ../devices/pci0000:ad/0000:ad:02.0/0000:b2:00.0/host0/target0:0:9/0:0:9:0/block/sde | |||
root@phaarmonster:~# ./smart-status.perl | |||
Disk model serial temperature realloc pending uncorr CRC err RRER Errors Link | |||
/dev/sda ? ? ? ? ? ? ? ? ? ? | |||
/dev/sdb ? ? ? ? ? ? ? ? ? ? | |||
/dev/sdc ? ? ? ? ? ? ? ? ? ? | |||
/dev/sdd WUH721818ALE604 02YE592D7A67446LEN 3WJMEWTJ 32 . . . . - . 6.0 | |||
/dev/sde WUH721818ALE604 02YE592D7A67446LEN 3WJLD23L 35 . . . . - . 6.0 | |||
root@phaarmonster:~# | |||
</pre> | |||
Latest revision as of 02:36, 24 February 2024
MegaRAID
- install MegaCli64
read https://gist.github.com/fxkraus/595ab82e07cd6f8e057d31bc0bc5e779 wget https://docs.broadcom.com/docs-and-downloads/raid-controllers/raid-controllers-common-files/8-07-14_MegaCLI.zip or get a copy from /home/olchansk/sysadm/MegaRAID as root: unzip 8-07-14_MegaCLI.zip cd Linux alien MegaCli-8.07.14-1.noarch.rpm dpkg -i megacli_8.07.14-2_all.deb cd ~root ln -s /opt/MegaRAID/MegaCli/MegaCli64 .
- get logical drives: ./MegaCli64 -LDInfo -lALL -aALL
- get physical drives: ./MegaCli64 -pdList -aALL
- which PD is in which LD: ./MegaCli64 -LDPdInfo -aALL
MegaCli64
root@phaarmonster:~# ./MegaCli64 help
MegaCLI SAS RAID Management Tool Ver 8.07.14 Dec 16, 2013
(c)Copyright 2013, LSI Corporation, All Rights Reserved.
NOTE: The following options may be given at the end of any command below:
[-Silent] [-AppLogFile filename] [-NoLog] [-page[N]]
[-] is optional.
N - Number of lines per page.
MegaCli -v
MegaCli -help|-h|?
MegaCli -adpCount
MegaCli -AdpSetProp {CacheFlushInterval -val} | { RebuildRate -val}
| {PatrolReadRate -val} | {BgiRate -val} | {CCRate -val} | {ForceSGPIO -val}
| {ReconRate -val} | {SpinupDriveCount -val} | {SpinupDelay -val}
| {CoercionMode -val} | {ClusterEnable -val} | {PredFailPollInterval -val}
| {BatWarnDsbl -val} | {EccBucketSize -val} | {EccBucketLeakRate -val}
| {AbortCCOnError -val} | AlarmEnbl | AlarmDsbl | AlarmSilence
| {SMARTCpyBkEnbl -val} | {SSDSMARTCpyBkEnbl -val} | NCQEnbl | NCQDsbl
| {MaintainPdFailHistoryEnbl -val} | {RstrHotSpareOnInsert -val}
| {DisableOCR -val} | {BootWithPinnedCache -val} | {enblPI -val} |{PreventPIImport -val}
| AutoEnhancedImportEnbl | AutoEnhancedImportDsbl
| {EnblSpinDownUnConfigDrvs -val}|{UseDiskActivityforLocate -val} -aN|-a0,1,2|-aALL
| {ExposeEnclDevicesEnbl -val} | {SpinDownTime -val}
| {SpinUpEncDrvCnt -val} | {SpinUpEncDelay -val} | {Perfmode -val} -aN|-a0,1,2|-aALL
| {PerfMode -val �MaxFlushLines -val �NumIOsToOrder -val} -aN|-a0,1,2|-aALL
MegaCli -AdpSetProp -AutoDetectBackPlaneDsbl -val -aN|-a0,1,2|-aALL
val - 0=Enable Auto Detect of SGPIO and i2c SEP.
1=Disable Auto Detect of SGPIO.
2=Disable Auto Detect of i2c SEP.
3=Disable Auto Detect of SGPIO and i2c SEP.
MegaCli -AdpSetProp -CopyBackDsbl -val -aN|-a0,1,2|-aALL
val - 0=Enable Copyback.
1=Disable Copyback.
MegaCli -AdpSetProp -EnableJBOD -val -aN|-a0,1,2|-aALL
val - 0=Disable JBOD mode.
1=Enable JBOD mode.
MegaCli -AdpSetProp -DsblCacheBypass -val -aN|-a0,1,2|-aALL
val - 0=Enable Cache Bypass.
1=Disable Cache Bypass.
MegaCli -AdpSetProp -LoadBalanceMode -val -aN|-a0,1,2|-aALL
val - 0=Auto Load balance mode.
1=Disable Load balance mode.
MegaCli -AdpSetProp -UseFDEOnlyEncrypt -val -aN|-a0,1,2|-aALL
val - 0=FDE and controller encryption (if HW supports) is allowed.
1=Only support FDE encryption, disallow controller encryption.
MegaCli -AdpSetProp -PrCorrectUncfgdAreas -val -aN|-a0,1,2|-aALL
val - 0= Correcting Media error during PR is disabled.
1=Correcting Media error during PR is allowed.
MegaCli -AdpSetProp -DsblSpinDownHSP -val -aN|-a0,1,2|-aALL
val - 0= Spinning down the Hot Spare is enabled.
1=Spinning down the Hot Spare is disabled.
MegaCli -AdpSetProp -DefaultLdPSPolicy -Automatic| -None | -Maximum| -MaximumWithoutCaching -aN|-a0,1,2|-aALL
MegaCli -AdpSetProp -DisableLdPS -interval n1 -time n2 -aN|-a0,1,2|-aALL
where n1 is the number of hours beginning at time n2
where n2 is the number of minutes from 12:00am
MegaCli -AdpSetProp -ENABLEEGHSP -val -aN|-a0,1,2|-aALL
val - 0= Disabled Emergency GHSP.
1= Enabled Emergency GHSP.
MegaCli -AdpSetProp -ENABLEEUG -val -aN|-a0,1,2|-aALL
val - 0= Disabled Emergency UG as Spare.
1= Enabled Emergency UG as Spare.
MegaCli -AdpSetProp -ENABLEESMARTER -val -aN|-a0,1,2|-aALL
val - 0= Disabled Emergency Spare as Smarter.
1= Enabled Emergency Spare as Smarter.
MegaCli -AdpSetProp -DPMenable -val -aN|-a0,1,2|-aALL
val - 0=Disable Drive Performance Monitoring .
1=Enable Drive Performance Monitoring.
MegaCli -AdpSetProp -SupportSSDPatrolRead -val -aN|-a0,1,2|-aALL
val - 0=Disable Patrol read for SSD drives .
1=Enable Patrol read for SSD drives.
MegaCli -AdpGetProp CacheFlushInterval | RebuildRate | PatrolReadRate | ForceSGPIO
| BgiRate | CCRate | ReconRate | SpinupDriveCount | SpinupDelay
| CoercionMode | ClusterEnable | PredFailPollInterval | BatWarnDsbl
| EccBucketSize | EccBucketLeakRate | EccBucketCount | AbortCCOnError
| AlarmDsply | SMARTCpyBkEnbl | SSDSMARTCpyBkEnbl | NCQDsply
| MaintainPdFailHistoryEnbl | RstrHotSpareOnInsert
| EnblSpinDownUnConfigDrvs | DisableOCR
| BootWithPinnedCache | enblPI |PreventPIImport | AutoEnhancedImportDsply | AutoDetectBackPlaneDsbl
| CopyBackDsbl | LoadBalanceMode | UseFDEOnlyEncrypt | WBSupport | EnableJBOD
| DsblCacheBypass | ExposeEnclDevicesEnbl | SpinDownTime | PrCorrectUncfgdAreas
| UseDiskActivityforLocate | ENABLEEGHSP | ENABLEEUG | ENABLEESMARTER | Perfmode | PerfModeValues
| -DPMenable -aN|-a0,1,2|-aALL
| DefaultLdPSPolicy | DisableLdPsInterval | DisableLdPsTime | SpinUpEncDrvCnt
| SpinUpEncDelay | PrCorrectUncfgdAreas
| DsblSpinDownHSP | SupportSSDPatrolRead -aN|-a0,1,2|-aALL
MegaCli -AdpAllInfo -aN|-a0,1,2|-aALL
MegaCli -AdpGetTime -aN|-a0,1,2|-aALL
MegaCli -AdpSetTime yyyymmdd hh:mm:ss -aN
MegaCli -AdpSetVerify -f fileName -aN|-a0,1,2|-aALL
MegaCli -AdpBIOS -Enbl |-Dsbl | -SOE | -BE | -HCOE | - HSM | EnblAutoSelectBootLd | DsblAutoSelectBootLd | -Dsply -aN|-a0,1,2|-aALL
MegaCli -AdpBootDrive {-Set {-Lx | -physdrv[E0:S0]}} | {-Unset {-Lx | -physdrv[E0:S0]}} |-Get -aN|-a0,1,2|-aALL
MegaCli -AdpAutoRbld -Enbl|-Dsbl|-Dsply -aN|-a0,1,2|-aALL
MegaCli -AdpCacheFlush -aN|-a0,1,2|-aALL
MegaCli -AdpPR -Dsbl|EnblAuto|EnblMan|Start|Suspend|Resume|Stop|Info|SSDPatrolReadEnbl |SSDPatrolReadDsbl
|{SetDelay Val}|{-SetStartTime yyyymmdd hh}|{maxConcurrentPD Val} -aN|-a0,1,2|-aALL
MegaCli -AdpCcSched -Dsbl|-Info|{-ModeConc | -ModeSeq [-ExcludeLD -LN|-L0,1,2]
[-SetStartTime yyyymmdd hh ] [-SetDelay val ] } -aN|-a0,1,2|-aALL
MegaCli -AdpCcSched -SetStartTime yyyymmdd hh -aN|-a0,1,2|-aALL
MegaCli -AdpCcSched -SetDelay val -aN|-a0,1,2|-aALL
MegaCli -FwTermLog -BBUoff|BBUoffTemp|BBUon|BBUGet|Dsply|Clear -aN|-a0,1,2|-aALL
MegaCli -AdpAlILog -aN|-a0,1,2|-aALL
MegaCli -AdpDiag [val] -aN|-a0,1,2|-aALL
val - Time in second.
MegaCli -AdpGetPciInfo -aN|-a0,1,2|-aALL
MegaCli -AdpShutDown -aN|-a0,1,2|-aALL
MegaCli -AdpDowngrade -aN|-a0,1,2|-aALL
MegaCli -PDList -aN|-a0,1,2|-aALL
MegaCli -PDGetNum -aN|-a0,1,2|-aALL
MegaCli -pdInfo -PhysDrv[E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL
MegaCli -PDOnline -PhysDrv[E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL
MegaCli -PDOffline -PhysDrv[E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL
MegaCli -PDMakeGood -PhysDrv[E0:S0,E1:S1,...] | [-Force] -aN|-a0,1,2|-aALL
MegaCli -PDMakeJBOD -PhysDrv[E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL
MegaCli -PDHSP {-Set [-Dedicated [-ArrayN|-Array0,1,2...]] [-EnclAffinity] [-nonRevertible]}
|-Rmv -PhysDrv[E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL
MegaCli -PDRbld -Start|-Stop|-Suspend|-Resume|-ShowProg |-ProgDsply
-PhysDrv [E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL
MegaCli -PDClear -Start|-Stop|-ShowProg |-ProgDsply
-PhysDrv [E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL
MegaCli -PdLocate {[-start] | -stop} -physdrv[E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL
MegaCli -PdMarkMissing -physdrv[E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL
MegaCli -PdGetMissing -aN|-a0,1,2|-aALL
MegaCli -PdReplaceMissing -physdrv[E0:S0] -arrayA, -rowB -aN
MegaCli -PdPrpRmv [-UnDo] -physdrv[E0:S0] -aN|-a0,1,2|-aALL
MegaCli -EncInfo -aN|-a0,1,2|-aALL
MegaCli -EncStatus -aN|-a0,1,2|-aALL
MegaCli -PhyInfo -phyM -aN|-a0,1,2|-aALL
MegaCli -PhySetLinkSpeed -phyM -speed -aN|-a0,1,2|-aALL
MegaCli -PdFwDownload [offline][ForceActivate] {[-SataBridge] -PhysDrv[0:1] }|{-EncdevId[devId1]} -f <filename> -aN|-a0,1,2|-aALL
MegaCli -LDInfo -Lx|-L0,1,2|-Lall -aN|-a0,1,2|-aALL
MegaCli -LDSetProp {-Name LdNamestring} | -RW|RO|Blocked|RemoveBlocked | WT|WB|ForcedWB [-Immediate] |RA|NORA | DsblPI
| Cached|Direct | -EnDskCache|DisDskCache | CachedBadBBU|NoCachedBadBBU
-Lx|-L0,1,2|-Lall -aN|-a0,1,2|-aALL
MegaCli -LDSetPowerPolicy -Default| -Automatic| -None| -Maximum| -MaximumWithoutCaching
-Lx|-L0,1,2|-Lall -aN|-a0,1,2|-aALL
MegaCli -LDGetProp -Cache | -Access | -Name | -DskCache | -PSPolicy | Consistency -Lx|-L0,1,2|-LALL
-aN|-a0,1,2|-aALL
MegaCli -LDInit {-Start [-full]}|-Abort|-ShowProg|-ProgDsply -Lx|-L0,1,2|-LALL -aN|-a0,1,2|-aALL
MegaCli -LDCC {-Start [-force]}|-Abort|-Suspend|-Resume|-ShowProg|-ProgDsply -Lx|-L0,1,2|-LALL -aN|-a0,1,2|-aALL
MegaCli -LDBI -Enbl|-Dsbl|-getSetting|-Abort|-Suspend|-Resume|-ShowProg|-ProgDsply -Lx|-L0,1,2|-LALL -aN|-a0,1,2|-aALL
MegaCli -LDRecon {-Start -rX [{-Add | -Rmv} -Physdrv[E0:S0,...]]}|-ShowProg|-ProgDsply
-Lx -aN
MegaCli -LdPdInfo -aN|-a0,1,2|-aALL
MegaCli -LDGetNum -aN|-a0,1,2|-aALL
MegaCli -LDBBMClr -Lx|-L0,1,2,...|-Lall -aN|-a0,1,2|-aALL
MegaCli -getLdExpansionInfo -Lx|-L0,1,2|-Lall -aN|-a0,1,2|-aALL
MegaCli -LdExpansion -pN -dontExpandArray -Lx|-L0,1,2|-Lall -aN|-a0,1,2|-aALL
MegaCli -GetBbtEntries -Lx|-L0,1,2|-Lall -aN|-a0,1,2|-aALL
MegaCli -Cachecade -assign|-remove -Lx|-L0,1,2|-LALL -aN|-a0,1,2|-aALL
MegaCli -CfgLdAdd -rX[E0:S0,E1:S1,...] [WT|WB] [NORA|RA] [Direct|Cached]
[CachedBadBBU|NoCachedBadBBU] [-szXXX [-szYYY ...]]
[-strpszM] [-Hsp[E0:S0,...]] [-AfterLdX] | [FDE|CtrlBased]
[-Default| -Automatic| -None| -Maximum| -MaximumWithoutCaching] [-Cache] [-enblPI] [-Force]-aN
MegaCli -CfgCacheCadeAdd [-rX] -Physdrv[E0:S0,...] {-Name LdNamestring} [WT|WB|ForcedWB] [-assign -LX|L0,2,5..|LALL] -aN|-a0,1,2|-aALL
MegaCli -CfgEachDskRaid0 [WT|WB] [NORA|RA] [Direct|Cached] [-enblPI]
[CachedBadBBU|NoCachedBadBBU] [-strpszM]|[FDE|CtrlBased] [-Default| -Automatic| -None| -Maximum| -MaximumWithoutCaching] [-Cache] -aN|-a0,1,2|-aALL
MegaCli -CfgClr [-Force] -aN|-a0,1,2|-aALL
MegaCli -CfgDsply -aN|-a0,1,2|-aALL
MegaCli -CfgCacheCadeDsply -aN|-a0,1,2|-aALL
MegaCli -CfgLdDel -LX|-L0,2,5...|-LALL [-Force] -aN|-a0,1,2|-aALL
MegaCli -CfgCacheCadeDel -LX|-L0,2,5...|-LALL -aN|-a0,1,2|-aALL
MegaCli -CfgFreeSpaceinfo -aN|-a0,1,2|-aALL
MegaCli -CfgSpanAdd -r10 -Array0[E0:S0,E1:S1] -Array1[E0:S0,E1:S1] [-ArrayX[E0:S0,E1:S1] ...]
[WT|WB] [NORA|RA] [Direct|Cached] [CachedBadBBU|NoCachedBadBBU]
[-szXXX[-szYYY ...]][-strpszM][-AfterLdX]| [FDE|CtrlBased]
[-Default| -Automatic| -None| -Maximum| -MaximumWithoutCaching] [-Cache] [-enblPI] [-Force] -aN
MegaCli -CfgSpanAdd -r50 -Array0[E0:S0,E1:S1,E2:S2,...] -Array1[E0:S0,E1:S1,E2:S2,...]
[-ArrayX[E0:S0,E1:S1,E2:S2,...] ...] [WT|WB] [NORA|RA] [Direct|Cached]
[CachedBadBBU|NoCachedBadBBU][-szXXX[-szYYY ...]][-strpszM][-AfterLdX]
[FDE|CtrlBased] [-Default| -Automatic| -None| -Maximum| -MaximumWithoutCaching] [-Cache] [-enblPI] [-Force] -aN
MegaCli -CfgSpanAdd -r60 -Array0[E0:S0,E1:S1,E2:S2,E3,S3...] -Array1[E0:S0,E1:S1,E2:S2,E3,S3...]
[-ArrayX[E0:S0,E1:S1,E2:S2,E3,S3...] ...] [WT|WB] [NORA|RA] [Direct|Cached]
[CachedBadBBU|NoCachedBadBBU][-szXXX[-szYYY ...]][-strpszM][-AfterLdX]|
[FDE|CtrlBased] [-Default| -Automatic| -None| -Maximum| -MaximumWithoutCaching] [-Cache] [-enblPI] [-Force] -aN
MegaCli -CfgAllFreeDrv -rX [-SATAOnly] [-SpanCount XXX] [WT|WB] [NORA|RA]
[Direct|Cached] [CachedBadBBU|NoCachedBadBBU] [-strpszM]
[-HspCount XX [-HspType -Dedicated|-EnclAffinity|-nonRevertible]]|
[FDE|CtrlBased] [-Default| -Automatic| -None| -Maximum| -MaximumWithoutCaching] [-Cache] [-enblPI] -aN
MegaCli -CfgSave -f filename -aN
MegaCli -CfgRestore -f filename -aN
MegaCli -CfgForeign -Scan | [-SecurityKey sssssssssss] -aN|-a0,1,2|-aALL
MegaCli -CfgForeign -Dsply [x] | [-SecurityKey sssssssssss] -aN|-a0,1,2|-aALL
MegaCli -CfgForeign -Preview [x] | [-SecurityKey sssssssssss] -aN|-a0,1,2|-aALL
MegaCli -CfgForeign -Import [x] | [-SecurityKey sssssssssss] -aN|-a0,1,2|-aALL
MegaCli -CfgForeign -Clear [x]|[-SecurityKey sssssssssss] -aN|-a0,1,2|-aALL
x - index of foreign configurations. Optional. All by default.
MegaCli -AdpEventLog -GetEventLogInfo -aN|-a0,1,2|-aALL
MegaCli -AdpEventLog -GetEvents {-info -warning -critical -fatal} {-f <fileName>} -aN|-a0,1,2|-aALL
MegaCli -AdpEventLog -GetSinceShutdown {-info -warning -critical -fatal} {-f <fileName>} -aN|-a0,1,2|-aALL
MegaCli -AdpEventLog -GetSinceReboot {-info -warning -critical -fatal} {-f <fileName>} -aN|-a0,1,2|-aALL
MegaCli -AdpEventLog -IncludeDeleted {-info -warning -critical -fatal} {-f <fileName>} -aN|-a0,1,2|-aALL
MegaCli -AdpEventLog -GetLatest n {-info -warning -critical -fatal} {-f <fileName>} -aN|-a0,1,2|-aALL
MegaCli -AdpEventLog -GetCCIncon -f <fileName> -LX|-L0,2,5...|-LALL -aN|-a0,1,2|-aALL
MegaCli -AdpEventLog -Clear -aN|-a0,1,2|-aALL
MegaCli -AdpBbuCmd -aN|-a0,1,2|-aALL
MegaCli -AdpBbuCmd -GetBbuStatus -aN|-a0,1,2|-aALL
MegaCli -AdpBbuCmd -GetBbuCapacityInfo -aN|-a0,1,2|-aALL
MegaCli -AdpBbuCmd -GetBbuDesignInfo -aN|-a0,1,2|-aALL
MegaCli -AdpBbuCmd -GetBbuProperties -aN|-a0,1,2|-aALL
MegaCli -AdpBbuCmd -BbuLearn -aN|-a0,1,2|-aALL
MegaCli -AdpBbuCmd -BbuMfgSleep -aN|-a0,1,2|-aALL
MegaCli -AdpBbuCmd -BbuMfgSeal -aN|-a0,1,2|-aALL
MegaCli -AdpBbuCmd -getBbumodes -aN|-a0,1,2|-aALL
MegaCli -AdpBbuCmd -SetBbuProperties -f <fileName> -aN|-a0,1,2|-aALL
MegaCli -AdpBbuCmd -GetGGEEPData offset [Hexaddress] NumBytes n -aN|-a0,1,2|-aALL
MegaCli -AdpBbuCmd -ScheduleLearn -Dsbl|-Info|[-STARTTIME DDD hh] -aN|-a0,1,2|-aALL
MegaCli -AdpFacDefSet -aN
MegaCli -AdpFwFlash -f filename [-ResetNow] [-NoSigChk] [-NoVerChk] [-FWTYPE n] -aN|-a0,1,2|-aALL
MegaCli -AdpGetConnectorMode -ConnectorN|-Connector0,1|-ConnectorAll -aN|-a0,1,2|-aALL
MegaCli -AdpSetConnectorMode -Internal|-External|-Auto -ConnectorN|-Connector0,1|-ConnectorAll -aN|-a0,1,2|-aALL
MegaCli -PhyErrorCounters -aN|-a0,1,2|-aALL
MegaCli -DirectPdMapping -Enbl|-Dsbl|-Dsply -aN|-a0,1,2|-aALL
MegaCli -PDCpyBk -Start -PhysDrv[E0:S0,E1:S1] -aN|-a0,1,2|-aALL
MegaCli -PDCpyBk -Stop|-Suspend|-Resume|-ShowProg|-ProgDsply -PhysDrv[E0:S0] -aN|-a0,1,2|-aALL
MegaCli -PDInstantSecureErase -PhysDrv[E0:S0,E1:S1,...] | [-Force] -aN|-a0,1,2|-aALL
MegaCli -CfgSpanAdd -rX -array0[E0:S1,E1:S1.....] array1[E0:S1,E1:S1.....] -szxxx -enblPI -aN|-a0,1,2|-aALL
MegaCli -LDMakeSecure -Lx|-L0,1,2,...|-Lall -aN|-a0,1,2|-aALL
MegaCli -DestroySecurityKey | [-Force] -aN
MegaCli -CreateSecurityKey -SecurityKey sssssssssss | [-Passphrase sssssssssss] |[-KeyID kkkkkkkkkkk] -aN
MegaCli -CreateSecurityKey useEKMS -aN
MegaCli -ChangeSecurityKey -OldSecurityKey sssssssssss | -SecurityKey sssssssssss|
[-Passphrase sssssssssss] | [-KeyID kkkkkkkkkkk] -aN
MegaCli -ChangeSecurityKey -SecurityKey sssssssssss|
[-Passphrase sssssssssss] | [-KeyID kkkkkkkkkkk] -aN
MegaCli -ChangeSecurityKey useEKMS -OldSecurityKey sssssssssss -aN
MegaCli -ChangeSecurityKey -useEKMS -aN
MegaCli -GetKeyID [-PhysDrv[E0:S0]] -aN
MegaCli -SetKeyID -KeyID kkkkkkkkkkk -aN
MegaCli -VerifySecurityKey -SecurityKey sssssssssss -aN
MegaCli -GetPreservedCacheList -aN|-a0,1,2|-aALL
MegaCli -DiscardPreservedCache -Lx|-L0,1,2|-Lall -force -aN|-a0,1,2|-aALL
sssssssssss - It must be between eight and thirty-two
characters and contain at least one number,
one lowercase letter, one uppercase
letter and one non-alphanumeric character.
kkkkkkkkkkk - Must be less than 256 characters.
MegaCli -ShowSummary [-f filename] -aN
MegaCli -ELF -GetSafeId -aN|-a0,1,2|-aALL
MegaCli -ELF -ControllerFeatures -aN|-a0,1,2|-aALL
MegaCli -ELF -Applykey key <val> [Preview] -aN|-a0,1,2|-aALL
MegaCli -ELF -TransferToVault -aN|-a0,1,2|-aALL
MegaCli -ELF -DeactivateTrialKey -aN|-a0,1,2|-aALL
MegaCli -ELF -ReHostInfo -aN|-a0,1,2|-aALL
MegaCli -ELF -ReHostComplete -aN|-a0,1,2|-aALL
MegaCli -LDViewMirror -Lx|-L0,1,2,...|-Lall -aN|-a0,1,2|-aALL
MegaCli -LDJoinMirror -DataSrc <val> [-force] -Lx|-L0,1,2,...|-Lall -aN|-a0,1,2|-aALL
MegaCli -SecureErase
Start[
Simple|
[Normal [ |ErasePattern ErasePatternA|ErasePattern ErasePatternA ErasePattern ErasePatternB]]|
[Thorough [ |ErasePattern ErasePatternA|ErasePattern ErasePatternA ErasePattern ErasePatternB]]]
| Stop
| ShowProg
| ProgDsply
[-PhysDrv [E0:S0,E1:S1,...] | -Lx|-L0,1,2|-LALL] -aN|-a0,1,2|-aALL
MegaCli -Version -Cli|-Ctrl|-Driver|-Pd -aN|-a0,1,2|-aALL
MegaCli -Perfmon {-start -interval <val>} | {stop} | {-getresults -f <Filename>} -aN
MegaCli -DpmStat -Dsply {lct | hist | ra | ext } [-physdrv[E0:S0]] -aN|-a0,1,2|-aALL
MegaCli -DpmStat -Clear {lct | hist | ra | ext } -aN|-a0,1,2|-aALL
Note: The directly connected drives can be specified as [:S]
Wildcard '?' can be used to specify the enclosure ID for the drive in the
only enclosure without direct connected device or the direct connected
drives with no enclosure in the system.
Note:[-aALL] option assumes that the parameters specified are valid
for all the Adapters.
Note:ProgDsply option is not supported in VMWARE-COSLESS.
The following options may be given at the end of any command above:
[-Silent] [-AppLogFile filename] [-NoLog] [-page[N]]
[-] is optional.
N - Number of lines per page.
MegaCli XD -AddVd <devList>
MegaCli XD -RemVd <devList>
MegaCli XD -AddCdev <devList> | -force
MegaCli XD -RemCdev <devList>
MegaCli XD -VdList | -Configured | -Unconfigured
MegaCli XD -CdevList | -Configured | -Unconfigured
MegaCli XD -ConfigInfo
MegaCli XD -PerfStats
MegaCli XD -OnlineVd
MegaCli XD -WarpDriveInfo -iN | -iALL
MegaCli XD -FetchSafeId -iN | -iALL
MegaCli XD -ApplyActivationKey <key> -iN
Exit Code: 0x00
Recover from "unconfigured bad"
- this means disk was removed at the wrong time
- ./MegaCli64 -pdList -aALL | grep -i for ### should show no foreign configs available
- ./MegaCli64 -PDMakeGood -PhysDrv[134:0] -a0 ### make it "unconfigured good", first number is "Enclosure device id", second number is "slot number" (0 to 7)
- run -pdList again, it should find a foreign config
- repeat for all disks, they all should show foreign config available
- ./MegaCli64 -CfgForeign -Preview -aALL ### examine it
- ./MegaCli64 -CfgForeign -Import -aALL ### import it
- ./MegaCli64 -LDInfo -lALL -aALL ### observe logical drives exist
- ls -l /sys/block ### observe block devices sda, sdb, etc now exist
- blkid ### show disk labels
- mount /dev/sda1 /mnt/tmp ### try to mount
Convert LD to ZFS
- NOTE: this will destroy all data on the hardware raid LD (logical disk)
- copy data elsewhere, then copy it back
- delete logical disk: ./MegaCli64 CfgLdDel -L3 -a0
- check that the disks are released:
# ./MegaCli64 -pdList -aALL | grep -i "firmware state" Firmware state: Online, Spun Up Firmware state: Online, Spun Up Firmware state: Online, Spun Up Firmware state: Online, Spun Up Firmware state: Online, Spun Up Firmware state: Online, Spun Up Firmware state: Unconfigured(good), Spun Up Firmware state: Unconfigured(good), Spun Up
- change disks to JBOD mode: ./MegaCli64 -PDMakeJBOD -PhysDrv[134:6] -a0
- and ./MegaCli64 -PDMakeJBOD -PhysDrv[134:7] -a0
- check that it took:
# ./MegaCli64 -pdList -aALL | grep -i "firmware state" Firmware state: Online, Spun Up Firmware state: Online, Spun Up Firmware state: Online, Spun Up Firmware state: Online, Spun Up Firmware state: Online, Spun Up Firmware state: Online, Spun Up Firmware state: JBOD Firmware state: JBOD
- check that block devices exist:
root@phaarmonster:~# ls -l /sys/block/
total 0
lrwxrwxrwx 1 root root 0 Feb 22 17:32 loop0 -> ../devices/virtual/block/loop0
lrwxrwxrwx 1 root root 0 Feb 22 17:32 loop1 -> ../devices/virtual/block/loop1
lrwxrwxrwx 1 root root 0 Feb 22 17:32 loop2 -> ../devices/virtual/block/loop2
lrwxrwxrwx 1 root root 0 Feb 22 17:32 loop3 -> ../devices/virtual/block/loop3
lrwxrwxrwx 1 root root 0 Feb 22 17:32 loop4 -> ../devices/virtual/block/loop4
lrwxrwxrwx 1 root root 0 Feb 22 17:32 loop5 -> ../devices/virtual/block/loop5
lrwxrwxrwx 1 root root 0 Feb 22 17:32 loop6 -> ../devices/virtual/block/loop6
lrwxrwxrwx 1 root root 0 Feb 22 17:32 loop7 -> ../devices/virtual/block/loop7
lrwxrwxrwx 1 root root 0 Feb 22 23:42 sda -> ../devices/pci0000:ad/0000:ad:02.0/0000:b2:00.0/host0/target0:2:0/0:2:0:0/block/sda
lrwxrwxrwx 1 root root 0 Feb 22 23:44 sdb -> ../devices/pci0000:ad/0000:ad:02.0/0000:b2:00.0/host0/target0:2:1/0:2:1:0/block/sdb
lrwxrwxrwx 1 root root 0 Feb 22 23:44 sdc -> ../devices/pci0000:ad/0000:ad:02.0/0000:b2:00.0/host0/target0:2:2/0:2:2:0/block/sdc
lrwxrwxrwx 1 root root 0 Feb 23 18:33 sdd -> ../devices/pci0000:ad/0000:ad:02.0/0000:b2:00.0/host0/target0:0:8/0:0:8:0/block/sdd
lrwxrwxrwx 1 root root 0 Feb 23 18:34 sde -> ../devices/pci0000:ad/0000:ad:02.0/0000:b2:00.0/host0/target0:0:9/0:0:9:0/block/sde
root@phaarmonster:~# ./smart-status.perl
Disk model serial temperature realloc pending uncorr CRC err RRER Errors Link
/dev/sda ? ? ? ? ? ? ? ? ? ?
/dev/sdb ? ? ? ? ? ? ? ? ? ?
/dev/sdc ? ? ? ? ? ? ? ? ? ?
/dev/sdd WUH721818ALE604 02YE592D7A67446LEN 3WJMEWTJ 32 . . . . - . 6.0
/dev/sde WUH721818ALE604 02YE592D7A67446LEN 3WJLD23L 35 . . . . - . 6.0
root@phaarmonster:~#