MegaCli command examples

From V.S.V., Inc.
Jump to: navigation, search

Determine disk states

$ sudo /opt/MegaCli -PDList -aALL

This will return information for each disk attached to each array in the system. For example:

Adapter #0
Enclosure Device ID: 32
Slot Number: 3
Device Id: 3
Sequence Number: 2
Media Error Count: 0
Other Error Count: 0
Predictive Failure Count: 2
Last Predictive Failure Event Seq Number: 11785
Raw Size: 70007MB [0x88bb93a Sectors]
Non Coerced Size: 69495MB [0x87bb93a Sectors]
Coerced Size: 69376MB [0x8780000 Sectors]
Firmware state: Online
SAS Address(0): 0x5000c5000c1bcaed
SAS Address(1): 0x0
Connected Port Number: 3(path0)
Inquiry Data: SEAGATE ST973451SS      SM043PD1Z56T

In this example, the drive is getting ready to fail (Predictive Failure Count: 2) but, hasn't yet (Firmware state: Online).

Taking a disk offline for replacement

Continuing with the drive example above, we now want to replace this drive before it becomes a problem but, we need to do that safely. Placing the drive in an offline state will do that.

sudo /opt/MegaCli -PDOffline -PhysDrv \[32:3\] -a0

The 32 is the "Enclosure Device ID", the 3 is the "Slot Number" and the 0 is the "Adapter #".

Is the new drive usable?

After the failed drive has been replaced, it needs to synchronize with the rest of the array before it can be used. This is called a "rebuild". If you want to see the progress of this run:

sudo /opt/MegaCli -PDRbld -ShowProg -PhysDrv \[32:3\] -a0

Again, the 32 is the "Enclosure Device ID", the 3 is the "Slot Number" and the 0 is the "Adapter #" from the drive example above.