Stephen Sargent

Software, Server and Network Configuration and Management

  • Increase font size
  • Default font size
  • Decrease font size

LSI and MegaCli

E-mail Print PDF

Wow! Another piece of semi-mission critical software that has no Readme or HowTo. I hope this posting helps a few people stuck with this utility. As usual feel free to This e-mail address is being protected from spambots. You need JavaScript enabled to view it .

I dump a log file of the controller and associated drives so I can reference it and build my actions list and script from it. Use whatever pager you like I used less.

megacli -AdpEventLog -GetEvents -f megacli_events.log -aALL && less megacli_events.log

Gather information

* Controller information

megacli -AdpAllInfo -aALL
megacli -CfgDsply -aALL
megacli -AdpEventLog -GetEvents -f events.log -aALL && cat events.log
* Enclosure information

megacli -EncInfo -aALL
* Virtual drive information

megacli -LDInfo -Lall -aALL
* Physical drive information

megacli -PDList -aALL
megacli -PDInfo -PhysDrv [E:S] -aALL
* Battery backup information

megacli -AdpBbuCmd -aALL

Controller management

* Silence active alarm

megacli -AdpSetProp AlarmSilence -aALL
* Disable alarm

megacli -AdpSetProp AlarmDsbl -aALL
* Enable alarm

megacli -AdpSetProp AlarmEnbl -aALL

Virtual drive management

* Create RAID 0, 1, 5 drive

megacli -CfgLdAdd -r(0|1|5) [E:S, E:S, ...] -aN
* Create RAID 10 drive

megacli -CfgSpanAdd -r10 -Array0[E:S,E:S] -Array1[E:S,E:S] -aN
* Remove drive

megacli -CfgLdDel -Lx -aN

Physical drive management

* Set state to offline

megacli -PDOffline -PhysDrv [E:S] -aN
* Set state to online

megacli -PDOnline -PhysDrv [E:S] -aN
* Mark as missing

megacli -PDMarkMissing -PhysDrv [E:S] -aN
* Prepare for removal

megacli -PdPrpRmv -PhysDrv [E:S] -aN
* Replace missing drive

megacli -PdReplaceMissing -PhysDrv [E:S] -ArrayN -rowN -aN
The number N of the array parameter is the Span Reference you get using „megacli -CfgDsply -

aALL“ and the number N of the row parameter is the Physical Disk in that span or array starting with

zero (it’s not the physical disk’s slot!).
* Rebuild drive

megacli -PDRbld -Start -PhysDrv [E:S] -aN
megacli -PDRbld -Stop -PhysDrv [E:S] -aN
megacli -PDRbld -ShowProg -PhysDrv [E:S] -aN
* Clear drive

megacli -PDClear -Start -PhysDrv [E:S] -aN
megacli -PDClear -Stop -PhysDrv [E:S] -aN
megacli -PDClear -ShowProg -PhysDrv [E:S] -aN
* Bad to good

megacli -PDMakeGood -PhysDrv[E:S] -aN
Changes drive in state Unconfigured-Bad to Unconfigured-Good.

Hot spare management

* Set global hot spare

megacli -PDHSP -Set -PhysDrv [E:S] -aN
* Remove hot spare

megacli -PDHSP -Rmv -PhysDrv [E:S] -aN
* Set dedicated hot spare

megacli -PDHSP -Set -Dedicated -ArrayN,M,... -PhysDrv [E:S] -aN

Walkthrough: Change/replace a drive

1. Set the drive offline, if it is not already offline due to an error

megacli -PDOffline -PhysDrv [E:S] -aN
2. Mark the drive as missing

megacli -PDMarkMissing -PhysDrv [E:S] -aN
3. Prepare drive for removal

megacli -PDPrpRmv -PhysDrv [E:S] -aN
4. Change/replace the drive
5. If you’re using hot spares then the replaced drive should become your new hot spare drive

megacli -PDHSP -Set -PhysDrv [E:S] -aN
6. In case you’re not working with hot spares, you must re-add the new drive to your RAID virtual
drive and start the rebuilding

megacli -PdReplaceMissing -PhysDrv [E:S] -ArrayN -rowN -aN
megacli -PDRbld -Start -PhysDrv [E:S] -aN

==========================================
==========================================
==========================================
MegaCLI SAS RAID Management Tool  Ver 5.00.20 September 30, 2009
(c)Copyright 2009, 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}
|{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} | NCQEnbl | NCQDsbl -aN|-a0,1,2|-aALL
|{SSDSMARTCpyBkEnbl -val} -aN|-a0,1,2|-aALL
|{MaintainPdFailHistoryEnbl -val} -aN|-a0,1,2|-aALL
|{ExposeEnclDevicesEnbl -val} -aN|-a0,1,2|-aALL
|{EnblSpinDownUnConfigDrvs -val} -aN|-a0,1,2|-aALL
|{EnblSSDPatrolRead -val} -aN|-a0,1,2|-aALL
| AutoEnhancedImportEnbl | AutoEnhancedImportDsbl -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 -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 -AdpGetProp CacheFlushInterval | RebuildRate | PatrolReadRate | BgiRate
| CCRate | ReconRate | SpinupDriveCount | SpinupDelay | CoercionMode
| PredFailPollInterval | EccBucketSize | EccBucketLeakRate | EccBucketCount
| ClusterEnable | BatWarnDsbl | AbortCCOnError | AlarmDsply
| AutoDetectBackPlaneDsbl| CopyBackDsbl | LoadBalanceMode | SMARTCpyBkEnbl | SSDSMARTCpyBkEnbl |

