Skip to content
Indus LeveL
lsi megaraid sas raid sysadmin storage hardware

Managing Bare-Metal LSI MegaRAID SAS Controllers via CLI

A bare-metal storage engineering manual on provisioning hardware RAID disk groups, querying SAS topology, and verifying LSI controllers.

2 min read
Cover illustration representing bare-metal storage engineering and LSI MegaRAID physical drive management

When provisioning bare-metal database servers across enterprise data centers, managing hardware RAID volumes efficiently requires low-level administrative control over SAS storage controllers. Booting servers into the initial BIOS controller configuration utility requires taking active nodes offline during critical business hours.

To maintain production availability, storage engineers utilize bare-metal CLI wrappers to inspect attached SAS enclosures, query individual physical drive firmware states, and bootstrap new virtual drive storage arrays dynamically.

In this manual, I outline how to utilize low-level CLI utilities to verify attached storage topology and audit drive operational parameters.

Step 1: Enumerating Installed Storage Processors

To query physical storage processors and verify hardware RAID controller model details, initialize a discovery scan against installed adapter hardware slots.

# Query active host bus adapter count and firmware revisions
megacli -AdpAllInfo -aAll

Step 2: Auditing Physical Drive Topology (PdList)

When diagnosing failed array disks or preparing unallocated spares for logical grouping, print an audit report across all physical disks connected to target adapter slots.

# Display physical disk details on Adapter 0
megacli -PdList -a0

Parsing Diagnostic Topology Fields

Evaluating the CLI output provides precise insight into active link speeds, sector sizing, WWN addressing, and media verification status.

Adapter #0

Enclosure Device ID: 252
Slot Number: 0
Device Id: 12
Sequence Number: 2
Media Error Count: 0
Other Error Count: 0
Predictive Failure Count: 0
Last Predictive Failure Event Seq Number: 0
PD Type: SAS
Raw Size: 558.911 GB [0x45dd2fb0 Sectors]
Non Coerced Size: 558.411 GB [0x45cd2fb0 Sectors]
Coerced Size: 557.861 GB [0x45bb9000 Sectors]
Firmware state: Online, Spun Up
SAS Address(0): 0x5000c5003a0539d1
SAS Address(1): 0x0
Connected Port Number: 3(path0)
Inquiry Data: SEAGATE ST9600204SS     00066WN0P5GV
FDE Capable: Not Capable
FDE Enable: Disable
Secured: Unsecured
Locked: Unlocked
Needs EKM Attention: No
Foreign State: None
Device Speed: 6.0Gb/s
Link Speed: 6.0Gb/s
Media Type: Hard Disk Device
Drive:  Not Certified

Step 3: Identifying Array Drive States

When analyzing large SAS drive enclosures, distinguish between active volume members and unconfigured raw spares available for pool expansion.

1. Dedicated Online Volume Member

An active drive assigned to a degraded or optimal array logical group:

Enclosure Device ID: 252
Slot Number: 1
Device Id: 14
Coerced Size: 557.861 GB [0x45bb9000 Sectors]
Firmware state: Online, Spun Up
SAS Address(0): 0x5000c5003a049665
Inquiry Data: SEAGATE ST9600204SS     00066WN0NMAX

2. Unconfigured Pool Candidate

A completely healthy replacement disk prepared for dynamic inclusion or configured as a hot spare:

Enclosure Device ID: 252
Slot Number: 2
Device Id: 16
Coerced Size: 557.861 GB [0x45bb9000 Sectors]
Firmware state: Unconfigured(good), Spun Up
SAS Address(0): 0x5000c5003a05f631
Inquiry Data: SEAGATE ST9600204SS     00066WN0NHB5

Step 4: Provisioning Logical Volume Groups

With unallocated drives verified, invoke logical group creation specifying exact RAID level redundancy profiles across specific enclosure device IDs and physical slots.

# Construct a RAID 1 volume across enclosure 252, slots 2 and 3
megacli -CfgLdAdd -r1 [252:2, 252:3] WB RA Direct -a0

# Verify logical drive operational status
megacli -LDInfo -Lall -a0

References

Back to Blog
Share:

Follow along

Stay in the loop — new articles, thoughts, and updates.