Installing HP ProLiant Utilities on Ubuntu Server
Table of Contents
Background
As mentioned in my “Self-Hosting with Docker and Argo Tunnel“ post, I bought a HP DL360 G5 server a little while back. I’m most comfortable with Ubuntu Server, so I opted to install that on the sever. I recently learned that HP has utilities you can install on Linux to modify and view system-level settings and information, which is pretty cool.
I wanted to try them out, however, my server being a Gen 5, has not been supported for a long time and Ubuntu isn’t part of the of the group of OSs (Red Hat and SUSE) that get Service Packs. So the documentation and support is minimal, and it took me a bit of time to figure everything out.
Disclaimer: I’m working on a Gen 5 server, so things may vary.
Installation
First, in order to install the utilities, you need to add the source to apt
:
sudo echo "deb http://downloads.linux.hpe.com/SDR/repo/mcp bionic/current non-free" > /etc/apt/sources.list.d/mcp.list
Next, you need enroll HPE’s public keys:
curl http://downloads.linux.hpe.com/SDR/hpPublicKey1024.pub | apt-key add -
curl http://downloads.linux.hpe.com/SDR/hpPublicKey2048.pub | apt-key add -
curl http://downloads.linux.hpe.com/SDR/hpPublicKey2048_key1.pub | apt-key add -
curl http://downloads.linux.hpe.com/SDR/hpePublicKey2048_key1.pub | apt-key add -
Now, you just need to update your apt
sources, and install the utilities.
sudo apt update
sudo apt install hp-health hponcfg amsd ams ssacli ssaducli ssa
Despite the names of the packages listed on HPE’s page, I found that some of the packages simply didn’t exist, or had different names.
Utilities Overview
All of these utilities require being run as root.
hp-health
What Is It
“HPE System Health Application and Command line Utilities (Gen9 and earlier)”
Basically lets you view and adjust a lot of system-level settings from the command line.
Command
hpasmcli
Example
nathan@zeus:[~]$ sudo hpasmcli
HPE management CLI for Linux (v2.0)
Copyright 2015 Hewlett Packard Enterprise Development LP.
--------------------------------------------------------------------------
NOTE: Some hpasmcli commands may not be supported on all Proliant servers.
Type 'help' to get a list of all top level commands.
--------------------------------------------------------------------------
hpasmcli> help
CLEAR DISABLE ENABLE EXIT HELP NOTE QUIT REPAIR SET SHOW
hpasmcli> show temp
Sensor Location Temp Threshold
------ -------- ---- ---------
#1 I/O_ZONE 48C/118F 65C/149F
#2 AMBIENT 24C/75F 40C/104F
#3 PROCESSOR_ZONE 30C/86F 95C/203F
#4 PROCESSOR_ZONE 30C/86F 95C/203F
#5 POWER_SUPPLY_BAY 35C/95F 60C/140F
#6 PROCESSOR_ZONE 30C/86F 95C/203F
#7 PROCESSOR_ZONE 30C/86F 95C/203F
hpasmcli>
hponcfg
What Is It
“HPE RILOE II/iLO online configuration utility”
Command-line configuration for iLO
Command
hponcfg
Example
nathan@zeus:[~]$ sudo hponcfg -h
HP Lights-Out Online Configuration utility
Version 5.3.0 Date 3/21/2018 (c) 2005,2018 Hewlett Packard Enterprise Development LP
Firmware Revision = 1.61 Device type = iLO 2 Driver name = hpilo
USAGE:
hponcfg -?
hponcfg -h
hponcfg -m minFw
hponcfg -r [-m minFw]
hponcfg -b [-m minFw]
hponcfg [-a] -w filename [-m minFw]
hponcfg -g [-m minFw]
hponcfg -f filename [-l filename] [-s namevaluepair] [-v] [-m minFw] [-u username] [-p password]
hponcfg -i [-l filename] [-s namevaluepair] [-v] [-m minFw] [-u username] [-p password]
-h, --help Display this message
-? Display this message
-r, --reset Reset the Management Processor to factory defaults
-b, --reboot Reboot Management Processor without changing any setting
-f, --file Get/Set Management Processor configuration from "filename"
-i, --input Get/Set Management Processor configuration from the XML input
received through the standard input stream.
-w, --writeconfig Write the Management Processor configuration to "filename"
-a, --all Capture complete Management Processor configuration to the file.
This should be used along with '-w' option
-l, --log Log replies to "filename"
-v, --xmlverbose Display all the responses from Management Processor
-s, --substitute Substitute variables present in input config file
with values specified in "namevaluepairs"
-g, --get_hostinfo Get the Host information
-m, --minfwlevel Minimum firmware level
-u, --username iLO Username
-p, --password iLO Password
amsd
What Is It
“HPE Agentless Management Service (Gen10 only)”
Command
amsd
Example
¯\_(ツ)_/¯
I have a Gen 5 server, so it doesn’t do anything.
ams
What Is It
“HPE Agentless Management Service (Gen9 and earlier)”
Command
ams
Example
¯\_(ツ)_/¯
It requires an X server running, so I don’t know what it does.
ssacli
What Is It
“HPE Command Line Smart Storage Administration Utility”
Command-line utility to view/modify storage arrays.
Command
ssacli
Example
nathan@zeus:[~]$ sudo ssacli ctrl all show config
Smart Array E500 in Slot 1 (sn: PAFGH0K9XXXXXX)
Port Name: 1E
Port Name: 2E
Smart Array P400i in Slot 0 (Embedded) (sn: PH87XXXXXX )
Internal Drive Cage at Port 1I, Box 1, OK
Port Name: 1I
Port Name: 2I
Array A (SAS, Unused Space: 4 MB)
logicaldrive 1 (136.67 GB, RAID 5, OK)
physicaldrive 1I:1:1 (port 1I:box 1:bay 1, SAS HDD, 72 GB, OK)
physicaldrive 1I:1:2 (port 1I:box 1:bay 2, SAS HDD, 72 GB, OK)
physicaldrive 1I:1:3 (port 1I:box 1:bay 3, SAS HDD, 72 GB, OK)
ssaducli
What Is It
“HPE Command Line Smart Storage Administration Diagnostics”
Command-line utility to diagnose storage arrays.
Command
ssaducli
Example
# Generates report
sudo ssaducli -adu -txt -f filename.txt
ssa
What Is It
“HPE Array Smart Storage Administration Service”
This appears to do the same thing as the diagnostic tool plus a bit more.
Command
ssa
Example
# Generates report
sudo ssa -diag -txt -f filename.txt
Conclusion
Despite some hiccups, with these utilities installed, I can now modify basically all of the BIOS and iLO settings without needing a keyboard or monitor. I don’t think I have any need anymore to go into the BIOS maybe other than maybe modifying the RAID array configuration (which would wipe everything).