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 18:36, 23 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:~#