IBM Director 5.10 agent on Debian Etch

Update! After the first installation according this post I could connect to the director agent but it was only a regarded as a level 0 agent from the director server. When trying the core services there was of course lots of libraries missing. I don't doubt that I could get director running but what at price? What I really wanted was a simple way to monitor the server, especially the raid, for example using SNMP. Director isn't lightweight in any respect, it eats cpu cycles and mem, so i decided to skip and pursue another path. It wasn't worth the effort.

For those of you who wants to manage IBM's ServeRaid on Debian/Ubuntu may follow the guideMonitoring utility for IBM ServeRAID. When it comes to monitoring I still have to find out what program to use. Perhaps Ipsmon is an option? Input is appreciated.

To install IBM Director on Debian Etch I took a detour over Suse Linux in order to get all correct. What I did was to install Suse Linux 10 Enterprise Server on a virtual machine and extract the necessary files from there. Before installing Director on Suse I made a copy of /usr and /etc using cp -rp. The copies ended up in /etc.bak and /usr.bak. Then I installed the director agent and core services version 5.10 update 3. After that I diffed the directories to find out what had been installed using:

diff -r /etc /etc.bak > etc.diff
diff -r /usr /usr.bak > usr.diff

Nothing had to be done for /usr as there were no changes. In /etc the following dirs where added:

/etc/ibm/director/twgagent/twgagent
/etc/init.d/twgagent
/etc/pam.d/ibmdir
/etc/profile.d/twgagent.sh
/etc/rc.d/twgagent
/etc/TWGagent/TWGagent

The rest of the Director files were installed in /opt/ibm. So I used tar to collect all files:

tar -rvpsf director.tar /opt/ibm
tar -rvpsf director.tar /etc/ibm
tar -rvpsf director.tar /etc/init.d/twgagent
tar -rvpsf director.tar /etc/pam.d/ibmdir
tar -rvpsf director.tar /etc/profile.d/twgagent.sh
tar -rvpsf director.tar /etc/rc.d/twgagent
tar -rvpsf director.tar /etc/TWGagent/TWGagent

When installing on Debian I just unpacked the files and then copied

etc/init.d/twgagent -> etc/init.d/ 
etc/ibm -> /etc/ 
etc/TWGagent -> /etc/ 
opt/ibm -> /ibm 

using cp -pr. I didn't try the other files, but /etc/pam.d/ibmdir is perhaps a good idea to use in case one wants to authenticate from a Director server.

I wasn't even trying the start script that was installed. Instead I created a new one:

#!/bin/sh
#
# twgagent: Starts the IBM Director Agent
#
# Version: 5.10.3
#

# Load ITDAgent defaults
. /etc/ibm/director/twgagent/twgagent

PATH=$PATH:/usr/sbin:/usr/bin:/sbin:/bin:${TWG_ROOTDIR}
export PATH

START_DAEMON=${TWG_ROOTDIR}/bin/twgagent
STOP_DAEMON=${TWG_ROOTDIR}/bin/twgend
DAEMON_STATUS=${TWG_ROOTDIR}/bin/twgstat

case "$1" in
  start)
    if [ -x ${START_DAEMON} ];
    then
      echo -n ' TWGAgent: '
      start-stop-daemon --start --quiet --exec ${START_DAEMON}
      #echo ${START_DAEMON}
      RETVAL=$?
      echo
      [ $RETVAL -eq 0 ] && touch /var/lock/twgagent
    fi
  ;;
  stop)
    if [ -x ${STOP_DAEMON} ];
    then
      echo -n ' TWGAgent: '
      start-stop-daemon --start --exec ${STOP_DAEMON}
      #echo ${STOP_DAEMON}
      RETVAL=$?
      echo
      [ $RETVAL -eq 0 ] && rm -f /var/lock/twgagent
    fi
  ;;
  status)
    if [ -x ${DAEMON_STATUS} ];
    then
      echo -n ' TWGAgent status: '
      start-stop-daemon --start --exec ${DAEMON_STATUS}
      echo ${DAEMON_STATUS}
    fi
  ;;

  *)
    echo "Usage: $N {start|stop|status}" >&2
    exit 1
  ;;
esac

exit 0

