1. HP Array Configuration Utility CLI for Linux environments

The utilty also works with other HP-servers as well as other RAID-controllers.

All supported debian-type distros can be viewed here; https://downloads.linux.hpe.com/SDR/downloads/mcp/Debian/dists/.

 

 

2. Installation instructions

Download the shell script installer and chmod it to be executable, then install the repo.

The script also requires lsb_release to be available to determine the distro as stated on https://downloads.linux.hpe.com/SDR/faq.html.

# wget http://downloads.linux.hpe.com/SDR/add_repo.sh
# chmod +x add_repo.sh
# apt install lsb-release

 

The interweb is unclear as to what keys to use for the signed repo, so I added all three from https://downloads.linux.hpe.com/SDR/keys.html.

# curl https://downloads.linux.hpe.com/SDR/hpPublicKey2048.pub | apt-key add -
# curl https://downloads.linux.hpe.com/SDR/hpPublicKey2048_key1.pub | apt-key add -
# curl https://downloads.linux.hpe.com/SDR/hpePublicKey2048_key1.pub | apt-key add -

 

Now, finally we can add the actual repo and start installing.

# ./add_repo.sh mcp
# apt update

 

When done, install the desired utilities.

A packages list can be found at https://downloads.linux.hpe.com/SDR/downloads/MCP/Debian/dists/buster/current/non-free/binary-amd64/Packages.

# apt install amsd hponcfg ssa ssacli ssaducli storcli

For me, some of the daemons didn't start properly after the install.
I'll remove the related packages at a future date. For now, I only need ssacli.

 

For legacy reasons, I choose to make a symlink in /user/sbin using the old hpacucli command.

That way I don't have to rewrite any previous articles about the hpacucli utility; I have one with CentOS/RHEL focus at Using hpacucli with HP Proliant ML150 G6 and HP Smart Array 410i Controller.
And yes, we linux geeks are bit lazy. :-)

# ln -s /usr/sbin/ssacli /usr/sbin/hpacucli

 

For the rest of this guide the legacy commands should work straight on.

 

 

3. A pretty command guide

https://www.thegeekstuff.com/2014/07/hpacucli-examples/

 

 

4. Notable command examples

While rebuilding, to check the status

# hpacucli rescan
# hpacucli ctrl all show config

Smart Array P410 in Slot 4 (sn: xxxxxxxxxxxxxx )

array A (SATA, Unused Space: 0 MB)

logicaldrive 1 (3.6 TB, RAID 1+0, Recovering, 93% complete)

physicaldrive 1I:1:1 (port 1I:box 1:bay 1, SATA, 1 TB, OK)
physicaldrive 1I:1:2 (port 1I:box 1:bay 2, SATA, 1 TB, OK)
physicaldrive 1I:1:3 (port 1I:box 1:bay 3, SATA, 1 TB, OK)
physicaldrive 1I:1:4 (port 1I:box 1:bay 4, SATA, 1 TB, OK)
physicaldrive 2I:1:1 (port 2I:box 1:bay 1, SATA, 1 TB, OK)
physicaldrive 2I:1:2 (port 2I:box 1:bay 2, SATA, 1 TB, OK)
physicaldrive 2I:1:3 (port 2I:box 1:bay 3, SATA, 1 TB, OK)
physicaldrive 2I:1:4 (port 2I:box 1:bay 4, SATA, 1 TB, Rebuilding)

 

Run this to monitor the status as it changes.

# watch hpacucli ctrl all show config

 

View all logical drives

# hpacucli ctrl slot=4 ld all show


Smart Array P410 in Slot 4
array A
logicaldrive 1 (3.6 TB, RAID 1+0, Recovering, 93% complete)

  

View Detailed Logical Drive Status

# hpacucli ctrl slot=4 ld 1 show 

Smart Array P410 in Slot 4

  Array A

     Logical Drive: 1
        Size: 6.37 TB
        Fault Tolerance: 5
        Heads: 255
        Sectors Per Track: 32
        Cylinders: 65535
        Strip Size: 64 KB
        Full Stripe Size: 448 KB
        Status: OK
        Unrecoverable Media Errors: None
        Caching:  Enabled
        Parity Initialization Status: Queued
        Unique Identifier: 600508B100105239535A3649484A0800
        Disk Name: /dev/sdb  
        Mount Points: None
        Logical Drive Label: A04AB123PACCR9SZ6IHJB7CC
        Drive Type: Data
        LD Acceleration Method: Controller Cache

 

Do I have a Battery Backed Write Cache (BBWC) controller card?

Have a look here for steps to determine; https://www.remkoweijnen.nl/blog/2011/11/15/determining-if-battery-backed-write-cache-is-installed.

I recently purchased a battery backupped cache-module to enable RAID5, and thus had reason to look into the battery status information.
This is how it's done.

# hpacucli ctrl slot=4 show      

Smart Array P410 in Slot 4
  Bus Interface: PCI
  Slot: 4
  Serial Number: PACCR9SZ6IHJ
  Cache Serial Number: PBCDF0CRH0B177
  Controller Status: OK
  Hardware Revision: C
  Firmware Version: 3.00-0
  Firmware Supports Online Firmware Activation: False
  Rebuild Priority: Medium
  Expand Priority: Medium
  Surface Scan Delay: 3 secs
  Surface Scan Mode: Idle
  Parallel Surface Scan Supported: No
  Queue Depth: Automatic
  Monitor and Performance Delay: 60  min
  Elevator Sort: Enabled
  Degraded Performance Optimization: Disabled
  Wait for Cache Room: Disabled
  Surface Analysis Inconsistency Notification: Disabled
  Post Prompt Timeout: 15 secs
  Cache Board Present: True
  Cache Status: OK
  Cache Ratio: 25% Read / 75% Write
  Drive Write Cache: Enabled
  Total Cache Size: 1.0
  Total Cache Memory Available: 0.9
  No-Battery Write Cache: Disabled
  Cache Backup Power Source: Capacitors
  Battery/Capacitor Count: 1
  Battery/Capacitor Status: OK
  SATA NCQ Supported: True
  Number of Ports: 2 Internal only
  Encryption: Not Set
  Driver Name: hpsa
  Driver Version: 3.4.20
  Driver Supports SSD Smart Path: True
  PCI Address (Domain:Bus:Device.Function): 0000:05:00.0
  Port Max Phy Rate Limiting Supported: False
  Sanitize Erase Supported: False
  Primary Boot Volume: None
  Secondary Boot Volume: None

 

 

5. Sources

https://blog.sleeplessbeastie.eu/2017/03/06/how-to-use-hp-command-line-array-configuration-utility/

https://downloads.linux.hpe.com/SDR/faq.html

https://downloads.linux.hpe.com/SDR/downloads/MCP/Debian/dists/buster/current/non-free/binary-amd64/Packages

https://downloads.linux.hpe.com/SDR/keys.html

https://www.remkoweijnen.nl/blog/2011/11/15/determining-if-battery-backed-write-cache-is-installed

https://www.thegeekstuff.com/2014/07/hpacucli-examples/