GuestbookSign our guestbook ContactGet in touch with the authors ArchiveAll unixwerk articles since 2003
April 22, 2016

How to use the HMC Commandline

This documents contains the most important HMC commands. It covers both, the old power4 commands (up to HMC Version 3) and the new power5 style commands (HMC Version 4-6). A lot of nice commands still available for version 3 (power4) are removed from newer releases. One example of these nice commands is lslpars and it's not available for HMC version 4 and higher. The real reason behind it is that IBM wants to force us to use the web based tools wsm and WebSM or the new HMC browser GUI. This documents helps you to survive with the HMC commands in case working with the web based tools is not feasible.

In the examples below we call a whole power frame (aka Managed System) pserver. We call an LPAR mylpar. If an example output shows more than one LPAR name we enumerate it. LPAR Profiles are shown as myprofile. You have to replace these names with your object names.

If you use power6 systems, you need the new HMC version7. Although the GUI has changed from wsm to a browser based service, the commandline remains compatible. You can just use the power5 examples for power6, power7, and power8. However, additional features have been implemented.with HMC version 7.

 

Contents

HMC Management

  1. HMC Version
  2. Network configuration of the HMC
  3. Reboot the HMC
  4. How to change the HMC password (of user hscroot)
  5. How to add an SSH key for remote access
  6. Show Available Filesystem Space

LPAR Management: Status Information

  1. LPAR Status
  2. Show Status and LED/LCD Display of an LPAR
  3. Show Status and LED/LCD Display of a Systems Running in FullPartitionMode
  4. Overview LPAR IDs
  5. Overview Connection State
  6. Show a List of all I/O Adapters
  7. Overview DLPAR status

LPAR Management: Operations

  1. Soft Reset of an LPAR
  2. Soft Reset of a Systems Running in FullPartitionMode
  3. Hard Reset of an LPAR
  4. Hard Reset of a Systems Running in FullPartitionMode
  5. Virtual Console
  6. Activation of an LPAR
  7. How to boot an LPAR into SMS Menu
  8. How to Power on a System Running in FullPartitionMode
  9. Bring the key switch to position NORMAL

LPAR Configuation

  1. Change an LPAR's Name
  2. Rename a Managed System
  3. DLPAR: Increase the Number of Processing Units of an LPAR
  4. DLPAR: Increase the Amount of Memory of an LPAR

Operations in an Virtualized Environment

  1. Make virtual WWPNs visible to the SAN
  2. Show all virtual WWPNs assigned to an LPAR
  3. Logout virtual WWPNs from the SAN

 

HMC Management

1. HMC Version

hscroot@hmc> lshmc -V
 Version: 3
 Release: 3.2
HMC Build level 20040827.1

power4 HMCs could never show a version higher 3.x - HMC version 4.x and higher are only for power5 systems. Power6 systems need HMCs version 7.x.

 

2. Network configuration of the HMC

hscroot@hmc> lshmc -n

 

3. Reboot the HMC

power4 + power5/6/7:

hscroot@hmc> hmcshutdown -t now -r

 

4. How to change the HMC password (of user hscroot)

power4 + power5/6/7:

hscroot@hmc> chhmcusr -u hscroot -t passwd
Enter the new password:
Retype the new password:

 