After that I could start, stop and check the status of the service. I haven't tried yet to connect to the agent from a director server.

Comments

Did it work?

any luck being able to connect to the agent?

Did it work?

Well, I've just installed Director server on a virtual machine and it was my intention to try it out this week, but other things came by. As soon as I know if it is working I let you know.

Cheers
// John

Have you tried yet?

Any luck? I'd love to hear your experience.

kapn

I didn't bother

I updated the post a while ago and just as I state in the very beginning I never bothered to fulfill the installation. I did get contact with the server, but when trying the core services that are needed to do anything interesting there were a lot of libraries missing and didn't have time nor inspiration to continue the work.

I'm convinced that I could have succeded if I wanted to but it wasn't worth the effort. Director is a huge program and my aim was to monitor the server, not to suck processing power or mem. Why can't IBM offer some more light weight alternative?

For monitoring the disks I started playing with arcconf instead, see my other post: http://john.parnefjord.se/node/44

If anyone else has some good tips just drop me a note or email.

 // John

 

 

 

Any news?

Hello,

any news for reading the sensors of an IBM xseries server with debian?
I didn't get it work!
I tried lm-sensors, ipmi, i2c, snmp. Always with errors.
Does anyone know a way to get the thermal info, fan etc.

Thanks
Thomas

IPMI sensors

My primary concern has been the disks (check this post).

Well, using IPMI I can actually get info about CPUs and fans and, but that's about it. The drawback is that I've found that some ipmi processes crunches CPU cycles in a greedy way so I turned IPMI off.

Anyway, this is what I get doing an IPMI sensor check on an IBM X-series 3950 server:

server2:~# modprobe ipmi_devintf
server2:~# modprobe ipmi_watchdog
server2:~# modprobe ipmi_si
server2:~# modprobe ipmi_msghandler
server2:~# /etc/init.d/ipmievd start
server2:~# ipmitool sensor
Ambient Temp     | 22.000     | degrees C  | ok    | 64.000    | na        | 64.000    | -128.000  | na        | na
Fan 1 Tach       | 2964.000   | RPM        | ok    | 760.000   | 1976.000  | 1976.000  | na        | na        | na
Fan 2 Tach       | 2964.000   | RPM        | ok    | 760.000   | 1976.000  | 1976.000  | na        | na        | na
Fan 3 Tach       | 2618.000   | RPM        | ok    | 770.000   | 2002.000  | 2002.000  | na        | na        | na
Fan 4 Tach       | 2618.000   | RPM        | ok    | 770.000   | 2002.000  | 2002.000  | na        | na        | na
Fan 5 Tach       | 3116.000   | RPM        | ok    | 760.000   | 1976.000  | 1976.000  | na        | na        | na
Fan 6 Tach       | 3116.000   | RPM        | ok    | 760.000   | 1976.000  | 1976.000  | na        | na        | na
Fan 7 Tach       | 2772.000   | RPM        | ok    | 770.000   | 2002.000  | 2002.000  | na        | na        | na
Fan 8 Tach       | 2695.000   | RPM        | ok    | 770.000   | 2002.000  | 2002.000  | na        | na        | na
CPU 1 Temp       | 38.000     | degrees C  | ok    | na        | na        | na        | 85.000    | na        | 95.000
Fan 1 Presence   | 0x0        | discrete   | 0x0280| na        | na        | na        | na        | na        | na
Fan 2 Presence   | 0x0        | discrete   | 0x0280| na        | na        | na        | na        | na        | na
Fan 3 Presence   | 0x0        | discrete   | 0x0280| na        | na        | na        | na        | na        | na
Fan 4 Presence   | 0x0        | discrete   | 0x0280| na        | na        | na        | na        | na        | na
Fan 5 Presence   | 0x0        | discrete   | 0x0280| na        | na        | na        | na        | na        | na
Fan 6 Presence   | 0x0        | discrete   | 0x0280| na        | na        | na        | na        | na        | na
Fan 7 Presence   | 0x0        | discrete   | 0x0280| na        | na        | na        | na        | na        | na
Fan 8 Presence   | 0x0        | discrete   | 0x0280| na        | na        | na        | na        | na        | na
CPU 2 Temp       | 39.000     | degrees C  | ok    | na        | na        | na        | 85.000    | na        | 95.000
Sys pwr monitor  | 0x0        | discrete   | 0x0080| na        | na        | na        | na        | na        | na
watchdog         | 0x0        | discrete   | 0x0080| na        | na        | na        | na        | na        | na
Prochot CPU 1    | 0x0        | discrete   | 0x0180| na        | na        | na        | na        | na        | na
Prochot CPU 2    | 0x0        | discrete   | 0x0180| na        | na        | na        | na        | na        | na
RSA II Detect    | 0x0        | discrete   | 0x0280| na        | na        | na        | na        | na        | na
FP Cable Detect  | 0x0        | discrete   | 0x0280| na        | na        | na        | na        | na        | na
USB Cable Detect | 0x0        | discrete   | 0x0280| na        | na        | na        | na        | na        | na
Machine Check    | 0x0        | discrete   | 0x0080| na        | na        | na        | na        | na        | na
PS 1R Fault      | 0x0        | discrete   | 0x0080| na        | na        | na        | na        | na        | na
PS 2R Status     | 0x0        | discrete   | 0x0180| na        | na        | na        | na        | na        | na
VRD 1 Status     | 0x0        | discrete   | 0x0080| na        | na        | na        | na        | na        | na
VRD 2 Status     | 0x0        | discrete   | 0x0080| na        | na        | na        | na        | na        | na
CPU 1 Status     | 0x0        | discrete   | 0x8080| na        | na        | na        | na        | na        | na
CPU 1 Bad VID    | 0x0        | discrete   | 0x0180| na        | na        | na        | na        | na        | na
LAN Init Failure | 0x0        | discrete   | 0x0180| na        | na        | na        | na        | na        | na
CPU 2 Bad VID    | 0x0        | discrete   | 0x0180| na        | na        | na        | na        | na        | na
CPU 3 Bad VID    | 0x0        | discrete   | 0x0180| na        | na        | na        | na        | na        | na
CPU 4 Bad VID    | 0x0        | discrete   | 0x0180| na        | na        | na        | na        | na        | na
CPU 2 Status     | 0x0        | discrete   | 0x8080| na        | na        | na        | na        | na        | na
NMI State        | 0x0        | discrete   | 0x0080| na        | na        | na        | na        | na        | na
Power 12V FaultR | 0x0        | discrete   | 0x0180| na        | na        | na        | na        | na        | na
CPU 3 Temp       | 41.000     | degrees C  | ok    | na        | na        | na        | 85.000    | na        | 95.000
CPU 4 Temp       | 35.000     | degrees C  | ok    | na        | na        | na        | 85.000    | na        | 95.000
Prochot CPU 3    | 0x0        | discrete   | 0x0180| na        | na        | na        | na        | na        | na
Prochot CPU 4    | 0x0        | discrete   | 0x0180| na        | na        | na        | na        | na        | na
CPU 3 Status     | 0x0        | discrete   | 0x8080| na        | na        | na        | na        | na        | na
CPU 4 Status     | 0x0        | discrete   | 0x8080| na        | na        | na        | na        | na        | na
PS 3T Status     | na         | discrete   | na    | na        | na        | na        | na        | na        | na
PS 3T Status     | na         | discrete   | na    | na        | na        | na        | na        | na        | na
PS 4T Status     | na         | discrete   | na    | na        | na        | na        | na        | na        | na
VRM 3 Status     | 0x0        | discrete   | 0x0180| na        | na        | na        | na        | na        | na
VRM 4 Status     | 0x0        | discrete   | 0x0180| na        | na        | na        | na        | na        | na
Power 12V FaultT | na         | discrete   | na    | na        | na        | na        | na        | na        | na
HP Switch Detect | 0x0        | discrete   | 0x0280| na        | na        | na        | na        | na        | na
Mem1 Detect      | 0x0        | discrete   | 0x0280| na        | na        | na        | na        | na        | na
Mem2 Detect      | 0x0        | discrete   | 0x0280| na        | na        | na        | na        | na        | na
Mem3 Detect      | 0x0        | discrete   | 0x0280| na        | na        | na        | na        | na        | na
Mem4 Detect      | 0x0        | discrete   | 0x0280| na        | na        | na        | na        | na        | na
Chimera Detect   | 0x0        | discrete   | 0x0280| na        | na        | na        | na        | na        | na
Rack Detect      | 0x0        | discrete   | 0x0280| na        | na        | na        | na        | na        | na
PS 4T Fan Fault  | na         | discrete   | na    | na        | na        | na        | na        | na        | na
PS 1T Fan Fault  | na         | discrete   | na    | na        | na        | na        | na        | na        | na
PS 2T Fan Fault  | na         | discrete   | na    | na        | na        | na        | na        | na        | na
PS 3T Fan Fault  | na         | discrete   | na    | na        | na        | na        | na        | na        | na
PS 1T Fan Detect | na         | discrete   | na    | na        | na        | na        | na        | na        | na
PS 2T Fan Detect | na         | discrete   | na    | na        | na        | na        | na        | na        | na
PS 3T Fan Detect | na         | discrete   | na    | na        | na        | na        | na        | na        | na
PS 4T Fan Detect | na         | discrete   | na    | na        | na        | na        | na        | na        | na
VRD 2 Hot        | 0x0        | discrete   | 0x0180| na        | na        | na        | na        | na        | na
RFG 1PS 110      | na         | Watts      | na    | na        | 99.064    | 0.000     | 34.160    | na        | na
Reset Source     | 0x0        | discrete   | 0x0280| na        | na        | na        | na        | na        | na
On/Off Source    | 0x0        | discrete   | 0x0280| na        | na        | na        | na        | na        | na
PCI PME          | 0x0        | discrete   | 0x0180| na        | na        | na        | na        | na        | na
PCI Slot Faults  | 0x0        | discrete   | 0x0180| na        | na        | na        | na        | na        | na
Memory 1 PG Stat | 0x0        | discrete   | 0x0180| na        | na        | na        | na        | na        | na
Memory 2 PG Stat | 0x0        | discrete   | 0x0180| na        | na        | na        | na        | na        | na
Memory 3 PG Stat | 0x0        | discrete   | 0x0180| na        | na        | na        | na        | na        | na
Memory 4 PG Stat | 0x0        | discrete   | 0x0180| na        | na        | na        | na        | na        | na
CPU PG Status    | 0x0        | discrete   | 0x0180| na        | na        | na        | na        | na        | na
PCI-X PG Status  | 0x0        | discrete   | 0x0180| na        | na        | na        | na        | na        | na
SIO PG Status    | 0x0        | discrete   | 0x0180| na        | na        | na        | na        | na        | na
Ping Received    | 0x0        | discrete   | 0x0180| na        | na        | na        | na        | na        | na
SEL Fullness     | 21.000     | messages   | ok    | 10.000    | 20.000    | 30.000    | 75.000    | 90.000    | 100.000
PS 1 StatusT     | na         | discrete   | na    | na        | na        | na        | na        | na        | na
PS 2 StatusT     | na         | discrete   | na    | na        | na        | na        | na        | na        | na
SAS BP 1T Detect | na         | discrete   | na    | na        | na        | na        | na        | na        | na
SAS BP 2T Detect | na         | discrete   | na    | na        | na        | na        | na        | na        | na
SAS BP R Detect  | 0x0        | discrete   | 0x0280| na        | na        | na        | na        | na        | na
Media Detect     | 0x0        | discrete   | 0x0280| na        | na        | na        | na        | na        | na
VRD 1 Hot        | 0x0        | discrete   | 0x0180| na        | na        | na        | na        | na        | na
Inv SP Config    | 0x0        | discrete   | 0x0180| na        | na        | na        | na        | na        | na
Inv R SAS BP Cfg | 0x0        | discrete   | 0x0180| na        | na        | na        | na        | na        | na
Inv T SAS BP Cfg | na         | discrete   | na    | na        | na        | na        | na        | na        | na
Inv PS Cfg       | 0x0        | discrete   | 0x0180| na        | na        | na        | na        | na        | na
Rack DASD 0      | 0x0        | discrete   | 0x0280| na        | na        | na        | na        | na        | na
Rack DASD 1      | 0x0        | discrete   | 0x0280| na        | na        | na        | na        | na        | na
Rack DASD 2      | 0x0        | discrete   | 0x0280| na        | na        | na        | na        | na        | na
Rack DASD 3      | 0x0        | discrete   | 0x0280| na        | na        | na        | na        | na        | na
Rack DASD 4      | 0x0        | discrete   | 0x0280| na        | na        | na        | na        | na        | na
Rack DASD 5      | 0x0        | discrete   | 0x0280| na        | na        | na        | na        | na        | na
Tower DASD 0     | na         | discrete   | na    | na        | na        | na        | na        | na        | na
Tower DASD 1     | na         | discrete   | na    | na        | na        | na        | na        | na        | na
Tower DASD 2     | na         | discrete   | na    | na        | na        | na        | na        | na        | na
Tower DASD 3     | na         | discrete   | na    | na        | na        | na        | na        | na        | na
Tower DASD 4     | na         | discrete   | na    | na        | na        | na        | na        | na        | na
Tower DASD 5     | na         | discrete   | na    | na        | na        | na        | na        | na        | na
Tower DASD 6     | na         | discrete   | na    | na        | na        | na        | na        | na        | na
Tower DASD 7     | na         | discrete   | na    | na        | na        | na        | na        | na        | na
Tower DASD 8     | na         | discrete   | na    | na        | na        | na        | na        | na        | na
Tower DASD 9     | na         | discrete   | na    | na        | na        | na        | na        | na        | na
Tower DASD 10    | na         | discrete   | na    | na        | na        | na        | na        | na        | na
Tower DASD 11    | na         | discrete   | na    | na        | na        | na        | na        | na        | na
CPU 1 Mismatch   | 0x0        | discrete   | 0x0080| na        | na        | na        | na        | na        | na
RFG 1PS 220      | na         | Watts      | na    | na        | 99.064    | 0.000     | 34.160    | na        | na
TFG 1PS          | na         | Watts      | na    | na        | 97.112    | 0.000     | 34.160    | na        | na
RFG 2PS 110      | na         | Watts      | na    | na        | 197.510   | 0.600     | 68.500    | na        | na
RFG 2PS 220      | 42.310     | Watts      | ok    | na        | na        | na        | 100.510   | 95.660    | 100.510
RFG 2PS 110 220  | na         | Watts      | na    | na        | 49.100    | 0.600     | 47.160    | na        | na
TFG 2PS          | na         | Watts      | na    | na        | 97.112    | 0.000     | 34.160    | na        | na
TFG 3PS          | na         | Watts      | na    | na        | 145.370   | 0.100     | 51.200    | na        | na
TFG 4PS          | na         | Watts      | na    | na        | 193.630   | 0.600     | 68.500    | na        | na
Rack Not Redund  | 0x0        | discrete   | 0x0180| na        | na        | na        | na        | na        | na
Tower Not Redund | na         | discrete   | na    | na        | na        | na        | na        | na        | na
Inv Fan Config   | 0x0        | discrete   | 0x0180| na        | na        | na        | na        | na        | na
PS 1R Status     | 0x0        | discrete   | 0x0180| na        | na        | na        | na        | na        | na
PS 2R Fault      | 0x0        | discrete   | 0x0080| na        | na        | na        | na        | na        | na
PS 2T Fault      | na         | discrete   | na    | na        | na        | na        | na        | na        | na
PS 1T Fault      | na         | discrete   | na    | na        | na        | na        | na        | na        | na
PS 3T Fault      | na         | discrete   | na    | na        | na        | na        | na        | na        | na
PS 4T Fault      | na         | discrete   | na    | na        | na        | na        | na        | na        | na
MCK Card or Link | 0x0        | discrete   | 0x0080| na        | na        | na        | na        | na        | na
MCK Memory Card  | 0x0        | discrete   | 0x0080| na        | na        | na        | na        | na        | na
MCK PCI Slots    | 0x0        | discrete   | 0x0080| na        | na        | na        | na        | na        | na
MCK Memory DIMM  | 0x0        | discrete   | 0x0080| na        | na        | na        | na        | na        | na
CPU 2 Mismatch   | 0x0        | discrete   | 0x0080| na        | na        | na        | na        | na        | na
CPU 3 Mismatch   | 0x0        | discrete   | 0x0080| na        | na        | na        | na        | na        | na
CPU 4 Mismatch   | 0x0        | discrete   | 0x0080| na        | na        | na        | na        | na        | na