MaintainPdFailHistoryEnbl | EnblSpinDownUnConfigDrvs
| EnableJBOD | EnblSSDPatrolRead | ExposeEnclDevicesEnbl
| NCQDsply -aN|-a0,1,2|-aALL
| UseFDEOnlyEncrypt | WBSupport  -aN|-a0,1,2|-aALL
| AutoEnhancedImportDsply -aN|-a0,1,2|-aALL
| PrCorrectUncfgdAreas -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 | -Dsply -aN|-a0,1,2|-aALL
MegaCli -AdpBootDrive {-Set {-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|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 -AdpShutDown -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|-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 -PhyInfo -phyM -aN|-a0,1,2|-aALL 
MegaCli -PdFwDownload [-SataBridge] -PhysDrv[0:1,1:2,...] -f -aN|-a0,1,2|-aALL
MegaCli -LDInfo -Lx|-L0,1,2|-Lall -aN|-a0,1,2|-aALL
MegaCli -LDSetProp  {-Name LdNamestring} | -RW|RO|Blocked | WT|WB [-Immediate] |RA|NORA|ADRA
| Cached|Direct | -EnDskCache|DisDskCache | CachedBadBBU|NoCachedBadBBU
-Lx|-L0,1,2|-Lall -aN|-a0,1,2|-aALL
MegaCli -LDGetProp  -Cache | -Access | -Name | -DskCache -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|-ShowProg|-ProgDsply -Lx|-L0,1,2|-LALL -aN|-a0,1,2|-aALL
MegaCli -LDBI -Enbl|-Dsbl|-getSetting|-Abort|-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 -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] -aN
MegaCli -CfgEachDskRaid0 [WT|WB] [NORA|RA|ADRA] [Direct|Cached]
[CachedBadBBU|NoCachedBadBBU] [-strpszM]|[FDE|CtrlBased] -aN|-a0,1,2|-aALL
MegaCli -CfgClr -aN|-a0,1,2|-aALL
MegaCli -CfgDsply -aN|-a0,1,2|-aALL
MegaCli -CfgLdDel -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|ADRA] [Direct|Cached] [CachedBadBBU|NoCachedBadBBU]
[-szXXX[-szYYY ...]][-strpszM][-AfterLdX]|[FDE|CtrlBased] -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|ADRA] [Direct|Cached]
[CachedBadBBU|NoCachedBadBBU][-szXXX[-szYYY ...]][-strpszM][-AfterLdX]|
[FDE|CtrlBased] -aN
MegaCli -CfgAllFreeDrv -rX [-SATAOnly] [-SpanCount XXX] [WT|WB] [NORA|RA|ADRA]
[Direct|Cached] [CachedBadBBU|NoCachedBadBBU] [-strpszM]
[-HspCount XX [-HspType -Dedicated|-EnclAffinity|-nonRevertible]]|
[FDE|CtrlBased] -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 } -aN|-a0,1,2|-aALL
MegaCli -AdpEventLog -GetSinceShutdown {-info -warning -critical -fatal} {-f } -aN|-

a0,1,2|-aALL
MegaCli -AdpEventLog -GetSinceReboot {-info -warning -critical -fatal} {-f } -aN|-a0,1,2|-

aALL
MegaCli -AdpEventLog -IncludeDeleted {-info -warning -critical -fatal} {-f } -aN|-a0,1,2|-

aALL
MegaCli -AdpEventLog -GetLatest n {-info -warning -critical -fatal} {-f } -aN|-a0,1,2|-aALL
MegaCli -AdpEventLog -GetCCIncon -f -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 -SetBbuProperties -f -aN|-a0,1,2|-aALL
MegaCli -AdpFacDefSet -aN
MegaCli -AdpFwFlash -f filename [-NoSigChk] [-NoVerChk] -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|-ShowProg|-ProgDsply -PhysDrv[E0:S0] -aN|-a0,1,2|-aALL
MegaCli -PDInstantSecureErase -PhysDrv[E0:S0,E1:S1,...] | [-Force] -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 -ChangeSecurityKey -OldSecurityKey sssssssssss | -SecurityKey sssssssssss|
[-Passphrase sssssssssss] | [-KeyID kkkkkkkkkkk] -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 -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.

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.

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.

 

//

 

Last Updated on Friday, 19 March 2010 01:31  


Newsflash

Further Assistance, Inc. Hosting and Server Management

Domain Registration and Web Hosting solutions, Furtherassistance.com offers Server Management, Domain Registration and Web Hosting solutions to establish your web presence at prices you can afford!
Visit us online at http://furtherassistance.com to speak to a representative.

Furtherassistance.com web hosting plans are designed with premium features at great prices.
Check out Furtherassistance.com domain name services, with registration prices as low as $10 and an easy to use domain management system.
Furtherassistance.com offers Reseller Hosting Packages and Domain Name Reseller Plans, as well as customized services to fit your unique business needs.