Der Befehl hpacucli funktioniert auf Kernel 3.x nicht mehr zur Plattenverwaltung an HP Smart Array Controllern
27. Dezember 2011 | Von Ralf Spenneberg | Kategorie: AdminHP stellt für die Verwaltung seiner Controller zur Laufzeit unter Linux den Befehl hpacucli zur Verfügung. Dieser Befehl ist nur als binäres Paket erhältlich und erlaubt die Erzeugung, Verwaltung, Erweiterung und Löschung von RAID-Arrays zur Laufzeit des System. Dann können per Hot-Swap zur Laufzeit Platten eingeschoben und in RAID-Systeme eingebunden werden.
Der binäre Befehl hpacucli (neueste Version hier) funktioniert unter dem 3.x Kernel nicht mehr auf Debian oder Ubuntu. Der Befehl findet hier keine Controller:
# hpacucli ctrl all show Error: No controllers detected
Dies liegt an der Kernel-Version. Der Befehl rechnet nicht mit einer Versionsnummer 3.x. Damit der Befehl wieder funktioniert, muss ihm der Kernel 2.6 vorgegaukelt werden. Dies ist einfach mit dem Werkzeug uname26 möglich. Dieses kann von hier bezogen werden. Nach Übersetzung mit make kann der Befehl vorangestellt werden:
# ./uname26 hpacucli ctrl slot=9 physicaldrive all show Smart Array P400 in Slot 9 array A physicaldrive 2I:1:1 (port 2I:box 1:bay 1, SAS, 72 GB, OK) physicaldrive 2I:1:2 (port 2I:box 1:bay 2, SAS, 72 GB, OK) physicaldrive 2I:1:3 (port 2I:box 1:bay 3, SAS, 72 GB, OK) array B physicaldrive 1I:1:5 (port 1I:box 1:bay 5, SATA, 1 TB, OK) physicaldrive 1I:1:6 (port 1I:box 1:bay 6, SATA, 1 TB, OK) physicaldrive 1I:1:7 (port 1I:box 1:bay 7, SATA, 1 TB, OK) physicaldrive 2I:1:4 (port 2I:box 1:bay 4, SATA, 1 TB, OK) physicaldrive 1I:1:8 (port 1I:box 1:bay 8, SATA, 1 TB, OK, spare)
Wie leicht zu erkennen ist, wird nun der Controller gefunden.
Der Befehl gaukelt lediglich eine andere Kernelversion vor:
./uname26 uname -a Linux bsi-server 2.6.42-030200rc2-generic #201111151435 SMP Tue Nov 15 19:36:01 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux