Tanti Technology

My photo
Bangalore, karnataka, India
Multi-platform UNIX systems consultant and administrator in mutualized and virtualized environments I have 4.5+ years experience in AIX system Administration field. This site will be helpful for system administrator in their day to day activities.Your comments on posts are welcome.This blog is all about IBM AIX Unix flavour. This blog will be used by System admins who will be using AIX in their work life. It can also be used for those newbies who want to get certifications in AIX Administration. This blog will be updated frequently to help the system admins and other new learners. DISCLAIMER: Please note that blog owner takes no responsibility of any kind for any type of data loss or damage by trying any of the command/method mentioned in this blog. You may use the commands/method/scripts on your own responsibility. If you find something useful, a comment would be appreciated to let other viewers also know that the solution/method work(ed) for you.

Monday, 21 October 2013

TL Upgrade issue

  Issues faced while TL and SP  Upgradation from 6100-06-05-1115 to 6100-07-07-1316


we downloaded the   complete SP package  6100-07-07-1316 from IBM portal.

Problem:

The Upgradation was failing for  all the server's .

 oslevel -s   and nmon commands were not working 


Below are the error we got after the Upgradation.


.



Solution:


. As per our observation, the TL and SP upgrade was failing due to Conflicting Versions of Filesets present in the SP we downloaded.

2. The SP we downloaded is  having  multiple versions  of the following filesets (infocenter.man.EN_US.libs and bos.help.msg.en_US.smit) that were above  the current level of the fileset present on the server
.
 ex:
 
      infocenter.man.EN_US.libs

      current fileset level on server  :6.1.6.0
      fileset levels present in the SP  we downloaded : 6.1.7.1 and 6.1.7.0
 
 
As per observation , while  doing the SP upgrade , due to  present of these conflicting versions of the filesets , certain more packages were also affected resulting into the un-exceptional
behaviour of the OS.  There is very least  and rare  chance that these type of situation comes  .
 
3 .  I  installed the  TL7 filesets  for the above mentioned filesets  and after that 
   started the upgradation  using #smitty update_all 

it worked ...........


  I  strongly recommend that ,as a  best  practise  we should   follow  first upgradation the TL  seperately and then upgradation  with  SP  so that Conflicting Versions of Filesets issue can be avoided .

hacmp basic concept

HACMP

HACMP stands for High Availability Cluster Multiprocessing

Hacmp provides two types of environment

1. serial (high availability): this is used  to make the application highlt available
by using the shared disk and duplicate resources .  also the access to data  will be serially
means one node at a time.
2. parallel (cluster multiprocessing ) : this type of environment is used when the application is
 online on many nodes  and allthe nodes  can  concurrently access the data. for this type of environment
failover is not required.




why to use hacmp?

1. eliminating single point of failure
2. elminating planned and unplanned downtime.


hacmp ensures that the application should be highly available and accessible
 even if hardware ,software or any system management failure is there.


what is single point of failure?


1. node
2. power source
3. network adapter
4. network
5. disk adapter


WHAT TYPE OF FAILURE HACMP MONITORS

1. NODE and OS failure by using the redundant nodes
2. NIC failure by using redundant NIC cards
3. protection against network failure by using redundant network.

 SHARED EXTERNAL DISK DRIVES:

A  shared external disk drive is a disk connected to multiple nodes.

HACMP supports the following type of access to shared disk.

Non-concurrent access:  only one node can access  the data at one time. it uses serial environment.
                                      if the node that is using the disk fails then failover happens
                                    and other node  becomes the active node and accesses the data.

concurrent access:  the shared disks are actively connected to more than one node and data
                              can be accesses simultaneously . in this case parellel environment is used
                              and there is no need of failover.




A  hacmp  cluster comprises of 

1. topology (nodes, NIC, network etc)
2. resources (things need to make highly available)



HACMP Topology components:

1. nodes
2. networks
3. communication devices
4. communication interfaces


what  the term node refer  in HACMP?

A node is a standalone server having hacmp software and member of the cluster.


In a HACMP cluster 32 nodes can be configured.

Network

In HACMP two types of network is defined.

1 . IP-Network
2.  Non-IP network

IP Network uses the TCP/IP protocol suite for communication between the nodes.

NON-IP network  is  used for monitoring the status of the cluster and is strongly recommended.
                                           This is because if there is network failure ,and only IP-network is used ,  it is diffcult for the active node to figure out whether it is  node or network failure  and this can lead to confusion and leads to  cluster partitioning or node isolation. .
                                            Non-ip network is used for differentiating between node and network failure.
 

Communication Interface:

In HACMP environment ,we are calling each  Network interface which is having a ip_address and an ip-label associated with it.  on the nodes which uses  IP network  for communication . we call

 en0 (network interface)
        ip-address (192.168.10.4)
       ip-label (abhi_boot1)


Communication devices:

