Frequently Asked Question
HPE SSACLI is the command-line management tool for HPE Smart Array controllers on Linux. On older systems the binary may be hpssacli, but the command syntax is effectively the same.
Most common installations place the binary at:
/usr/sbin/ssacli/usr/sbin/hpssacli
Run it as root, or with sudo.
Useful terms
ctrl= controllerpd= physical driveld= logical drivearray= drive group on the controller, such asAorBslot=0= controller slot number1I:1:1= physical drive address, usuallyPort:Box:Bay
For the examples below, replace slot=0, array A, ld 1, and 1I:1:1 with the values from the actual server.
List all controllers
Use this first to find the installed Smart Array controllers and their slot numbers:
ssacli ctrl all show
For more detail, including model, serial number, cache status and firmware:
ssacli ctrl all show detail
If the binary is only available as hpssacli, use:
hpssacli ctrl all show
Show the full configuration of a controller
This is the most useful general overview. It shows arrays, logical drives and physical drives in one output:
ssacli ctrl slot=0 show config
For the full verbose version:
ssacli ctrl slot=0 show config detail
This is often the quickest way to spot:
- failed drives
- degraded arrays
- rebuilding drives
- missing drives
- logical drive status issues
List physical drives on a controller
To see all physical drives connected to a controller:
ssacli ctrl slot=0 pd all show
For a concise health view:
ssacli ctrl slot=0 pd all show status
For full drive information:
ssacli ctrl slot=0 pd all show detail
Typical details include:
- model
- serial number
- size
- interface type
- firmware
- drive state
- port/box/bay location
Show a single physical drive in detail
To inspect one disk:
ssacli ctrl slot=0 pd 1I:1:1 show
For full details:
ssacli ctrl slot=0 pd 1I:1:1 show detail
This is useful for checking:
- whether a drive has failed
- predictive failure alerts
- whether a replacement disk has been recognised
- whether the drive is rebuilding or acting as a spare
Show arrays and logical drives
To show arrays on a controller:
ssacli ctrl slot=0 array all show
To inspect a specific array:
ssacli ctrl slot=0 array A show
For more detail:
ssacli ctrl slot=0 array A show detail
To list logical drives:
ssacli ctrl slot=0 ld all show
To show logical drive status only:
ssacli ctrl slot=0 ld all show status
To inspect one logical drive in detail:
ssacli ctrl slot=0 ld 1 show detail
In practice, array health is often easiest to assess with:
ssacli ctrl slot=0 show config detail
and:
ssacli ctrl slot=0 ld all show status
Check controller health and cache status
For controller-level health, battery/capacitor status and cache information:
ssacli ctrl slot=0 show detail
This is useful when diagnosing:
- cache module faults
- failed or charging cache backup units
- controller firmware issues
- disabled write cache
Find failed or predictive-failure disks quickly
A concise way to check for problem disks is:
ssacli ctrl slot=0 pd all show status
A wider health check across the full controller is:
ssacli ctrl slot=0 show config detail
Look for states such as:
OKFailedPredictive FailureRebuildingRecoveringInterim Recovery Mode
Locate a physical disk by flashing its LED
To identify a specific disk physically in the chassis:
ssacli ctrl slot=0 pd 1I:1:1 modify led=on
To stop the locate LED:
ssacli ctrl slot=0 pd 1I:1:1 modify led=off
This is useful before removing a failed drive from a live server.
Run diagnostics
There are two common levels of diagnostics:
- On-screen diagnostic information
- A controller diagnostic report file
For on-screen diagnostic output, start with:
ssacli ctrl slot=0 show detail
and:
ssacli ctrl slot=0 show config detail
If the installed SSACLI build supports controller diagnostic report generation, use:
ssacli ctrl slot=0 diag file=/tmp/ssacli-slot0-diag.zip
For all controllers:
ssacli ctrl all diag file=/tmp/ssacli-all-diag.zip
The resulting archive can be used for support analysis. On some systems, diagnostic collection depends on the exact HPE package version, so the available diag options may vary slightly.
Rebuilding an array after a drive failure
For normal drive replacement, Smart Array rebuilds are usually automatic. There is typically no separate manual rebuild command required for a standard failed-disk replacement.
Typical rebuild process
- Identify the failed drive:
ssacli ctrl slot=0 pd all show status
- Confirm the affected array and logical drive:
ssacli ctrl slot=0 show config detail
- If needed, flash the drive LED so the correct disk is removed:
ssacli ctrl slot=0 pd 1I:1:1 modify led=on
- Replace the failed disk with a compatible drive of equal or greater size.
- Check whether the new drive is recognised:
ssacli ctrl slot=0 pd all show
- Monitor rebuild progress:
ssacli ctrl slot=0 pd all show status
and:
ssacli ctrl slot=0 ld all show status
During rebuild, status usually changes to Rebuilding or Recovering.
Important points
- Rebuild normally starts automatically when a failed disk is replaced in a redundant RAID set such as RAID 1, RAID 5, RAID 6 or RAID 10.
- If a hot spare is already assigned, rebuild may start on the spare immediately after failure.
- If the logical drive is non-redundant, such as RAID 0, there is no rebuild path after disk failure.
- Do not delete and recreate the array to try to force a rebuild.
Monitor rebuild progress repeatedly
A simple way to watch status during a rebuild:
watch -n 10 'ssacli ctrl slot=0 ld all show status; echo; ssacli ctrl slot=0 pd all show status'
This shows logical drive and physical drive status every 10 seconds.
Change rebuild priority
If rebuild is running too slowly, the controller rebuild priority can be adjusted. Higher priority usually speeds up recovery but may reduce normal I/O performance.
Check current controller detail:
ssacli ctrl slot=0 show detail
Set rebuild priority to high:
ssacli ctrl slot=0 modify rebuildpriority=high
Set it back to medium:
ssacli ctrl slot=0 modify rebuildpriority=medium
Set it to low:
ssacli ctrl slot=0 modify rebuildpriority=low
Use this carefully on production systems.
Assign a hot spare
To add a spare drive to an array:
ssacli ctrl slot=0 array A add spares=1I:1:6
To remove a spare assignment:
ssacli ctrl slot=0 array A remove spares=1I:1:6
A spare can allow the controller to begin rebuild automatically as soon as a member disk fails.
Useful day-to-day commands
Show everything on all controllers:
ssacli ctrl all show config
Show full detail for everything on one controller:
ssacli ctrl slot=0 show config detail
Show only physical drive health:
ssacli ctrl slot=0 pd all show status
Show only logical drive health:
ssacli ctrl slot=0 ld all show status
Show one disk in full detail:
ssacli ctrl slot=0 pd 1I:1:1 show detail
Show one logical drive in full detail:
ssacli ctrl slot=0 ld 1 show detail
Show controller hardware and cache detail:
ssacli ctrl slot=0 show detail
Practical workflow for a degraded array
A typical sequence when a RAID set is degraded is:
ssacli ctrl all show
ssacli ctrl slot=0 show config detail
ssacli ctrl slot=0 pd all show status
ssacli ctrl slot=0 ld all show status
If a disk must be replaced:
ssacli ctrl slot=0 pd 1I:1:1 modify led=on
After replacement, check for rebuild:
ssacli ctrl slot=0 pd all show status
ssacli ctrl slot=0 ld all show status
Notes on command compatibility
- Older servers often use
hpssacli; newer packaging often usesssacli. - Command syntax is usually the same.
- Some advanced options vary slightly by controller generation and firmware.
- Smart Array behaviour also varies by RAID level, cache module and whether a spare is already assigned.
For most routine Linux administration, these are the core commands that cover controller discovery, drive inspection, array status, diagnostics and rebuild monitoring.
