HMC

Information about IBM's HMC. Most info was collected from Version 7.3.5.0

HMC models

Initial list: Jan 2015

Announcement letter number reveals the year, for example: ENUS107-xxx is 2007 etc.

On a CR7 running HMC v7.7, the file /sys/class/dmi/id/product_name includes the xSeries model name. However, this file is absent on older HMC versions.

[1] last deskside HMC

Trivia

- "Hardware appliance (today); virtual appliance (tomorrow)" - from the presentation Linux on Power Injection DACH, April 2014

- The HMC v6 and v7 are running a modified version SUSE Linux Enterprise i386 (now x86_64), formerly it was based on RedHat Enterprise Linux.

- The original HMC hardware was an IBM Pentium 4/Xeon workstation or an IBM xSeries 1U rackmount server.

- The HMC was formerly known as HSC (Hardware System Console).

- The full role admin user is hscroot.

- The HMC image can be modified to run in a VM (VMWare, KVM) in an unsupported way, of course.

- IBM provides a 24-hour root access via the 'pesh' command (IBM supplies activation code).

- The largest enterprise Power machines require two independent HMCs.

- Most HMC specific commands are under /opt/hsc/bin

- The HMC's core is based on RSCT and CSM technologies.

- The system firmware is called LIC (Licensed Internal Code).

HMC restricted shell

Escape

There are several ways to get out of the restricted shell (rbash).

- man -P (in v6.x)

- man --html (up to 7.3.5.0.2)

- scp

- bash dotfiles as shell script (up to 7.3.5.0.4 and 7.7.?.?)

If you don't know the root password, you can use the chhmcusr command as hscroot to change it.

You can boot the HMC Linux to single user mode, then work as root. It still requires the password.

You can boot the system from live media, but not all live Linux distros support the RAID adapter present in newer models.

Commands available in restricted shell

- Full Linux commands

cat clear cp cut date diff dircolors du expr getopt head host ldapsearch less locale ls mkdir mount netstat ping ping6 rm rmdir scp sleep sort ssh-keygen sum tail umount uname which who whoami

- Modified Linux commands

man

- HMC-only commands

in /usr/hmcrbin :

chkmedia diagrmc gen_backup_db hmcwin logssh lsavailres lspartition pedbg pesh sendfile

via links to /opt:

[to be added later]

Software

IBM HMC rpm packages

Applies to HMC V7R3.5

Excluded are the documentation, localization and fix packages (IBMhmc-InfoCenter_*, IBMhmc-help_*, IBMhmc.MH*, IBMhsc.bundles_* etc)

System and device firmware updates

The downloaded rpm files can be found under /opt/ccfw/data

Daemons and processes

Daemons specific to the HMC

Inittab daemons

vts:2345:respawn:/opt/hsc/bin/startServer 1>/dev/null 2>&1
cons:2345:respawn:/opt/hsc/bin/startConsole 1>/dev/null 2>&1
pxy:2345:respawn:/opt/hsc/bin/start5250proxy 1>/dev/null 2>&1
mntr:2345:respawn:/opt/hsc/sbin/hscSystemInfo 1>/dev/null 2>&1
rslp:2345:respawn:/opt/hsc/bin/openSLP_Reg 1>/dev/null 2>&1
udsm:2345:respawn:/opt/hsc/sbin/hscUsdMonitor 1>/dev/null 2>&1
invd:2:once:/usr/sbin/invscoutd
hsv:2345:once:/opt/hsc/hdwr_svr/startHDWR_SVR 1>/dev/null 2>&1
ccfw:2345:once:/opt/ccfw/startccfw initTab 1>/dev/null 2>&1

Sysvinit runlevel daemons (from 'chkconfig -l')

SFPmonitorSensor          0:off   1:off   2:on    3:on    4:on    5:on    6:off
canna                     0:off   1:off   2:off   3:on    4:off   5:on    6:off
crhws                     0:off   1:off   2:on    3:on    4:on    5:on    6:off
ctrmc                     0:off   1:off   2:on    3:on    4:on    5:on    6:off
dhcpd                     0:off   1:off   2:off   3:on    4:off   5:on    6:off
hmcAcmSvc                 0:off   1:off   2:off   3:on    4:off   5:on    6:off
hmcConfig                 0:off   1:off   2:off   3:on    4:off   5:on    6:off
hmcCredSvc                0:off   1:off   2:off   3:on    4:off   5:on    6:off
hmcpostcfg                0:off   1:off   2:on    3:on    4:off   5:on    6:off
hmcpostnet                0:off   1:off   2:on    3:on    4:off   5:on    6:off
hmcsshd                   0:off   1:off   2:off   3:on    4:off   5:on    6:off
hmcxntpd                  0:off   1:off   2:off   3:on    4:off   5:on    6:off
resmgr                    0:off   1:off   2:on    3:on    4:off   5:on    6:off
startLangDialog           0:off   1:off   2:off   3:on    4:off   5:on    6:off

(dhcpd is listed because it provides connectivity to the service processors in each machine.)

IBM SRC (System Resource Controller)

 # lssrc -a
Subsystem         Group            PID     Status
 ctrmc            rsct             5754    active
 IBM.LparCmdRM    rsct_rm          5818    active
 IBM.AuditRM      rsct_rm          5871    active
 IBM.DMSRM        rsct_rm          5899    active
 IBM.CSMAgentRM   rsct_rm          6161    active
 IBM.ServiceRM    rsct_rm          6570    active
 hdwr_svr                          8705    active
 ctcas            rsct                     inoperative
 IBM.ERRM         rsct_rm                  inoperative
 IBM.SensorRM     rsct_rm                  inoperative
 IBM.LPRM         rsct_rm                  inoperative
 IBM.HostRM       rsct_rm                  inoperative

Root crontab

0 3 * * * /opt/hsc/bin/cleanFiles
2,12,22,32,42,52 * * * * /opt/hsc/bin/backupLog
0 * * * * /opt/hsc/bin/utilcollect 1
0 0 * * * /opt/hsc/bin/utilcollect 2
0 0 1 * * /opt/hsc/bin/utilcollect 3
0 0 * * * /opt/hsc/bin/utilpurge *SNAPSHOT*
0 0 1 * * /opt/hsc/bin/utilpurge

Directories and files

Filesystems

/
/dev
/var
/dump
/extra

Network

Ports

RMC

      rmc           657          UDP
      rmc           657          TCP

The UDP port is used for communication between RMC daemons.

The TCP port is used for remote client connections to a RMC daemon.

TODO add nmap/netstat info here and 'enable ssh'

DHCP server

Leases are kept 'forever'. The DHCP ranges are very wide and can be selected from a variety. Things to look at:

- lssysconn command

- lshmc -n (IP addresses, netmasks, speed, duplex etc)

- lshmc -n -F clients (list of DHCP clients)

- /var/lib/dhcp/dhclient.leases text file

- /var/log/messages for DHCPREQUEST and DHCPACK lines (only root can access the log)

- for "last seen" addresses: grep "10\.255" /var/hsc/log/gui_server.log | sort -u

- to see if dhcpd is up: grep dhc $(ls -1t /dump/HMCMonitor/procs_01221* | tail -1)

Miscellaneous

Links

HMC recovery images

http://public.dhe.ibm.com/software/server/hmc/recovery_images/

or ftp://public.dhe.ibm.com/software/server/hmc/recovery_images/

or ftp://ftp.boulder.ibm.com/software/server/hmc/recovery_images/

Delivery site

http://delivery04.dhe.ibm.com/sar/CMA/HMA/ for POWER7 and below

http://download4.boulder.ibm.com/sar/CMA/SFA/