5. How to add an SSH key for remote access

  • for hscroot

    power5/6/7:

    hscroot@hmc> mkauthkeys -a "public key"
    
    Use the public key found in the users .ssh directory for public key (i.e. the contents of the file ~/.ssh/id_rsa.pub).

  • for other users

    power5/6/7:

    hscroot@hmc> mkauthkeys -u user -a "public key"
    

     

    6. Show Available Filesystem Space

    power5/6/7:

    hscroot@hmc> monhmc -r disk -n 0
    Filesystem           1K-blocks      Used Available Use% Mounted on
    /dev/sda2             16121184   4958484  10343788  33% /
    udev                    517300       156    517144   1% /dev
    /dev/sda3              6040320   1341736   4391744  24% /var
    /dev/sda7              8056524    154132   7493140   3% /dump
    /dev/sda8             38669964    203056  36502564   1% /extra
    

    It's just the same as you would expect from the UNIX command df.

     

    LPAR Management: Status Information

    1. LPAR Status

    That's how you get an overview of all systems controlled by your HMC:

    power4:

    hscroot@hmc> lslpars
    

    power5/6/7:

    hscroot@hmc> lssyscfg -r sys -F name:serial_num:state
    pserver1:656D24A:Operating
    pserver2:656FFFF:Operating
    

    The format string 'lpar_id:name:serial_num:state' also tells you the serial number of the systems. You can omit the field 'serial_num' if you don't need to know.
    However, for every system from the list above you get the LPAR overview as shown below:

    hscroot@hmc> lssyscfg -m pserver -r lpar -F name:state
    

    Example:

    hscroot@hmc> lssyscfg -m pserver1 -r lpar -F name:state
    mylpar1:Running
    mylpar2:Running
    mylpar3:Not Activated
    

    Don't know where to start? Find all managed systems and LPARs with a query:

    hscroot@hmc> for m in $(lssyscfg -r sys -F name); do printf "\n=== $m ===\n" ; \
                                                         lssyscfg -r lpar -m $m -F lpar_id:name:state | sort -n ; done
    === pserver1 ===
    1:mylpar1:Running
    2:mylpar2:Running
    3:mylpar3:Not Activated
    
    === pserver2 ===
    2:mylpar12:Running
    3:mylpar13:Running
    

     

    2. Show Status and LED/LCD Display of an LPAR

    power4:

    hscroot@hmc> lssyscfg -r lpar -m pserver -n mylpar
    

    power5/6/7:

    
    hscroot@hmc> lsrefcode -m pserver -r lpar --filter "lpar_names=mylpar" -F lpar_name:refcode
    

    You can even see the history of LED codes. Just use -n <NUM> for the last NUM codes. For example, if you want to see the last 5 LED codes of an LPAR type

    hscroot@hmc> lsrefcode -m pserver -r lpar --filter "lpar_names=mylpar"  -n 5 -F lpar_name:refcode
    mylpar:
    mylpar:0c33
    mylpar:
    mylpar:0539
    mylpar:0538
    

    ... and for the status LEDs:

    hscroot@hmc> lsled -m pserver -r sa -t virtuallpar --filter ""lpar_names=mylpar""
    

     

    3. Show Status and LED/LCD Display of a Systems Running in FullPartitionMode

    power4:

    hscroot@hmc> lssyscfg -r sys -n pserver
    

     

    4. Overview LPAR IDs

    power5/6/7:

    hscroot@hmc> lssyscfg -r lpar -m pserver -F lpar_id:name:serial_num:state | sort -n
    1:vioserver1:Running
    2:vioserver2:Running
    3:mylpar1:Not Activated
    4:mylpar2:Running
    5:mylpar3:Running
    6:mylpar4:Running
    7:mylpar5:Running
    8:mylpar6:Running
    9:mylpar7:Running
    10:mylpar8:Not Activated
    

     

    5. Overview Connection State

    Are all service processors connected to my HMC?

    power5/6/7:

    hscroot@hmc> lssysconn -r all -F type_model_serial_num:ipaddr:state | sort
    9117-570*65AE18C:172.16.255.253:Connected
    9117-570*65AE18C:172.16.254.255:Connected
    9117-570*65AE2AC:172.16.255.254:Connected
    9117-570*65AE2AC:172.16.254.254:Connected
    9117-570*650D70D:172.16.255.252:Connected
    9117-570*650D70D:172.16.253.255:Connected
    9117-570*650D71D:172.16.254.253:Connected
    9117-570*650D71D:172.16.255.251:Connected
    9131-52A*065F7BB:172.16.253.254:Connected
    9131-52A*065F8BA:172.16.254.252:Connected
    

    The link to the name of the managed system is the serial number - not the IP address! The IP addresses listed above are mounted on the service processor's private NIC and managed by the integrated DHCP server of the HMC.

     

    6. Show a List of All I/O Adapters

    The command below will show a list of all adapters physically plugged into a Managed System:

    power5/6/7:

    hscroot@hmc> lshwres -r io -m pserver --rsubtype slot --filter -F lpar_name:drc_name:description
    null:U78C0.001.DBJC357-P2-C8-T5:Universal Serial Bus UHC Spec
    mylpar1:U78C0.001.DBJC357-P2-C1:Fibre Channel Serial Bus
    null:U78C0.001.DBJC357-P2-C2:Fibre Channel Serial Bus
    vios2:U78C0.001.DBJC357-P2-T3:RAID Controller
    vios2:U78C0.001.DBJC357-P2-C8-T7:Generic XT-Compatable Serial Controller
    vios2:U78C0.001.DBJC357-P2-C5:Fibre Channel Serial Bus
    vios2:U78C0.001.DBJC357-P2-C6:Ethernet controller
    vios2:U78C0.001.DBJC357-P2-C9-T2:PCI-E SAS Controller
    vios2:U78C0.001.DBJC357-P2-C9-T1:PCI-E SAS Controller
    null:U78C0.001.DBJC373-P2-C8-T5:Universal Serial Bus UHC Spec
    mylpar1:U78C0.001.DBJC373-P2-C1:Fibre Channel Serial Bus
    null:U78C0.001.DBJC373-P2-C2:Fibre Channel Serial Bus
    vios1:U78C0.001.DBJC373-P2-T3:RAID Controller
    vios1:U78C0.001.DBJC373-P2-C8-T7:Generic XT-Compatable Serial Controller
    vios1:U78C0.001.DBJC373-P2-C5:Fibre Channel Serial Bus
    vios1:U78C0.001.DBJC373-P2-C6:Ethernet controller
    vios1:U78C0.001.DBJC373-P2-C9-T2:PCI-E SAS Controller
    vios1:U78C0.001.DBJC373-P2-C9-T1:PCI-E SAS Controller
    

    A leading "none" indicates that the adapter is not assigned to an LPAR. To show a list of all I/O adapters owned by a specific LPAR use the "--filter" modifier:

    power5/6/7:

    hscroot@hmc> lshwres -r io -m pserver --rsubtype slot -F lpar_name:drc_name:description --filter "lpar_names=mylpar1"
    mylpar1:U78C0.001.DBJC357-P2-C1:Fibre Channel Serial Bus
    mylpar1:U78C0.001.DBJC373-P2-C1:Fibre Channel Serial Bus
    

     

    7. Overview DLPAR status

    power5/6/7:

    hscroot@hmc> lspartition -dlpar
    <#0> Partition:<6*9117-MMB*656D24A, mylpar1.unixwerk.de, 111.111.15.66>
           Active:<0>, OS:<AIX, 5.3, 5300-09-08-1036>, DCaps:<0x0>, CmdCaps:<0x0, 0x0>, PinnedMem:<512>
    <#1> Partition:<2*9117-MMB*656D24A, vios1.unixwerk.de, 111.111.15.65>
           Active:<1>, OS:<AIX, 6.1, 6100-06-00-0000>, DCaps:<0x4f9f>, CmdCaps:<0x1b, 0x1b>, PinnedMem:<520>
    <#2> Partition:<1*9117-MMB*656D24A, vios2.unixwerk.de, 111.111.15.64>
           Active:<1>, OS:<AIX, 6.1, 6100-06-00-0000>, DCaps:<0x4f9f>, CmdCaps:<0x1b, 0x1b>, PinnedMem:<518>
    <#3> Partition:<3*9117-570*656FFFF, mylpar2.unixwerk.de, 111.111.226.4>
           Active:<1>, OS:<AIX, 5.3, 5300-09-04-0920>, DCaps:<0x2f>, CmdCaps:<0xb, 0xb>, PinnedMem:<1707>
    <#4> Partition:<1*9117-570*656FFFF, mylpar3.unixwerk.de, 111.111.226.2>
           Active:<1>, OS:<AIX, 5.3, 5300-09-04-0920>, DCaps:<0x2f>, CmdCaps:<0xb, 0xb>, PinnedMem:<884>
    <#5> Partition:<1*9133-55A*650D71D, mylpar7.unixwerk.de, 111.111.0.26>
           Active:<1>, OS:<AIX, 5.3, 5300-09-03-0918>, DCaps:<0x2f>, CmdCaps:<0xb, 0xb>, PinnedMem:<406>
    <#6> Partition:<4*9117-570*656FFFF, mylpar4.unixwerk.de, 111.111.226.5>
           Active:<1>, OS:<AIX, 5.3, 5300-09-04-0920>, DCaps:<0x2f>, CmdCaps:<0xb, 0xb>, PinnedMem:<967>
    

    A value <1> for Active: should be fine.

     

    LPAR Management: Operations

    1. Soft Reset of an LPAR

    power4:

    hscroot@hmc> chsysstate -m pserver -r lpar -n mylpar -o reset
    

    power5/6/7:

    hscroot@hmc> chsysstate -r lpar -m pserver -o shutdown -n mylpar
    

     

    2. Soft Reset of a System Running in FullPartitionMode

    power4:

    hscroot@hmc> chsysstate -n pserver -r sys -o reset
    

     

    3. Hard Reset of an LPAR

    power4:

    hscroot@hmc> chsysstate -m pserver -r lpar -n mylpar -o off
    

    power5/6/7:

    hscroot@hmc> chsysstate -r lpar -m pseries -o shutdown -n mylpar --immed
    

     

    4. Hard Reset of a System Running in FullPartitionMode

    power4:

    hscroot@hmc> chsysstate -n pserver -r sys -o off
    

     

    5. Virtual Console

    That's how you get a connection to an LPAR's serial console:

    power4 + power5/6/7:

    hscroot@hmc> mkvterm -m pserver -p mylpar
    

    If your system is running in FullSystemPartition-Mode you connect with a command like this:

    power4:

    hscroot@hmc> mkvterm -m pserver
    

    You can escape from the console connection by typing ~~. (twice tilde followed by a dot)

    If you cannot connect to the serial console and you get an error message instead:

    All available virtual terminal sessions have been opened and are in use. 
    To force a new open session, perform a Close Terminal Session operation
    which frees up the session.
    

    there is still another active connection to this console. You can close this connection with:

    power4 + power5/6/7:

    hscroot@hmc> rmvterm -m pserver -p mylpar
    

    If you're not sure which managed system belongs to an LPAR you could walk through the vtmenu:

    hscroot@hmc> vtmenu
     Retrieving name of managed system(s) . . . 
    
     ----------------------------------------------------------
      Managed Systems:
     ----------------------------------------------------------
       1) pserver1
       2) pserver2
       3) pserver3
    
     Enter Number of Managed System.   (q to quit): 1
    
     ----------------------------------------------------------
      Partitions On Managed System:  pserver1
     ----------------------------------------------------------
       1)    mylpar1                              Running
       2)    mylpar2                              Running
       3)    mylpar3                              Running
       4)    mylpar4                              Running
       5)    mylpar5                              Running
    
    
     Enter Number of Running Partition (q to quit):
    

    Just enter a number and you will be connected to the console of the corresponding LPAR.

     

    6. Activation of an LPAR

    power4:

    hscroot@hmc> chsysstate -r lpar -m pserver -o on [ -f myprofile ] -n mylpar 
    

    power5/6/7:

    hscroot@hmc> chsysstate -r lpar -m pserver -o on -f myprofile -n mylpar
    

     

    7. How to Boot an LPAR into SMS Menu

    power4:

    You have to create an additional profile. In this profile set the boot mode to 'sms'. We call the profile mysmsprofile. Then start the LPAR with this profile:

    hscroot@hmc> chsysstate -r lpar -m pserver -o on -f mysmsprofile -n mylpar 
    

    power5/6/7:

    With new HMCs a special profile is not any longer needed. The profile's boot mode can be overwirtten with -b:

    hscroot@hmc> chsysstate -r lpar -m pserver -o on -f myprofile -b sms -n mylpar
    

    The same way the LPAR can be bootet into the Open Firmware prompt (Bootmode: 'of'):

    hscroot@hmc> chsysstate -r lpar -m pserver -o on -f myprofile -b of -n mylpar
    

     

    8. How to Power on a System Running in FullPartitionMode

    power4:

    hscroot@hmc> chsysstate -o on -r sys -n pserver -c full
    

     

    9. Bring the key switch to position NORMAL

    This might be necessary on some power5 HMCs when an LPAR does not properly boot after issuing the power on command above. You might see a message like this:

    0514-440 cfgcon: failed to create log file: check path name, permissions, and available space
    

    When seeing this you can only access diag mode or boot the LPAR in singleuser mode. This command sets the key switch back to normal position:

    power5/6/7:

    hscroot@hmc> chsysstate -r lpar -o chkey -k norm -n mylpar -m pserver
    

     

    LPAR Configuration

    1. Change an LPAR's Name

    Let's say we have these five LPARs defined on a managed system:

    hscroot@hmc> lssyscfg -r lpar -m pserver -F lpar_id:name:state
    1:vios1:Running
    2:vios2:Running
    3:barney:Running
    4:mylpar2:Running
    5:mylpar3:Running
    

    Now we want to change the name of LPAR 3 from barney to mylpar1:

    power5/6/7:

    hscroot@hmc> chsyscfg -r lpar -m pserver -i "name=barney,new_name=mylpar1"
    

    We check and see that the name of LPAR 3 indeed has changed to mylpar1:

    hscroot@hmc> lssyscfg -r lpar -m pserver -F lpar_id:name:state
    1:vios1:Running
    2:vios2:Running
    3:mylpar1:Running
    4:mylpar2:Running
    5:mylpar3:Running
    

     

    2. Rename a Managed System

    This would change the name of the manages system pserver to pserver1:

    power5/6/7:

    hscroot@hmc> chsyscfg -r sys -m pserver -i "new_name=pserver1"
    

     

    3. DLPAR: Increase the Number of Processing Units of an LPAR

    To assign 8 additonal processing units to an LPAR run the following command:

    power5/6/7:

    hscroot@hmc> chhwres -r proc -m pserver -o a -p mylpar --procunits 8
    

     

    4. DLPAR: Increase the Amount of Memory of an LPAR

    To assign 1 GB additonal memory to an LPAR run the following command:

    power5/6/7:

    hscroot@hmc> chhwres -r proc -m pserver -o a -p mylpar -q 1024
    

     

     

     

    Operationen in einer virtualisierten Umgebung

    HMC Version 7 can run operations on Virtual I/O Servers.

    1. Make virtual WWPNs visible to the SAN

    The below command would login all virtual adapters of the LPAR with ID 12 to the SAN:

    HMC Version 7

    hscroot@hmc> chnportlogin -o login -m pserver --id 12
    

     

    2. Show all virtual WWPNs assigned to an LPAR

    e.g. for an LPAR with ID 12, type

    HMC Version 7

    hscroot@hmc> lsnportlogin -m pserver --filter "lpar_ids=12"
    lpar_name=mylpar,lpar_id=12,profile_name=default,slot_num=51,wwpn=c050726660a0002c,wwpn_status=1,logged_in=vios,wwpn_status_reason=null
    lpar_name=mylpar,lpar_id=12,profile_name=default,slot_num=51,wwpn=c050726660a0002d,wwpn_status=1,logged_in=vios,wwpn_status_reason=null
    lpar_name=mylpar,lpar_id=12,profile_name=default,slot_num=52,wwpn=c050726660a0002e,wwpn_status=1,logged_in=vios,wwpn_status_reason=null
    lpar_name=mylpar,lpar_id=12,profile_name=default,slot_num=52,wwpn=c050726660a0002f,wwpn_status=1,logged_in=vios,wwpn_status_reason=null
    

    You can also list the status of more than one LPAR in one go:

    HMC Version 7

    hscroot@hmc> lsnportlogin -m pserver --filter "\"lpar_ids=12,13\""
    

     

    3. Logout virtual WWPNs from the SAN

    HMC Version 7

    hscroot@hmc> chnportlogin -o logout -m pserver --id 12