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/