Ubuntu Server & HP Proliant Support Pack ML350 G5, hpacucli & hp-health
In order to fully take advantage of the built in HP ProLiant features, we need to install HP's ProLiant Support Pack. Sadly HP no longer supports this for Debian/Ubuntu, but with a little bit of tweaking we can still make it work.
Installing HP Array admin tools
Download bootstrap from HP
test@ml350:~$ wget http://downloads.linux.hp.com/SDR/downloads/bootstrap.sh
We need to fix HP's bootstrap script to point to the current HP download url. Then we add HP's repo. Since HP no longer supports debian/ubuntu, we must override the distro version detection, therefore we specify -r oneiric
, 11.10 being the latest supported version. Then we add the repo's GPG key.
test@ml350:~$ sed -i 's/blofly.usa/downloads.linux/g' ./bootstrap.sh
test@ml350:~$ chmod +x bootstrap.sh
test@ml350:~$ sudo ./bootstrap.sh -r oneiric ProLiantSupportPack
test@ml350:~$ wget -qO- http://downloads.linux.hp.com/SDR/downloads/ProLiantSupportPack/GPG-KEY-ProLiantSupportPack | sudo apt-key add -
Finally we can update and install hpacu-cli and hp-health
test@ml350:~$ sudo apt-get update
test@ml350:~$ sudo apt-get install hpacucli hp-health
Fixing "Error: No controllers detected."
Now if you are like me and running a semi modern system(Kernel 3.0+), you will get the following error message:
test@ml350:~$ sudo hpacucli ctrl all show config
Error: No controllers detected.
To fix this you can either compile and run uname26 or backport a newer version of hpacucli from RHEL/SUSE to Debian/Ubuntu. For further reference, check here.
Option #1 (Option 2 is recommended):
Compile uname26 to pretend we are in an older kernel
test@ml350:~$ mkdir uname26
test@ml350:~$ cd uname26
test@ml350:~/uname26$ wget http://mirror.linux.org.au/linux/kernel/people/ak/uname26/Makefile
test@ml350:~/uname26$ wget http://mirror.linux.org.au/linux/kernel/people/ak/uname26/uname26.c
test@ml350:~/uname26$ make
test@ml350:~/uname26$ ./uname26
Now you can run it with uname26:
test@ml350:~/uname26$ sudo ./uname26 hpacucli ctrl all show config
Smart Array E200i in Slot 0 (Embedded) (sn: QXXXXXXXX)
array A (SAS, Unused Space: 0 MB)
logicaldrive 1 (341.7 GB, RAID 5, OK)
physicaldrive 1I:1:1 (port 1I:box 1:bay 1, SAS, 72 GB, OK)
physicaldrive 1I:1:2 (port 1I:box 1:bay 2, SAS, 72 GB, OK)
physicaldrive 1I:1:3 (port 1I:box 1:bay 3, SAS, 72 GB, OK)
physicaldrive 1I:1:4 (port 1I:box 1:bay 4, SAS, 72 GB, OK)
physicaldrive 2I:1:5 (port 2I:box 1:bay 5, SAS, 72 GB, OK)
physicaldrive 2I:1:6 (port 2I:box 1:bay 6, SAS, 72 GB, OK)
Option #2:
Backport the newer version of hpacucli from SUSE, since debian and ubuntu are no longer supported.
We use alien to convert the SUSE RPM into a DEB and then install it.
test@ml350:~$ wget http://downloads.linux.hp.com/SDR/downloads/proliantsupportpack/SuSE/11.2/x86_64/9.10/hpacucli-9.10-22.0.x86_64.rpm
test@ml350:~$ sudo apt-get install alien
test@ml350:~$ sudo alien hpacucli-9.10-22.0.x86_64.rpm
test@ml350:~$ sudo dpkg -i hpacucli_9.10-23_amd64.deb
And now it works without using uname26:
test@ml350:~$ sudo hpacucli ctrl all show config
Smart Array E200i in Slot 0 (Embedded) (sn: QXXXXXXXX)
array A (SAS, Unused Space: 0 MB)
logicaldrive 1 (341.7 GB, RAID 5, OK)
physicaldrive 1I:1:1 (port 1I:box 1:bay 1, SAS, 72 GB, OK)
physicaldrive 1I:1:2 (port 1I:box 1:bay 2, SAS, 72 GB, OK)
physicaldrive 1I:1:3 (port 1I:box 1:bay 3, SAS, 72 GB, OK)
physicaldrive 1I:1:4 (port 1I:box 1:bay 4, SAS, 72 GB, OK)
physicaldrive 2I:1:5 (port 2I:box 1:bay 5, SAS, 72 GB, OK)
physicaldrive 2I:1:6 (port 2I:box 1:bay 6, SAS, 72 GB, OK)
Cheers & enjoy =).