iSumsoft» Computer Tweaks » Check RAID Status with StorCLI

How to Check Hardware RAID Status on Linux Using StorCLI [2026 Guide]

Ralph Adolphs
Ralph Adolphs

Updated:

If you manage servers with hardware RAID, tools like lsblk or fdisk only show the logical volumes — not individual disk health. This guide explains how to use Broadcom's StorCLI utility to inspect RAID controllers, physical drives, and virtual drives on Linux.

Check Hardware RAID Status on Linux Using StorCLI

Why lsblk Can't Show Individual Disk Health

When a server uses a hardware RAID controller (such as a Dell PERC, Broadcom MegaRAID, or Lenovo ThinkSystem card), the controller presents the RAID array to the operating system as a single block device — for example, /dev/sda.

Standard Linux tools like lsblk, fdisk -l, and df -h can only see this virtual disk. They have no visibility into:

  • How many physical disks make up the array
  • Whether any individual disk has failed or is degraded
  • The RAID level (RAID 0, 1, 5, 6, 10, etc.)
  • Rebuild progress if a disk was recently replaced

To get this critical information, you need a vendor-specific management tool that communicates directly with the RAID controller. For Broadcom/LSI-based controllers, that tool is StorCLI.

What Is StorCLI? (StorCLI vs MegaCLI)

StorCLI (Storage Command Line Interface) is the modern command-line utility from Broadcom (formerly Avago/LSI Logic) for managing MegaRAID controllers. It replaces the older MegaCLI tool, which was widely used but is now deprecated.

Key differences between StorCLI and MegaCLI

Feature MegaCLI (Legacy) StorCLI (Modern)
Maintainer LSI Logic (discontinued) Broadcom (actively updated)
Command syntax Verbose and inconsistent Clean, hierarchical (/cx /ex /sx)
JSON output Not supported Supported (J flag)
Status Deprecated Recommended

StorCLI works with controllers commonly found in:

  • Dell PowerEdge servers (PERC H730, H740, H755, etc.)
  • Lenovo ThinkSystem servers (RAID 930/940 series)
  • Supermicro boards with onboard MegaRAID
  • Cisco UCS servers with MegaRAID cards

Installing StorCLI on Linux

StorCLI is not available in standard package repositories. You need to download it from the Broadcom support portal.

On Ubuntu / Debian

# Download and extract the package
wget https://docs.broadcom.com/docs-and-downloads/007.2705.0000.0000_storcli_rel.zip
unzip 007.2705.0000.0000_storcli_rel.zip
cd storcli_rel/Unified_storcli_all_os/Ubuntu

# Install the .deb package
sudo dpkg -i storcli_007.2705.0000.0000_all.deb

# Create a symlink for easy access
sudo ln -s /opt/MegaRAID/storcli/storcli64 /usr/sbin/storcli

On CentOS / RHEL / Rocky Linux

# Navigate to the Linux directory after extraction
cd storcli_rel/Unified_storcli_all_os/Linux

# Install the RPM package
sudo rpm -ivh storcli-007.2705.0000.0000-1.noarch.rpm

# Create a symlink for easy access
sudo ln -s /opt/MegaRAID/storcli/storcli64 /usr/sbin/storcli

Verify the installation

sudo storcli -v

If you see version info and no errors, StorCLI is ready to use.

Checking RAID Controller Status

The first step is to list all RAID controllers detected in your system. The controller is referred to as /c0 (controller 0), /c1, etc.

# List all controllers
sudo storcli show

# Show detailed info for controller 0
sudo storcli /c0 show

The output will display the controller model, firmware version, number of virtual drives, physical drives, and overall status. Look for the "Status" field — it should say Optimal if everything is healthy.

Checking Physical Disk Status

This is the most important command for proactive disk health monitoring. It shows every physical drive connected to the controller across all enclosures and slots.

# Show all physical drives on controller 0
sudo storcli /c0 /eall /sall show

The output will look similar to this:

EID:Slt DID State  DG  Size     Intf  Med  SED PI SeSz Model
---------------------------------------------------------------
8:0     6   Onln   0   1.745 TB SAS   SSD  N   N  512B SAMSUNG MZ7LH1T9
8:1     5   Onln   0   1.745 TB SAS   SSD  N   N  512B SAMSUNG MZ7LH1T9
8:2     4   UGood  -   1.745 TB SAS   SSD  N   N  512B SAMSUNG MZ7LH1T9
8:3     7   Failed 1   1.745 TB SAS   SSD  N   N  512B SAMSUNG MZ7LH1T9

StorCLI physical drives output showing Onln, UGood, and Failed states

Understanding Drive State Values

State Meaning Action Required?
Onln Online — Drive is healthy and part of a RAID array No
UGood Unconfigured Good — Drive is healthy but not assigned to any array No (can be used as hot spare)
UBad Unconfigured Bad — Drive has errors and is not assigned Yes — investigate or replace
Failed Drive has failed within a RAID array Yes — replace immediately
Rbld Rebuild — A replacement drive is being rebuilt into the array Monitor progress
DHS Dedicated Hot Spare — Standby replacement drive No
GHS Global Hot Spare — Standby for any array No

