Table des matières

Megaraid

https://hwraid.le-vert.net/wiki/DebianPackages

wget -O - https://hwraid.le-vert.net/debian/hwraid.le-vert.net.gpg.key | apt-key add -
echo "" >> /etc/apt/sources.list
echo "# hwraidle-vert.net raid hardwares management tools" >> /etc/apt/sources.list
echo "deb http://hwraid.le-vert.net/debian jessie main" >> /etc/apt/sources.list
apt-get update
apt-get install megaraid-status megacli

LSIMegaRAIDSAS

megaraidsas-status
megasasctl
megacli -AdpBbuCmd -GetBbuStatus -a0 
megacli -LDInfo -L0 -a0
megacli -LDInfo -L1 -a0
megacli -LDInfo -Lall -aall
megacli -AdpAllInfo -aall
megacli -PDList -aall | less

disable disk cache

megacli -LDSetProp DisDskCache -LAll -aAll

enable disk cache

megacli -LDSetProp EnDskCache -LAll -aAll

view cache policy

megacli -LDInfo -Lall -aAll | grep 'Cache Policy:'

disable RAID cache (WriteThrough)

megacli -LDSetProp WT -LALL -aALL

enable RAID cache (WriteBack)

megacli -LDSetProp WB -LALL -aALL

Depuis https://community.cisco.com/t5/security-knowledge-base/megacli-common-commands-and-procedures/ta-p/3114544 ::

Introduction

MegaCli commands have presented a number of questions among our users for Cisco's Physical Security. Here is an attempt to explain thier meaning and uses.

See also: Cisco VSM RAID Viewer General Parameters

  Adapter parameter -aN

The parameter -aN (where N is a number starting with zero or the string ALL) specifies the adapter ID. If you have only one controller it’s safe to use ALL instead of a specific ID, but you’re encouraged to use the ID for everything that makes changes to your RAID configuration.

  Physical drive parameter      -PhysDrv [E:S]

For commands that operate on one or more pysical drives, the -PhysDrv [E:S] parameter is used, where E is the enclosure device ID in which the drive resides and S the slot number (starting with zero). You can get the enclosure device ID using MegaCli -EncInfo -aALL. The E:S syntax is also used for specifying the physical drives when creating a new RAID virtual drive (see 5).

  Virtual drive parameter -Lx

The parameter -Lx is used for specifying the virtual drive (where x is a number starting with zero or the string all).

Running the executable can be accomplished by:

shell> /opt/MegaRAID/MegaCli/MegaCli <cmd>

or

shell> cd /opt/MegaRAID/MegaCli

shell> ./MegaCli <cmd>

Gather information

  Controller information
   MegaCli -AdpAllInfo -aALL
   MegaCli -CfgDsply -aALL
   MegaCli -adpeventlog -getevents -f lsi-events.log -a0 -nolog
  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      (Cisco MSPs do not have the battery backup unit installed, but in case yours has one)
   MegaCli -AdpBbuCmd -aALL 
  Check Battery backup warning on boot.  If this is enabled on an MSP, it will require manual intervention every time the system boots
   MegaCli -AdpGetProp BatWarnDsbl -a0 

Controller management

  Silence active alarm
   MegaCli -AdpSetProp AlarmSilence -aALL
  Disable alarm
   MegaCli -AdpSetProp AlarmDsbl -aALL
  Enable alarm
   MegaCli -AdpSetProp AlarmEnbl -aALL 
  Disable battery backup warning on system boot
   MegaCli -AdpSetProp BatWarnDsbl -a0
  Change the adapter rebuild rate to 60%:
   MegaCli -AdpSetProp {RebuildRate -60} -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 from the “Span Reference:” line you get using MegaCli -CfgDsply -aALL, minus the 0x0 part. For VSM systems it's normally 0. The number N of the row parameter is the Physical Disk in that span or array starting with zero (it can be but is not always the physical disk’s slot!).

  Rebuild drive - Drive status should be "Firmware state: Rebuild"
   MegaCli -PDRbld -Start -PhysDrv [E:S] -aN
   MegaCli -PDRbld -Stop -PhysDrv [E:S] -aN
   MegaCli -PDRbld -ShowProg -PhysDrv [E:S] -aN     
   MegaCli -PDRbld -ProgDsply -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: Rebuild a Drive that is marked 'Foreign' when Inserted:

  Bad to good
  MegaCli -PDMakeGood -PhysDrv [E:S]  -aALL
  Clear the foreign setting
   MegaCli -CfgForeign -Clear -aALL
  Set global hot spare
   MegaCli -PDHSP -Set -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

Gathering Standard logs

On every instance of a hard drive problem with an MSP server, we need to run the following commands to have any information about the problem:

 shell> rm –f MegaSAS.log
 shell> /opt/MegaRAID/MegaCli/MegaCli -adpallinfo -a0
 shell> /opt/MegaRAID/MegaCli/MegaCli -encinfo -a0
 shell> /opt/MegaRAID/MegaCli/MegaCli -ldinfo -lall -a0
 shell> /opt/MegaRAID/MegaCli/MegaCli -pdlist -a0
 shell> /opt/MegaRAID/MegaCli/MegaCli -adpeventlog -getevents -f lsi-events.log -a0 -nolog
 shell> /opt/MegaRAID/MegaCli/MegaCli -fwtermlog -dsply -a0 -nolog > lsi-fwterm.log

Collect the MegaSAS.log, lsi-events.log, and the lsi-fwterm.log files from the directory where the commands are run (they can be run from any directory on the MSP server) and attach the logs to the service request. You may use a program such as WinSCP (freeware) to pull the files off of the server.