modprobe ipmi_si not work von IBM 335/345

Hello,

I tried the same but on "modprobe ipmi_si" I received only errors.
There must be a difference between IBM X-series 3950 and x-series 335

Thomas

335/345

When looking for other people trying to get sensor values from 335/345 machines they seem to have been stuck. The sensors-detect shows up nothing and it seems that IBM has hidden som chip values in order to force people to use their management solution, i.e. Director. (http://osdir.com/ml/drivers.sensors/2005-01/msg00382.html)

 

Anyway, I looked at this page at IBM

http://publib.boulder.ibm.com/infocenter/eserver/v1r2/index.jsp?topic=/diricinfo_5.20/fqm0_t_preparing_to_manage_service_processors.html 

and if I read the table correct the xseries 335/345 seem to have an integrated systems management processor (ISMP), not a baseboard management controller (BMC). In that case they state that you need the SMBus device driver and that is certainly not shipped in a Debian friendly package. See here:

http://publib.boulder.ibm.com/infocenter/eserver/v1r2/index.jsp?topic=/diricinfo_5.20/fqm0_r_ibm_lm78_and_smbus_device_drivers_for_linux.html

But on the good side is that there is supposed to be a source package available and in that case you might be able to compile yourself.

http://publib.boulder.ibm.com/infocenter/eserver/v1r2/index.jsp?topic=/diricinfo_5.20/fqm0_t_building_the_binary_rpm_file.html

But the question remains if you can retrieve any relevant information using the SMBus driver.

 // John 

ibmsmb

Hello,

ibmsmb is running as module now. It was difficult, but it is loaded. But now? Nothing was changed. I can't get sensors. How should I get the info of the smbus. lm-sensors does not work.

The really question is how to get the info of the smb!

Thomas

ibmsmb

That was exactly what I was wondering about in my previous post:  "the question remains if you can retrieve any relevant information using the SMBus driver".

Have you tried to download the latest lm-sensors package and run sensors-detect [http://www.lm-sensors.org/wiki/Download]? Perhaps it can identify any other necessary modules that have to be loaded. DO you have to load the LM78 module as well?

lm-sensors recognizes pca9540 on our X3950 but there is no readymade module for that I2C multiplexer device. There is a patch available though, but I haven't tried it. You're on a different piece of hardware so that is probably not useful for you.

I assume you have tried the ipmitool to query the SMBus. It's a long shot as you had some problems loading the ipmi modules, but try loading them again, especially since if you have loaded some new modules. The smbus was a so called ISMP device not a an IPMI BMC device so that is perhaps not very useful but worth to try to rule that out.   

Information that can shed some light on this is most welcome. Anyone?

 

MPCLI

MPCLI might be the tool to query the ISMP. I can't guarantuee that it will work, but it might be worth a try. I downloaded the rpm from here:

http://www-304.ibm.com/systems/support/supportsite.wss/docdisplay?lndocid=MIGR-54216&brandind=5000008

And then I ran:

alien --scripts  mpcli.rpm 

then

dpkg -i mpcli.deb 

You will find the tool installed in /opt/IBMmpcli. Good luck Thomas!

 

// John

 

Can't connect

Hello John,

mpcli is a java-app now running, but I can't conntect the the mp. I always get the error "FAILURE: Unknown hostname or invalid userid or password."

Didn't find the reason. Now I think it is time to give up and run the server without extension.

Thanks a lot.
Thomas

Can't connect

Sorry to hear that you didn't get it to run. The MPCLI version I gave you a link to was version 5.10 and it is supposed to be able to run on xseries. My only remaining tip and is to test version 3 that explicitly states that X335/345 server are supported:

http://www-304.ibm.com/systems/support/supportsite.wss/docdisplay?lndocid=MIGR-62323&brandind=5000008

Hope you find an alternative solution!

 // John

Post new comment

  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd><pre>
  • Lines and paragraphs break automatically.

More information about formatting options

To combat spam, please enter the code in the image.