Tip: For detailed SMART data and error counts on a specific drive, use:

# Show all details for enclosure 8, slot 0
sudo storcli /c0 /e8 /s0 show all

Checking Virtual Drive (Logical Array) Status

Virtual drives (VDs) are the logical volumes that the OS sees as block devices. Check them with:

# Show all virtual drives on controller 0
sudo storcli /c0 /vall show

Sample output:

DG/VD TYPE  State   Access Consist Cache  Cach  sCC   Size     Name
----------------------------------------------------------------------
0/0   RAID1 Optl    RW     Yes     RWBD   -     ON    1.745 TB main
1/1   RAID5 Dgrd    RW     No      RWBD   -     ON    5.236 TB data

StorCLI virtual drives output showing Optl and Dgrd states

Key Virtual Drive States

State Meaning Action
Optl Optimal — All drives healthy, full redundancy None
Dgrd Degraded — One or more drives failed; reduced redundancy Replace failed drive ASAP
Pdgd Partially Degraded — Multiple failures in nested RAID Critical — immediate action
OfLn Offline — Array is inaccessible Data may be lost
Rbld Rebuilding — A new drive is syncing into the array Monitor with /vall show rebuild

To check rebuild progress:

sudo storcli /c0 /v1 show rebuild

Locating a Failed Drive with LED Blinking

In a server chassis with many drive bays, finding the exact failed disk can be challenging. StorCLI can activate the drive's identification LED to make it blink:

# Start blinking the LED for enclosure 8, slot 3
sudo storcli /c0 /e8 /s3 start locate

# Stop the blinking after you've found the drive
sudo storcli /c0 /e8 /s3 stop locate

The LED will blink on the front panel of the drive bay, allowing data center staff to identify and physically pull the correct disk for replacement.

Server drive bay with amber LED blinking to locate a failed drive

Handling Degraded or Failed RAID

When you discover a Degraded virtual drive or a Failed physical disk, follow this workflow:

Step 1: Identify the failed drive

sudo storcli /c0 /eall /sall show
# Look for drives with State = Failed

Step 2: Activate the locate LED

sudo storcli /c0 /e8 /s3 start locate

Step 3: Replace the physical drive

Hot-swap the failed drive with a new one of equal or greater capacity. Most servers with hardware RAID support hot-swapping without downtime.

Step 4: Verify automatic rebuild

If a hot spare was configured, the rebuild starts automatically. Otherwise, after inserting the new drive, it may appear as UGood. You can manually start a rebuild or assign it as a replacement:

# Check if rebuild started automatically
sudo storcli /c0 /vall show rebuild

# If needed, replace the failed drive manually
sudo storcli /c0 /e8 /s3 replace /e8 /s4

Step 5: Monitor rebuild progress

sudo storcli /c0 /v0 show rebuild

Important: Do not reboot or power off the server during a rebuild. The process can take several hours depending on drive size and I/O load.

Frequently Asked Questions (FAQ)

Does StorCLI work with all RAID controllers?

No. StorCLI is designed for Broadcom (formerly LSI/Avago) MegaRAID and compatible controllers such as Dell PERC, Lenovo ThinkSystem, and Cisco MegaRAID cards. For other vendors like Adaptec or HPE Smart Array, use their respective tools (arcconf or ssacli).

What is the difference between StorCLI and MegaCLI?

MegaCLI is the legacy tool from LSI Logic, now deprecated. StorCLI is its modern successor from Broadcom, offering cleaner syntax, JSON output support, and active maintenance. All new deployments should use StorCLI.

Can I use StorCLI without root privileges?

No. StorCLI communicates directly with the RAID controller hardware, which requires root or sudo privileges on Linux.

What does UGood status mean for a physical drive?

UGood stands for Unconfigured Good. It means the drive is healthy but not currently assigned to any RAID virtual drive. You can use it as a hot spare or add it to a new array.

How do I get StorCLI output in JSON format?

Append J to any command to get machine-readable JSON output. This is useful for scripting and monitoring:

sudo storcli /c0 /eall /sall show J

Can StorCLI be used for scheduled monitoring?

Yes. You can create a cron job that runs StorCLI commands periodically and sends alerts if a drive state changes from Onln to Failed or a VD becomes Dgrd. Many administrators integrate this with Nagios, Zabbix, or Prometheus.

Conclusion

StorCLI is an essential tool for any Linux administrator managing servers with Broadcom-based hardware RAID controllers. While standard Linux commands only see the logical volumes, StorCLI gives you full visibility into every physical disk, virtual drive, and the controller itself.

Make it a habit to periodically run sudo storcli /c0 /eall /sall show and sudo storcli /c0 /vall show — or better yet, automate these checks with a monitoring script. Catching a Failed drive early can be the difference between a routine hot-swap and catastrophic data loss.

Related resource: The Complete Guide to Installing StorCLI on Linux and Windows (Lineserve)