In HACMP environment  , the devices used to configure the NON-IP  Network is called communication devices.
              it can be RS232( /dev/tty)  device , disk (/dev/hdisk#) etc

     communication devices provide point to point serial  connection normally used for heartbeating .


What does resources means in HACMP? 

 As per my understandings,  HACMP  is completely designed  for making the application  highly  availabilite.

 So the things required to make the application run on the node is considered as HACMP resources.

take and example of  application , what are the things required  for making it highly available:

1. how to control(start/stop) the application  : ( when some hardware error accurs ,resources need to move    from one node to another , then hacmp must be aware how to start and stop the application that's why we are providing start/stop script   )

2. how to access the application(to access you need ip  and can move from one node to another )
3. common storage is required(if one node is down then other can access)
4. sometime nfs is required 
 

Resouces can be:

1. application server
2. service- ip
3. volume group
4. filesystem
5. NFS mounts:
6. NFS  exports

Application server : The application that has to be made highly available along with it's start/stop script is termed as application server in hacmp environment.

Service-ip/label:  every application should have an IP address assigned to access it and that ip should be highly available

volume group: if the application requires shared storage, this storage should be coming from this VG .

filesystem : filesystems required for making the application highly available

NFS mount :  NFS filesystems required for making the application highly available

NFS exports: NFS filesystem that need to be exported for running the application




What is Resource Group ?

Resource group is a collection all the resouces that are needed to make and application highly available.
                                                  
while defining resouce group ,we need to specify  polices(startup/failover/fallover)  that controls the resource group  action when  it detects  any failure.


As earlier , i have written that resource group is controlled by the policies.
the RG policies are :

1   Startup policy                     (used when cluster starts up.)
 2. Fallover policy                 (if node failure is there, it determines which node to takeover)
 3. Fallback policies               (when the higher priority node comes up, then this policy decides whether to
                                             move the RG to higher priority node or node)

startup policy:

 online on home node only :      The resource group is brought online only on its home (highest priority  
                                                   node defined ).if it is unavailable RG  will not start automatically.
available on first available node : The resource group comes online on the first participating node that  
                                                  becomes available.it's just like rotating RG.
using distribution policy :              here only one RG is active on one node. if one node is having an active RG
                                                  ,it will goto second if it is not having any active RG.
on all available nodes:                  This policy is used when you need that all nodes  can access the same RG
                                                   concurrently.


Fallover/failover policy:

Fallover to next priority node in the list :     at the time of failure,RG is moved to the next high priority node in
                                                                  the RG definition
Fallover using dynamic node priority : if using this option,  then the fallover will  happen according to the
                                                         selected criteria from the below methods
                                                                            1. highest_mem_free
                                                                            2. highext_idle_cpu
                                                                            3. lowest_disk_busy
Bring offline(on error node) : this is used with concurrent RG.since  RG is active on all nodes concurrently,
                                             if one node goes down, then RG on this node should become online for the maintenance of that node..

Fallback policy


fallback to higher priority node in the list:        when the highest priority node comes up, the RG is
                                                                     automatically moved to it.
Never fallback :                                             it will not fallback to higher priority node automatically, you
                                                                     need to move the RG manually.


IBM HACMP - Action administration tasks


Cluster resource group fallover/fallback

Use smitty to move a resource group between nodes in a cluster
smitty hacmp
                    HACMP for AIX

Move cursor to desired item and press Enter.

  Initialization and Standard Configuration
  Extended Configuration
  System Management (C-SPOC)
  Problem Determination Tools
Select "System Management"
----------------------------------------------------------------------------------------------------------------
         System Management (C-SPOC)

Move cursor to desired item and press Enter.

  Manage HACMP Services
  HACMP Communication Interface Management
  HACMP Resource Group and Application Management
  HACMP Log Viewing and Management
  HACMP File Collection Management
  HACMP Security and Users Management
  HACMP Logical Volume Management
  HACMP Concurrent Logical Volume Management
  HACMP Physical Volume Management

  Open a SMIT Session on a Node
Select "HACMP Resource Group and Application Management"
----------------------------------------------------------------------------------------------------------------
          HACMP Resource Group and Application Management

Move cursor to desired item and press Enter.

  Show the Current State of Applications and Resource Groups
  Bring a Resource Group Online
  Bring a Resource Group Offline
  Move a Resource Group to Another Node / Site

  Suspend/Resume Application Monitoring
  Application Availability Analysis
Select "Move a Resource Group to Another Node / Site"
----------------------------------------------------------------------------------------------------------------
           Move a Resource Group to Another Node / Site

Move cursor to desired item and press Enter.

  Move Resource Groups to Another Node
  Move Resource Groups to Another Site
Select "Move Resource Groups to Another Node"
----------------------------------------------------------------------------------------------------------------
     Select a Resource Group                      
                                                                         
 Move cursor to desired item and press Enter.                             
                                                                          
   #                                                                      
   # Resource Group                State                Node(s) / Site    
   #                                                                      
     app_rg                       ONLINE                node1 /         
     data_rg                      ONLINE                node2 /        
                                                                          
   #                                                                      
   # Resource groups in node or site collocation configuration:           
   # Resource Group(s)                           State    Node / Site  
   #  
Select the resource group to be moved.
----------------------------------------------------------------------------------------------------------------
     Select a Destination Node                         
                                                                          
  Move cursor to desired item and press Enter.                             
                                                                                                 
    # *Denotes Originally Configured Highest Priority Node                 
      node2   
      
Select a destination node.
----------------------------------------------------------------------------------------------------------------
         Move Resource Group(s) to Another Node

Type or select values in entry fields.
Press Enter AFTER making all desired changes.

                                                        [Entry Fields]
  Resource Group(s) to be Moved                       app_rg
  Destination Node                                    node2
Confirm the entry fields are correct and press Enter
----------------------------------------------------------------------------------------------------------------
  Command: OK            stdout: yes           stderr: no

Before command completion, additional instructions may appear below.

Attempting to move resource group app_rg to node node2.

Waiting for the cluster to process the resource group movement request....

Waiting for the cluster to stabilize........................................

Resource group movement successful.
Resource group app_rg is online on node2.


Cluster Name: node2

Resource Group Name: app_rg
Node                         State
---------------------------- ---------------
node2                       ONLINE
node1                       OFFLINE

Resource Group Name: data_rg
Node                         State
---------------------------- ---------------
node2                       OFFLINE
node1                       ONLINE
----------------------------------------------------------------------------------------------------------------
Whilst the resource group is being moved, open another terminal and monitor the log file /tmp/hacmp.out by typing the following.
tail -f /tmp/hacmp.out

Creating a snap for IBM analysis

snap -r
snap -e
To verify the snap
zcat snap.pax.Z | pax -vf -

To start the cluster services on a node use the following HACMP script

/usr/sbin/cluster/etc/rc.cluster
Nov 14 2009 12:36:09  Starting execution of /usr/sbin/cluster/etc/rc.cluster
with parameters:

Nov 14 2009 12:36:14  Checking for srcmstr active...
Nov 14 2009 12:36:14 complete.
 213174      -  0:00 syslogd
Setting routerevalidate to 1
Nov 14 2009 12:36:14
/usr/sbin/cluster/utilities/clstart : called with flags -m -G -A

Verifying Cluster Configuration Prior to Starting Cluster Services.

Verifying node(s): node2 against the running node node1


WARNING: The following resource type have the same resource name.
Resource name: cluster
Resource Types: Service IP Label and Application
WARNING: Having cluster resources with the same name can lead to confusion and
difficulties with cluster planning and administration. Cluster services may
not function properly if resources do not have unique names.

WARNING: Application monitors are required for detecting application failures
in order for HACMP to recover from them.  Application monitors are started
by HACMP when the resource group in which they participate is activated.
The following application(s), shown with their associated resource group,
do not have an application monitor configured:

  Application Server                Resource Group
  --------------------------------  ---------------------------------
   cluster                           cluster
WARNING: The LVM time stamp for shared volume group: datavg is inconsistent
with the time stamp in the VGDA for the following nodes:
node1

Successfully verified node(s): node2
0513-059 The topsvcs Subsystem has been started. Subsystem PID is 495748.
0513-059 The grpsvcs Subsystem has been started. Subsystem PID is 467176.
0513-059 The emsvcs Subsystem has been started. Subsystem PID is 409756.
0513-059 The emaixos Subsystem has been started. Subsystem PID is 401634.
Nov 14 2009 12:36:48

Completed execution of /usr/sbin/cluster/etc/rc.cluster
with parameters: .
Exit Status = 0.

Alternatively to start the cluster services on a node use smitty clstart

smitty clstart
Type or select values in entry fields.
Press Enter AFTER making all desired changes.

                                                        [Entry Fields]
* Start now, on system restart or both                now                                                                 
  Start Cluster Services on these nodes              [node1]                                                             
* Manage Resource Groups                              Automatically                                                       
  BROADCAST message at startup?                       false                                                               
  Startup Cluster Information Daemon?                 true                                                                
  Ignore verification errors?                         false                                                               
  Automatically correct errors found during           Interactively                                                       
  cluster start?
Modify the options as required such as the node to start the cluster services on and press return.
 
Starting Cluster Services on node: node1
This may take a few minutes.  Please wait...
node1: start_cluster: Starting HACMP
node1: 0513-029 The portmap Subsystem is already active.
node1: Multiple instances are not supported.
node1: 0513-029 The inetd Subsystem is already active.
node1: Multiple instances are not supported.
node1:    77872      -  0:00 syslogd
node1: Setting routerevalidate to 1
node1: 0513-059 The topsvcs Subsystem has been started. Subsystem PID is 585862.
node1: 0513-059 The grpsvcs Subsystem has been started. Subsystem PID is 860414.
node1: 0513-059 The emsvcs Subsystem has been started. Subsystem PID is 929926.
node1: 0513-059 The emaixos Subsystem has been started. Subsystem PID is 704586.
node1: 0513-059 The gsclvmd Subsystem has been started. Subsystem PID is 643118.
node1: 0513-059 The clinfoES Subsystem has been started. Subsystem PID is 794646.
node1: Mar  9 2010 17:10:25 Starting execution of /usr/es/sbin/cluster/etc/rc.cluster
node1: with parameters: -boot -N -A -i -C interactive -P cl_rc_cluster
node1:
node1: Mar  9 2010 17:10:34 Checking for srcmstr active...
node1: Mar  9 2010 17:10:34 complete.
node1: Mar  9 2010 17:10:34
node1: /usr/es/sbin/cluster/utilities/clstart: called with flags -m -G -i -P cl_rc_cluster -C interactive -B -A
node1:
node1:         Mar  9 2010 17:10:56
node1: Completed execution of /usr/es/sbin/cluster/etc/rc.cluster
node1: with parameters: -boot -N -A -i -C interactive -P cl_rc_cluster.
node1: Exit status = 0
node1:

To stop the cluster services on a node use the following HACMP script

/usr/sbin/cluster/etc/clstop

To start the clcomdES daemon

startsrc -s clcomdES

How to modify the heartbeat failure detection rate

This procedure should be done on an active HACMP node
1. Type smitty hacmp.
2. Go to Extended Configuration.
3. Select Extended Topology Configuration.
4. Select Configure HACMP Network Modules.
5. Select Change a Network Module using Predefined Values and press Enter. SMIT displays a list of defined network modules.
6. Select the name of the network module for which you want to see current settings and press Enter.
Type or select values in entry fields.
Press Enter AFTER making all desired changes.
                                                        [Entry Fields]
* Network Module Name                                 tmscsi
  Description                                         TMSCSI Serial protocol
  Failure Detection Rate                              Normal

  NOTE: Changes made to this panel must be
        propagated to the other nodes by
        Verifying and Synchronizing the cluster 
Change normal to slow if for instance you are experiencing network contention and the heartbeats are taking some time to complete.
Do not follow the above procedure on the other nodes in the cluster but instead synchronise the changes by completing the following procedure.
1. Type smitty hacmp.
2. Go to Extended Configuration.
3. Select Extended Verification and Synchronization.
4. Press Enter with the default settings.

Changing the location of HACMP log files

If you know the log file whose location you would like to change use the following command replacing 'clstrmgr.debug' as necessary.
/usr/es/sbin/cluster/utilities/cllog -c 'clstrmgr.debug' -v '/var/adm'
Use smitty if you are not sure of the current log file names and locations as follows.
smitty hacmp
                    HACMP for AIX

Move cursor to desired item and press Enter.

  Initialization and Standard Configuration
  Extended Configuration
  System Management (C-SPOC)
  Problem Determination Tools
Select "Problem Determination Tools"
----------------------------------------------------------------------------------------------------------------
               Problem Determination Tools



Move cursor to desired item and press Enter.

  HACMP Verification
  View Current State
  HACMP Log Viewing and Management
  Recover From HACMP Script Failure
  Restore HACMP Configuration Database from Active Configuration
  Release Locks Set By Dynamic Reconfiguration
  Clear SSA Disk Fence Registers
  HACMP Cluster Test Tool
  HACMP Trace Facility
  HACMP Event Emulation
  HACMP Error Notification
  Manage RSCT Services

  Open a SMIT Session on a Node
Select "HACMP Log Viewing and Management"
----------------------------------------------------------------------------------------------------------------
             HACMP Log Viewing and Management

Move cursor to desired item and press Enter.

  View/Save/Remove HACMP Event Summaries
  View Detailed HACMP Log Files
  Change/Show HACMP Log File Parameters
  Change/Show Cluster Manager Log File Parameters
  Change/Show a Cluster Log Directory
  Collect Cluster log files for Problem Reporting
Select "Change/Show a Cluster Log Directory"
----------------------------------------------------------------------------------------------------------------
              Select a Cluster Log Directory                      
                                                                         
  Move cursor to desired item and press Enter. Use arrow keys to scroll.   
                                                                                                 
  clstrmgr.debug           - Generated by the clstrmgr daemon            
  cluster.log              - Generated by cluster scripts and daemons    
  cluster.mmddyyyy         - Cluster history files generated daily       
  cspoc.log                - Generated by CSPOC commands                 
  emuhacmp.out             - Generated by the event emulator scripts     
  hacmp.out                - Generated by event scripts and utilities    
  clavan.log               - Generated by Application Availability Analy 
  clverify.log             - Generated by Cluster Verification utility   
  clcomd.log               - Generated by clcomd daemon                  
  clcomddiag.log           - Generated by clcomd daemon, debug informati 
  clconfigassist.log       - Generated by Two-Node Cluster Configuration 
  clutils.log              - Generated by cluster utilities and file pro 
  cl_testtool.log          - Generated by the Cluster Test Tool          
  autoverify.log           - Generated by Auto Verify and Synchronize    
  sa.log                   - Generated by Application Discovery  
Select a log file such as clstrmgr.debug
              Change/Show a Cluster Log Directory

Type or select values in entry fields.
Press Enter AFTER making all desired changes.

                                                        [Entry Fields]
  Cluster Log Name                                    clstrmgr.debug
  Cluster Log Description                             Generated by the clstrmgr daemon
  Default Log Destination Directory                   /tmp
* Log Destination Directory                          [/var/adm]
  Allow Logs on Remote Filesystems                    false    
Change the "Log Destination Directory" value
Do not follow the above procedure on the other nodes in the cluster but instead synchronise the changes by completing the following procedure.

1. Type smitty hacmp.
2. Go to Extended Configuration.
3. Select Extended Verification and Synchronization.
4. Press Enter with the default settings.

HMC


To turn off Attention LEDs in p servers:
01. List the managed servers from HMC
  lssyscfg -r sys -F name 
02.Check the LED status
   lsled -r sa -t phys -m 
03. Change the LED status to off
  chled -r sa -t phys -m  -o off
04. Check the status again
  lsled -r sa -t phys -m 
Should see output, "state=off."

Console Using HMC Command Line


vtmenu
vtmenu is a Perl script which displays a list of partitions, opening a virtual terminal on the one selected. If more than one managed systems exists, a list of them is displayed first. After a managed system is selected, a list of all logical partitions on that managed system is displayed. The vtmenu command does not accept any flags or parameters and ignores all that are specified.
Escape sequence to leave vtmenu terminal session is:
    ~. 
mkvterm: mkvterm opens a virtual terminal session for an AIX, Linux, or virtual I/O server partition
To open a console terminal:
  $ mkvterm -m  -p  
This can be exited with ~~.
To remove a terminal someone else is using:
 $ rmvterm -m  -p  
On integrated Virtual machine manager (blades)
 $ mkvt -id 
 $ rmvt -id 

Manage LPARs

To list all the lpars
 lssyscfg -r lpar -m  
To list only the lpar_name, state, lpar_id, update
 lssyscfg -r lpar -m   -F name,lpar_id,state
To query the state of a particular LPAR
 lssyscfg -r lpar -m  --filter lpar_names= -F state
Note:- valid filter names are: lpar_ids, lpar_names, profile_names, work_groups
To query the profile of an LPAR
 lsyscfg -r prof -m  --filter lpar_names= 
 name=testvio100,lpar_name=testvio100,lpar_id=2,os_type=aixlinux,all_resources=0,mem_mode=ded,min_mem=256,desired_mem=32768,max_mem=32768,
 proc_mode=shared,min_proc_units=0.10,desired_proc_units=0.40,max_proc_units=4.00,min_procs=1,desired_procs=4,max_procs=4,sharing_mode=uncap,
 uncap_weight=128,io_slots=none,lpar_io_pool_ids=none,max_virtual_slots=10,"virtual_serial_adapters=0/server/1/any//any/1,1/server/1/any//any/1",
 virtual_scsi_adapters=2/client/1/10-6656A/13/1,virtual_eth_adapters=4/0/64//0/0,boot_mode=norm,conn_monitoring=0,auto_start=1,power_ctrl_lpar_ids=none,
 lhea_logical_ports=none,lhea_capabilities=none,lpar_proc_compat_mode=default,virtual_fc_adapters=none
To create LPAR
 "mksyscfg -r lpar -m $MANAGED_SYSTEM -i name=$LPARNAME,profile_name=default,lpar_env=aixlinux,shared_proc_pool_util_auth=1,min_mem=2048,desired_mem=4096,max_mem=8192,proc_mode=shared,
 min_proc_units=0.1,desired_proc_units=0.1,max_proc_units=4.0,min_procs=1,desired_procs=1,max_procs=4,sharing_mode=uncap,uncap_weight=128,boot_mode=norm,shared_proc_pool_util_auth=1"
To remove an LPAR
 rmsyscfg -r lpar -m $MANAGED_SYSTEM -n $LPARNAME
To shutdown an LPAR
 lssyscfg -r sys -F name
 chsysstate -r lpar -m $MANAGED_SYSTEM -n $LPARNAME -o shutdown --immed
To power on
 chsysstate -r lpar -m $managed_system -n lparname -o on

Upgrade HMC using Network Images

Pre steps: Login to HMC and take backup of Critical Console Data and upgrade data first. Taking backup critical console data may take few hours. Hence, prepare to wait.
Follow these basic steps.
01. Download the appropriate HMC V7 network images and put them on an FTP server.
02. Verify that the following files have been downloaded:
 initrd.gz, bzImage, disk1.img, disk2.img, and disk3.img
03. On the HMC, you must first save upgrade data by running the following commands:
   3a. To save data to both DVD and disk:
        mount /media/cdrom
        saveupgdata -r diskdvd
   3b. To save to disk alone:
        saveupgdata -r disk
04. Next, copy the files over to the bootable disk partition on the HMC from FTP server
    4a. getupgfiles -h remote_hostname  -u  --passwd  -d  
    Note: use -s to use sftp instead of ftp.
    4b. If you want to see the progress of copy process, run the following command
    while true; do ls -la /hmcdump; sleep 30; done
05. After the files are copied over, run the following command:
    chhmc -c altdiskboot -s enable --mode upgrade

    Now the HMC is ready to be rebooted and automatically upgraded with the code copied to the bootable disk partition.
06. Finally, reboot the HMC and start the upgrade.
    hmcshutdown -r -t now

Performance Monitoring and Tunig


Monitoring Commands

 nmon
 vmstat
 iostat
 sar
 topas
 nmon
 svmon
 filemon
 mpstat
 rmss
 netpmon
vmstat
The vmstat command is useful for obtaining an overall picture of CPU, paging, and memory usage. The following is a sample report produced by the vmstat command:
  1. vmstat 5 2
 kthr      memory             page              faults     cpu
 ----- -----------   ------------------------ ------------ ----------- 
 r b     avm   fre    re pi po fr sr cy        in  sy  cs   us sy id wa 
 1 1  197167 477552   0  0  0  7  21 0        106 1114 451   0  0 99 0 
 0 0  197178 477541   0  0  0  0  0  0        443 1123 442   0  0 99 0 
Remember that the first report from the vmstat command displays cumulative activity since the last system boot. The second report shows activity for the first 5-second interval.

iostat


The iostat command is the fastest way to get a first impression, whether or not the system has a disk I/O-bound performance problem. This tool also reports CPU statistics.
 Flags
 -a  Specifies adapter throughput report.
 -d  Specifies drive report only.
 -m  Specifies statistics for paths.
 -t  Specifies tty/cpu report only.
 -z  Resets the disk input/output statistics

 # iostat  2 2
 tty:      tin         tout   avg-cpu:  % user    % sys     % idle    % iowait
           0.0          0.8               8.4      2.6       88.5       0.5
           0.0         80.2               4.5      3.0       92.1       0.5

 Disks:     % tm_act    Kbps    tps        Kb_read      Kb_wrtn
 hdisk3       0.0        0.3    0.0        258032       224266
 hdisk2       0.1        1.1    0.0        258088       1658678
To display the adapter information
 # iostat -t -a -D
 System configuration: lcpu=120 drives=27 paths=252 vdisks=0 tapes=0

 Adapter:           
 fcs0                 xfer:      bps      tps    bread      bwrtn
                               1.1M    47.7    468.3K     668.8K
 Adapter:           
 fcs1                 xfer:      bps      tps    bread      bwrtn
                             800.2K    34.7    330.9K     469.3K
To display disk statistics including queue info in long list format
# iostat -lD  
System configuration: lcpu=120 drives=27 paths=252 vdisks=0

Disks:                     xfers                                read                                write                                  queue                  
-------------- -------------------------------- ------------------------------------ ------------------------------------ -------------------------------------- 
                 %tm    bps   tps  bread  bwrtn   rps    avg    min    max time fail   wps    avg    min    max time fail    avg    min    max   avg   avg  serv
                 act                                    serv   serv   serv outs              serv   serv   serv outs        time   time   time  wqsz  sqsz qfull
hdisk1           0.6  58.6K  12.3   1.8K  56.8K   0.1   3.8    0.0    0.0     0    0  12.2   5.4    0.8   92.3     0    0   0.5    0.0   47.0    0.0   0.0   0.2
hdisk0           0.5  63.6K  12.5   6.9K  56.7K   0.3   2.5    2.6    7.1     0    0  12.2   5.0    0.3  100.0     0    0   0.4    0.0   50.3    0.0   0.0   0.2
hdisk8           5.0 908.7K  81.5 203.2K 705.5K  17.1  17.6    0.2  284.0     0    0  64.5 540.5    0.3   40.7     0    0   2.3S   0.0   26.6  215.0  36.0  21.3
hdisk2           1.8  55.4K   3.4  45.9K   9.6K   2.8  12.4    0.2   11.8     0    0   0.6 156.5    0.3   11.6     0    0   4.5    0.0    0.0    0.0   0.0   0.0
hdisk6           5.3 931.6K  85.3 254.3K 677.3K  22.5  13.9    0.2  420.5     0    0  62.8 563.9    0.2   38.0     0    0   1.2S   0.0   10.4  107.0  36.0  18.7
hdisk7           5.0 944.0K  85.5 208.7K 735.3K  17.3  17.5    0.2  313.6     0    0  68.2 497.0    0.3   43.7     0    0   2.2S   0.0   27.2  215.0  35.0  22.0
svmon

The svmon command provides a more in-depth analysis of memory usage. It is more informative, but also more intrusive, than the vmstat and ps commands. The svmon command captures a snapshot of the current state of memory.
The memory consumption is reported using the inuse, free, pin, virtual and paging space counters.
  • The inuse counter represents the number of used frames.
  • The free counter represents the number of free frames from all memory pools.
  • The pin counter represents the number of pinned frames, that is, frames that cannot be swapped.
  • The virtual counter represents the number of pages allocated in the system virtual space.
  • The paging space counter represents the number of pages reserved or used on paging spaces.
Flags
 -G   Global report
 -U   User report
 -P   Process report
 -i   To define intervel and number of intervels. eg. -i 1 5
To find out the total memory/swap and free memory/swap available in an AIX system
# svmon -G
               size      inuse       free        pin    virtual
memory      3932160    3914793      17367     444363    1609451
pg space    1048576       6622

               work       pers       clnt
pin          444363          0          0
in use      1609451          0    2305342

PageSize   PoolSize      inuse       pgsp        pin    virtual
s   4 KB          -    3787625       6622     370027    1482283
m  64 KB          -       7948          0       4646       7948

# pagesize
4096
So, the above system have almost 16GB physical Memory and 4 GB swap
A memory leak can be detected with the svmon command, by looking for processes whose working segment continually grows. A leak in a kernel segment can be caused by an mbuf leak or by a device driver, kernel extension, or even the kernel. To determine if a segment is growing, use the svmon command with the -i option to look at a process or a group of processes and see if any segment continues to grow.
 # svmon -P 13548 -i 1 2

 Pid                         Command        Inuse        Pin      Pgsp  Virtual 64-bit Mthrd LPage
 13548                       pacman         8535        2178      847     8533      N     N     N

 Vsid     Esid Type  Description          LPage  Inuse    Pin  Pgsp  Virtual
     0       0 work  kernel seg               -   4375   2176   847     4375
 48412       2 work  process private          -   2357     2    0    2357
 6c01b       d work  shared library text      -   1790      0     0     1790
 4c413       f work  shared library data      -     11     0    0      11
 3040c       1 pers  code,/dev/prodlv:4097    -      2      0     -        -
 ginger :svmon -P 13548 -i 1 3

 Pid                         Command        Inuse        Pin      Pgsp  Virtual 64-bit Mthrd LPage
 13548                       pacman         8589         2178       847  8587      N     N     N

 Vsid     Esid Type  Description          LPage  Inuse    Pin  Pgsp  Virtual
    0        0 work  kernel seg               -   4375   2176   847     4375
 48412       2 work  process private          -   2411     2    0    2411
 6c01b       d work  shared library text      -   1790      0     0     1790
 4c413       f work  shared library data      -     11     0    0      11
 3040c       1 pers  code,/dev/prodlv:4097    -      2      0     -        - 

filemon


The filemon command monitor a trace for file system and IO system events and reports performance statistics for files, virtual memory segments, logical volumes and physical volumes.filemon is useful to those whose applications are believed to be disk-bound and want to know where and why.
filemon command shows the load on different disks, logical volumes and files in a great detail.
trcstop command is used to stop the filemon monitoring.
The syntax of filemon command is
 filemon [-o output_file] [-O levels] [-u] [-v] 

  -O [lv | pv | vm | If | all ]    
     (If - Logical file level, vm - Virtual memory level, lv - lv level)  
  -u Reports on files that were opened prior to the start of the trace daemon
If the output file is not specified, the output is sent to standard output.
To start the filemon monitoring for 1 min.
 # filemon -uo filemon.out -O all ; sleep 60; trcstop
To find out the most active Logical Volumes
 # awk '/Most Active Logical Volumes/,/^$/' filemon.out
 Most Active Logical Volumes
 ------------------------------------------------------------------------
   util  #rblk  #wblk   KB/s  volume                   description
 ------------------------------------------------------------------------
   0.04   4208      0   34.9  /dev/paging00            paging
   0.04   4000      0   33.2  /dev/hd6                 paging
   0.01   1680  11408  108.6  /dev/oralvr32            /oracle/R32
   0.00      0    264    2.2  /dev/hd8                 jfs2log
To find out most active Files
 # awk '/Most Active Files/,/^$/' filemon.out
To find out most active physical Volumes
 # awk '/Most Active Physical Volumes/,/^$/' filemon.out
rmss

The rmss command provides you with a means to simulate different sizes of real memory that are smaller than your actual machine, without having to extract and replace memory boards or reconfigure memory using logical partitions.
To change the memory size to 500 MB,
 # rmss -c 500
 Simulated memory size changed to 500 Mb.
To reset the memory size to the real memory size of the machine, enter:
 # rmss -r

Tuning Commands

 vmo
 ioo
 no
 nice and renice
 vmtune
 defragfs
The /etc/tunables commands
To manage its files in the /etc/tunables directory, new commands have been added to AIX. They are as follows:
tuncheck: This command validates a file either to be applied immediately or at reboot time (-r flag). It checks the ranges, dependencies, and prompts to run bosboot if required. Run this command if you copy a file to a new system, or edit it with an editor such as vi.
tunsave: This command saves all current values to a file, including optionally the
nextboot file.
tunrestore: This command applies values from a file, either immediately, or at the next reboot (-r flag). With the -r flag, it validates and copies the file over the current nextboot file.
tundefault: This command resets all parameters to their default value. It can be applied at the next reboot with the -r flag.

ioo, vmo and no commands:

These commands are used to set or display current or next boot values of different tuning parameters.
  • ioo for IO tuning parameters
  • vmo for Virtual Memory Manager parameters
  • no for network tuning parameters
These commands can also make permanent changes or defer changes until the next reboot. When a permanent change or nextboot value is changed using these commands, the/etc/tunables/nextboot file is updated automatically with the new values (if the new value is different from the default value).
The following flags are common for ioo, vmo and no commands.
 -L [tunable] List the characteristics of one or all tunables
 -d tunable - Resets 'tunable' to default value
 -o [tunable] - Display the current value of 'tunable'
 -o tunable= - Set the 'tuneble' to new value
 -D - Resets all tunables to their default value  
 -p - Changes apply to both current and reboot values (/etc/tunables/nextboot file updated)
 -r - Changes apply to only reboot values (/etc/tunables/nextboot file updated)
Examples:
 # vmo -p -o minfree=1200 -o maxfree=1280 
 # ioo -r -o maxpgahead=64 -o j2_minPageReadAhead=8
 # no -r -o rfc1323=1 -o tcp_recvspace=262144 -o tcp_sendspace=262144
A sample /etc/tunables/nextboot file.
cat /etc/tunables/nextboot

vmo:
        minfree = "1200"
        maxfree = "1280"
        minperm% = "10"
        maxperm% = "40"
        maxclient% = "40"

ioo:
        j2_nBufferPerPagerDevice = "1024"

no:
        tcp_recvspace = "65536"
        tcp_sendspace = "65536"
        tcp_pmtu_discover = "0"
        udp_pmtu_discover = "0

minfree Minimum acceptable number of real-memory page frames in the free list. When the size of the free list falls below this number, the VMM begins stealing pages. It continues stealing pages until the size of the free list reaches maxfree.
maxfree Maximum size to which the free list will grow by VMM page-stealing. The size of the free list may exceed this number as a result of processes terminating and freeing their working-segment pages or the deletion of files that have pages in memory.
minperm If the percentage of real memory occupied by file pages falls below this level, the page-replacement algorithm steals both file and computational pages, regardless of repage rates.
maxperm' If the percentage of real memory occupied by file pages rises above this level, the page-replacement algorithm steals only file pages.
maxclient If the percentage of real memory occupied by file pages is above this level, the page-replacement algorithm steals only client pages.

aio (Asynchronous IO)

AIO is an AIX software subsystem that allows processes to issue I/O operations without waiting for I/O to finish. Because both I/O operations and applications processing run concurrently, they essentially run in the background and improve performance. This is particularly important in a database environment.
  • Prior to AIX 6.1, AIO is a device whose details are stored in the ODM and managed using the ‘chdev’ command.
  • From AIX 6.1 and above, AIO is no longer a device, and is managed using the ‘ioo’ command.
  • AIO is a prerequisite of Oracle, and must be ‘enabled’ prior to installing Oracle.
Prior to AIX 6.1, AIO is enabled as follows:
 smit aio  
   or 
 chdev –l aio0 –aautoconfig=available -a minservers=100 -a maxservers=100 -a maxreqs=9152 
 mkdev aio0
 chdev –l posix_aio0 –aautoconfig=available
 mkdev posix_aio0
 aioo  ### To manage aio parameters
minserver: Minimum number of kernel processes dedicated to asynchronous I/O processing
masservers: Maxiimum number of kernel processes dedicated to AIO processing
maxreqs: maximum number of asynchronous I/O requests that can be outstanding at one time
autoconfig: The state to which AIO is to be configured during system initialization. The possible values are "defined", which means that AIO cannot be used, and "available"
From AIX 6.1 and above, AIO is activated ‘dynamically’ as and when a program makes a call to AIO, so it is no longer necessary to manually enable AIO. The ‘ioo’ command is used change the properties of AIO only.
 # ioo -a 
                    aio_active = 0
                   aio_maxreqs = 65536
                aio_maxservers = 30
                aio_minservers = 3
         aio_server_inactivity = 300
         j2_atimeUpdateSymlink = 0
  j2_dynamicBufferPreallocation = 16
             j2_inodeCacheSize = 400
           j2_maxPageReadAhead = 128
             j2_maxRandomWrite = 0
          j2_metadataCacheSize = 400
           j2_minPageReadAhead = 2
 j2_nPagesPerWriteBehindCluster = 32
             j2_nRandomCluster = 0
              j2_syncPageCount = 0
              j2_syncPageLimit = 16
                    lvm_bufcnt = 9
                    maxpgahead = 8
                    maxrandwrt = 0
                      numclust = 1
                     numfsbufs = 196
                     pd_npages = 65536
              posix_aio_active = 0
             posix_aio_maxreqs = 65536
          posix_aio_maxservers = 30
          posix_aio_minservers = 3
   posix_aio_server_inactivity = 300

Disk IO pacing (High water-mark and Low Water-mark)

AIX 6.1 enables I/O pacing by default. In AIX 5.3, you needed to explicitly enable this feature.
The way it does this is by setting the sys0 settings of minpout and maxput parameters to 4096 and 8193, respectively:
Disk-I/O pacing is intended to prevent programs that generate very large amounts of output from saturating the systems I/O facilities and causing the response times of less-demanding programs to deteriorate.
When a process tries to write to a file that already has high-water mark pending writes, the process is put to sleep until enough I/Os have completed to make the number of pending writes less than or equal to the low-water mark. The logic of I/O-request handling does not change. The output from high-volume processes is slowed down somewhat.
The maxpout parameter specifies the number of pages that can be scheduled in the I/O state to a file before the threads are suspended. The minpout parameter specifies the minimum number of scheduled pages at which the threads are woken up from the suspended state. The default value for both the maxpout and minpout parameters is 0, which means that the I/O pacing feature is disabled. Changes to the system-wide values of the maxpout and minpout parameters take effect immediately without rebooting the system.
Changing the values for the maxpout and minpout parameters overwrites the system-wide settings. You can exclude a file system from system-wide I/O pacing by mounting the file system and setting the values for the maxpout and minpout parameters explicitly to 0. The following command is an example: mount -o minpout=0,maxpout=0 /
To change the high water-mark level
 # chdev -a maxpout=20 -l sys0

Network Monitoring

netpmon Monitors activity and reports statistics on network I/O and network-related CPU usage. The netpmon command monitors a trace of system events, and reports on network activity and performance during the monitored interval. By default, the netpmon command runs in the background while one or more application programs or system commands are being executed and monitored. The netpmon command automatically starts and monitors a trace of network-related system events in real time. By default, the trace is started immediately; optionally, tracing may be deferred until the user issues a trcon command. When tracing is stopped by a trcstop command, the netpmon command generates all specified reports and exits.
# netpmon 
Run trcstop command to signal end of trace.
Fri Mar 23 10:08:43 2012
System: AIX 6.1 Node: nbmedia200 Machine: 00C7C24E4C00

# trcstop
[netpmon: Reporting started]

========================================================================

Process CPU Usage Statistics:
-----------------------------
                                                   Network
Process (top 20)             PID  CPU Time   CPU %   CPU %
----------------------------------------------------------
netpmon                  2294244    6.8347    9.820   0.000
ps                           3080288     0.0156    0.022   0.000
ps                           983804       0.0146    0.021   0.000
ps                           3145998     0.0143    0.021   0.000
ps                           3015104     0.0129    0.019   0.000
trcstop                    3080290     0.0053    0.008   0.000
ksh                         1835464     0.0051     0.007   0.000
topasrec                 2228292     0.0051     0.007   0.000
----------------------------------------------------------
Total (all processes)                   6.9672    10.011  0.003
Idle time                                 59.3796     85.319

========================================================================

First Level Interrupt Handler CPU Usage Statistics:
---------------------------------------------------
                                                   Network
FLIH                              CPU Time   CPU %   CPU %
----------------------------------------------------------
data page fault               0.0495   0.071   0.000
UNKNOWN                      0.0170   0.024   0.000
PPC decrementer            0.0024   0.003   0.000
external device               0.0000   0.000   0.000
queued interrupt             0.0000   0.000   0.000
----------------------------------------------------------
Total (all FLIHs)               0.0689   0.099   0.000

========================================================================
Network Device-Driver Statistics (by Device):
---------------------------------------------
                        ----------- Xmit -----------   -------- Recv ---------
Device                   Pkts/s  Bytes/s  Util  QLen   Pkts/s  Bytes/s   Demux
------------------------------------------------------------------------------
ethernet 0                 0.69       74  0.1%  0.00     1.61      243  0.0000
ethernet 1                 0.00        0  0.0%  0.00     0.23      136  0.0000

======================================================================== 

LPAR


LPAR facts
  • For initially configuring a P-Series system for installtion in LPAR mode, the system should be placed on Partion Stand-By mode
To list all the PCI slots allocated to an LPAR
 # lsslot -c pci
 # lsslot -c pci -a
To dynamically reallocate an adapter
  1. Determine the PCI slot for the adapter using lsslot -c slot and get the "pciX' device name
  2. Remove the device from AIX using rmdev -l pciX -R (-R to remove all the child to parent)
  3. On HMC dynamically allocate the device to another
  4. On the destination box, run 'cfgmgr' to configure the allocated device
The HMC itself can be rebooted by loging to HMC with SSH, as user hscroot, and issueing the command
 $ hmcshutdown -r -t0
To shutdown a LPAR
 chsysstate -r lpar -m MACHINE_NAME -o shutdown --immed --restart --id LPARID (or -n LPARNAME)
To findout which HMC an LPAR is connected
 # lsrsrc IBM.ManagementServer   (Name and Hostname are HMC's Name and hostname of HMC)       
 Resource Persistent Attributes for IBM.ManagementServer 
 resource 1:
        Name             = "10.253.1.22"
        Hostname         = "10.253.1.22"
        ManagerType      = "HMC"
        LocalHostname    = "10.253.1.54"
        ClusterTM        = "9078-160"
        ClusterSNum      = ""
        ActivePeerDomain = ""
        NodeNameList     = {"err3qdb0"}
 resource 2:
        Name             = "128.137.44.205"
        Hostname         = "128.137.44.205"
        ManagerType      = "HMC"
        LocalHostname    = "10.253.1.54"
        ClusterTM        = "9078-160"
        ClusterSNum      = ""
        ActivePeerDomain = ""
        NodeNameList     = {"err3qdb0"}
To disable/enable processor simultaneous multi-threading mode
 smtctl -m off
If dynamic LPAR is not working
  • Start rsct daemons if not already started
    • lssrc -a | grep rsct
    • startsrc -g rsct
  • Try re-booting HMC

Console Using HMC Command Line


vtmenu
vtmenu is a Perl script which displays a list of partitions, opening a virtual terminal on the one selected. If more than one managed systems exists, a list of them is displayed first. After a managed system is selected, a list of all logical partitions on that managed system is displayed. The vtmenu command does not accept any flags or parameters and ignores all that are specified.
Escape sequence to leave vtmenu terminal session is:
    ~. 
mkvterm: mkvterm opens a virtual terminal session for an AIX, Linux, or virtual I/O server partition
To open a console terminal:
  $ mkvterm -m  -p  
This can be exited with ~~.
To remove a terminal someone else is using:
 $ rmvterm -m  -p  

 # lsslot -c phb
 PHB Name  Description               Device(s)
 PHB 1     Logical PCI Host Bridge   pci0
           U7879.001.DQDGTGK-P1-T14  pci3 sisscsia0
           U7879.001.DQDGTGK-P1-T4   pci4 usbhc0 usbhc1
           U7879.001.DQDGTGK-P1-T6   pci5 ent0 ent1
 PHB 2     Logical PCI Host Bridge   pci1
           U7879.001.DQDGTGK-P1-C3   pci6 ent2 ent3
           U7879.001.DQDGTGK-P1-C4   pci7 ent4 ent5
           U7879.001.DQDGTGK-P1-C5   pci8 fcs0
 PHB 3     Logical PCI Host Bridge   pci2
           U7879.001.DQDGTGK-P1-T12  pci10 sisscsia1
           U7879.001.DQDGTGK-P1-T15  pci11 ide0
           U7879.001.DQDGTGK-P1-C1   pci12 fcs1
To list the system connections
 # lssysconff -r all 
  • lssysconn lists connection information for all of the systems and frames managed by this Hardware Management Console (HMC). Connection information for all systems and frames to which this HMC is connected or attempting to connect is listed.
  • ssysconn also lists IP addresses that cannot be automatically discovered by this HMC when using DHCP. If this HMC is set up as a DHCP server on a private network, whenever the Remove Connection task or the rmsysconn command is run to remove a managed system or a managed frame from the HMC, the HMC places the IP address(es) of that system or frame in a list of removed IP addresses. Any IP address in that list will not be rediscovered when reattached to the HMC. The lssysconn -r nondiscover command can be used to display the contents of that list of removed IP addresses.
To list All the managed systems attached to the HMC
 $ lssyscfg -r sys
 name=Server-9119-595-SN02898EB,type_model=9119-595,serial_num=02898EB,ipaddr=10.128.253
 ndary=10.128.255.252,state=Operating,sys_time=10/13/2006 20:15:55,power_off_policy=1,co
 cod_proc_capable=1,hca_capable=1,huge_page_mem_capable=unavailable,micro_lpar_capable=1
 ,5250_application_capable=0,redundant_err_path_reporting_capable=1,shared_eth_failover
 g_passing_capable=1,sp_failover_capable=1,vet_activation_capable=1,virtual_io_server_c
 250_cpw_percent=0,max_lpars=254,max_power_ctrl_lpars=1,service_lpar_id=3,service_lpar_n
 ...............................
 ...............................
 ,pend_mfg_default_boot_mode=norm,sp_failover_enabled=1,sp_failover_state=Ready
To list only name, Serial number, IP address and state alone,
 $ lssyscfg -r sys -F name,type_model,serial_num, ipaddr,state --header
 name,type_model,serial_num,ipaddr,state
 Server-9119-595-SN02898EB,9119-595,02898EB,10.128.253.255,Operating
 Server-9119-595-SN02898BB,9119-595,02898BB,10.128.255.250,Operating
To list all the Lpar in the managed system
 $ lssyscfg -r lpar -m Server-9119-595-SN02898EB
lssyscfg -r lpar -m Server-9119-595-SN02898EB
name=eraprci0,lpar_id=8,lpar_env=aixlinux,state=Running,resource_config=1,os_version=0.
0.0.0.0.0,logical_serial_num=02898EB8,default_profile=eraprci0,curr_profile=eraprci0,
work_group_id=none,shared_proc_pool_util_auth=0,power_ctrl_lpar_ids=none,boot_mode=norm,
lpar_keylock=norm,auto_start=0,redundant_err_path_reporting=0

name=eraptci0,lpar_id=7,lpar_env=aixlinux,state=Running,resource_config=1,os_version=0.
0.0.0.0.0,logical_serial_num=02898EB7,default_profile=eraptci0,curr_profile=eraptci0,
work_group_id=none,shared_proc_pool_util_auth=0,power_ctrl_lpar_ids=none,boot_mode=norm,
lpar_keylock=norm,auto_start=0,redundant_err_path_reporting=0

name=erep2ci0,lpar_id=6,lpar_env=aixlinux,state=Running,resource_config=1,os_version=0.
0.0.0.0.0,logical_serial_num=02898EB6,default_profile=erep2ci0,curr_profile=erep2ci0,
work_group_id=none,shared_proc_pool_util_auth=0,power_ctrl_lpar_ids=none,boot_mode=norm,
lpar_keylock=norm,auto_start=0,redundant_err_path_reporting=0

 $ lssyscfg -r lpar -m Server-9119-595-SN02898EB  -Fname,curr_profile,state
 eraprci0,eraprci0,Running
 eraptci0,eraptci0,Running
 erep2ci0,erep2ci0,Running


 lshwres -r mem --level sys                           
 configurable_sys_mem=32768,curr_avail_sys_mem=30208,pend_avail_sys_mem=30208,installed_sys_mem=32768,deconfig_sys_mem=0,sys_firmware_mem=512,
 mem_region_size=128,pend_mem_region_size=128,"possible_mem_region_sizes=auto,16,32,64,128,256",auto_mem_region_size=128,max_mem_pools=0,
 max_paging_vios_per_mem_pool=1

Upgrading the machine code on HMC

01. Backup the managed system's profile data
 Server and Partition --> Server Management --> Profile data --> Backup 
 Type the filename and save the information. Do this for each Managed system.
02. Backup critical console information so that previous levels can be restored in the event of a problem while upgrading the software. Do not use this critical console data after a successful upgrade to a new version of the HMC software. We can backup the console data in DVD-RAM media
03. Record the current HMC configuration
04. Save upgrade data. You can save the current HMC configuration in a designated disk partition on the HMC. Only save upgrade data immediately prior to upgrading your HMC software to a new release. This action allows you to restore HMC configuration settings after upgrading
 HMC Code update --> Save Upgrade Data --> Save on Hard Drive --> Finish
05. Upgrade HMC Software
 HMC Management --> Shutdown or Restart HMC --> Restart HMC 
After HMC restarts, in the login screen, select
 upgrade --> upgrade from Media -- Finish