Skip to main content

command line tool to inspect and manipulate LSI MegaRAID adapters (such as used in IBM ServerRAID systems)

Project description

Many IBM xSeries servers come with LSI Logic MegaRAID RAID controllers, under the name IBM ServerRAID.

These can be accessed during the machine boot process via the BIOS screens using a conventional BIOS-like text interface or a ghastly and painful to use GUI interface. However, either of these requires the machine OS to be down.

The RAID adapters can also be accessed while the machine OS is up. For Linux, IBM offer a set of command line tools named MegaCLI, which are installed in /opt/MegaRAID. Unfortunately, their MegaCLI executable is both fiddly to invoke and in its reporting mode, produces a barely human readable report which is quite hostlie to machine parsing. I would surmise that someone was told to dump the adapter data in text form, and did so with an ad hoc report; it is pages long and arduous to inspect by eye.

The situation was sufficiently painful that I wrote this module which runs a couple of the report modes and parses their output. It is deliberately python 2.4 compatible so that it can run on RHEL 5 systems.

The primary “report” mode then dumps a short summary report of relevant information which can be eyeballed immediately; RAID configuration and issues are immediately apparent. Here is an example output (the “+” tracing lines are on stderr, and recite the underlying MegaCLI commands used):

# mcli report
+ exec py26+ -m cs.app.megacli report
+ exec /opt/MegaRAID/MegaCli/MegaCli64 -CfgDsply -aAll
+ exec /opt/MegaRAID/MegaCli/MegaCli64 -PDlist -aAll
Adapter 0 IBM ServeRAID-MR10i SAS/SATA Controller serial# Pnnnnnnnnn
  Virtual Drive 0
    2 drives, size = 278.464GB, raid = Primary-1, Secondary-0, RAID Level Qualifier-0
      physical drive enc252.devid8 [252:0]
      physical drive enc252.devid7 [252:1]
  4 drives:
    enc252.devid7 [252:1]: VD 0, DG None: 42D0628 279.396 GB, Online, Spun Up
    enc252.devid8 [252:0]: VD 0, DG None: 81Y9671 279.396 GB, Online, Spun Up
    enc252.devid2 [252:2]: VD None, DG None: 42D0628 279.396 GB, Unconfigured(good), Spun Up
    enc252.devid3 [252:3]: VD None, DG None: 42D0628 279.396 GB, Unconfigured(good), Spun Up

The secondary “status” mode recites the RAID status in a series of terse one line summaries; we use its output in our nagios monitoring. Here is an example output (the “+” tracing lines are on stderr, and recite the underlying MegaCLI commands used):

# mcli status
+ exec py26+ -m cs.app.megacli status
+ exec /opt/MegaRAID/MegaCli/MegaCli64 -CfgDsply -aAll
+ exec /opt/MegaRAID/MegaCli/MegaCli64 -PDlist -aAll
OK A0

The other current mode is “new_raid”, which will print a MegaCLI command line which will instruct the adapter to assemble a new RAID set.

MegaCLI class.

The module provides a MegaCLI class which embodies the parsed information from the MegaCLI reporting modes. This can be imported and used for special needs.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cs.app.megacli-20150801.tar.gz (7.4 kB view details)

Uploaded Source

File details

Details for the file cs.app.megacli-20150801.tar.gz.

File metadata

File hashes

Hashes for cs.app.megacli-20150801.tar.gz
Algorithm Hash digest
SHA256 b3418f50e3f7379ceb2b274126d4789803729177df360b4cd96f9c70571958d8
MD5 2aa2ce327c48031c61771b00f68596b2
BLAKE2b-256 32b2f43c6cf7380d016106c8e625686e04f567be6475ad88ec75ff000fdd5987

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page