A little over a year ago, I wrote about the new AIX Live Update feature, available with the AIX 7.2. I discussed how to use this new feature to install an interim fix (ifix) on a running AIX system without a reboot. On October 11th, 2016, IBM announced the next exciting step in AIX Live Updates.

 

Introducing IBM AIX 7.2.1 Live Update

http://www.ibm.com/developerworks/aix/library/au-aix7.2.1-liveupdate-trs/index.html?ca=drs-&ce=ism0070&ct=is&cmp=ibmsocial&cm=h&cr=crossbrand&ccy=us

 

This is a significant enhancement, as it will allow AIX administrators to install TLs and SPs (and ifixes) without restarting their AIX systems. From the announcement:

 

"AIX Live Update for Technology Levels, Service Packs, and Interim Fixes

 

In this post I'll show you how to install updates without rebooting your AIX server. I recommend you first review my original article on Live Updates (from Oct 2015) in order to better understand the Live Update process, how it works and the requirements.

 

TL and SP Live Update support is delivered in AIX 7.2 TL1 (available November 11th 2016).

 

One of the biggest differences between the Live Update process for TL/SPs versus ifixes, is that you must backup your system prior to the update. This will be used in case you need to back out your system. The easiest way to do this is, is to create an alternate rootvg (alt disk clone).

 

On my system, I first applied TL1 for AIX 7.2 and verified the correct level was installed.

 

root@AIXmig / # oslevel -s

7200-01-00-0000

root@AIXmig / # cat /proc/version

Oct 10 2016

11:53:17

1640C_72D

@(#) _kdb_buildinfo unix_64 Oct 10 2016 11:53:17 1640C_72D

 

I had several "free" disks that I could use for the Live Update process. I'd need at least 3 disks, one for my alternate rootvg (back out), one for the mirror disk and one for the new rootvg. In this case I used hdisk6 (alt rootvg), hdisk3 (mdisk) and hdisk2 (ndisk). This was specified in the lvupdate.data configuration file. All three disks were large enough to hold a complete copy of my existing rootvg.

 

root@AIXmig / # lspv

hdisk0          00f94f58cecabed6                    rootvg          active

hdisk1          00f94f58697b768f                    datavg          active

hdisk2          00f94f58697b7655                    None

hdisk3          00f94f58ce74a739                    None

hdisk4          00f94f58a3b2f963                    None

hdisk5          00f94f58a3b2f9d4                    None

hdisk6          00f94f58def77f2c                    None

 

root@AIXmig / # cat /var/adm/ras/liveupdate/lvupdate.data

...

disks:

        nhdisk  = hdisk2

        mhdisk  = hdisk3

                                               

Note, with 7.2 TL1, only two disks need to be specified in the lvupdate.data file. The tohdisk and tshdisk are not needed with TL1 unless you have a paging or dump device outside of rootvg.

I cloned my rootvg to a spare disk (hdisk6) first. I specified the -B flag to ensure the boot list was not changed.

 

root@AIXmig / # alt_disk_copy -Bd hdisk6

 

The updates I needed to install were located in the /tmp directory.

 

root@AIXmig /tmp/cg/lku_ptfs # ls -ltr

total 50328

-rw-r--r--    1 root     system       454656 Oct 20 00:49 bos.liveupdate.rte.7.2.1.1.U

-rw-r--r--    1 root     system     41306112 Oct 20 00:50 bos.mp64.7.2.1.1.U

-rw-r--r--    1 root     system       253952 Oct 20 00:50 bos.net.tcp.ftp.7.2.1.1.U

-rw-r--r--    1 root     system       369664 Oct 20 00:50 bos.rte.install.7.2.1.1.U

-rw-r--r--    1 root     system       183296 Oct 20 00:50 bos.rte.libcfg.7.2.1.1.U

-rw-r--r--    1 root     system      1713152 Oct 20 00:50 bos.sysmgt.hmc.7.2.1.1.U

-rw-r--r--    1 root     system       155648 Oct 20 00:50 devices.vdevice.IBM.vfc-client.rte.7.2.1.1.U

-rw-r--r--    1 root     system         2264 Oct 20 10:31 .toc

 

All of the filesets were currently installed at the 7.2.1.0 level.

 

root@AIXmig / # lslpp -l bos.liveupdate.rte bos.mp64 bos.net.tcp.ftp bos.rte.install bos.rte.libcfg bos.sysmgt.hmc devices.vdevice.IBM.vfc-client.rte

  Fileset                      Level  State      Description

  ----------------------------------------------------------------------------

Path: /usr/lib/objrepos

  bos.liveupdate.rte         7.2.1.0  COMMITTED  Live Update Runtime

  bos.mp64                   7.2.1.0  COMMITTED  Base Operating System 64-bit

                                                 Multiprocessor Runtime

  bos.net.tcp.ftp            7.2.1.0  COMMITTED  TCP/IP ftp Client Application

  bos.rte.install            7.2.1.0  COMMITTED  LPP Install Commands

  bos.rte.libcfg             7.2.1.0  COMMITTED  libcfg Library

  bos.sysmgt.hmc             7.2.1.0  COMMITTED  HMC Client Runtime

  devices.vdevice.IBM.vfc-client.rte

                             7.2.1.0  COMMITTED  Virtual Fibre Channel Client

                                                 Support

 

Path: /etc/objrepos

  bos.liveupdate.rte         7.2.1.0  COMMITTED  Live Update Runtime

  bos.mp64                   7.2.1.0  COMMITTED  Base Operating System 64-bit

                                                 Multiprocessor Runtime

  bos.net.tcp.ftp            7.2.1.0  COMMITTED  TCP/IP ftp Client Application

  bos.rte.install            7.2.1.0  COMMITTED  LPP Install Commands

  bos.rte.libcfg             7.2.1.0  COMMITTED  libcfg Library

  bos.sysmgt.hmc             7.2.1.0  COMMITTED  HMC Client Runtime

  devices.vdevice.IBM.vfc-client.rte

                             7.2.0.0  COMMITTED  Virtual Fibre Channel Client

                                                 Support

                                                                                                                    

I ensured that my AIX partition could authenticate with my HMC (hsc02) and that I had a valid token.

 

root@AIXmig / # hmcauth -l

Could not retrieve <tokens>.

 

root@AIXmig / # hmcauth -a hsc02 -u hscroot -p abc1234

 

root@AIXmig / # hmcauth -l

Address  : 10.1.50.30

User name: hscroot

port     : 12443                                                                                                

 

Next I performed a preview, without specifying any updates. This was to verify the environment was ready to accept a Live Update and shake out any problems.

 

root@AIXmig / # geninstall -k -p

Validating live update input data.

 

Computing the estimated time for the live update operation:

-------------------------------------------------------

LPAR: AIXmig

Blackout_time(s): 18

Global_time(s): 708

 

Checking mirror vg device size:

------------------------------------------

Required device size: 7744 MB

Given device size: 10239 MB

PASSED: device size is sufficient.

 

Checking new root vg device size:

------------------------------------------

Required device size: 7744 MB

Given device size: 10239 MB

PASSED: device size is sufficient.

 

Checking temporary storage size for original LPAR:

------------------------------------------

Required device size: 0 or Undetermined MB

Given device size: 2047 MB

PASSED: device size is sufficient.

 

Checking temporary storage size for surrogate LPAR:

------------------------------------------

Required device size: 0 or Undetermined MB

Given device size: 2047 MB

PASSED: device size is sufficient.

 

Validating the adapters and their paths:

------------------------------------------

PASSED: adapters can be divided into two sets so that each has paths to all disks.

 

Checking lpar minimal memory size:

------------------------------------------

Required memory size: 2048 MB

Current memory size: 2048 MB

PASSED: memory size is sufficient.

 

Checking other requirements:

------------------------------------------

PASSED: sufficient space available in /var.

PASSED: sufficient space available in /.

PASSED: sufficient space available in /home.

PASSED: no existing altinst_rvgLvup.

PASSED: rootvg is not part of a snapshot.

PASSED: pkcs11 is not installed.

PASSED: DoD/DoDv2 profile is not applied.

PASSED: Advanced Accounting is not on.

PASSED: Virtual Trusted Platform Module is not on.

PASSED: multiple semid lists is not on.

PASSED: sufficient file system space for interim fix(es) is available.

PASSED: The trustchk Trusted Execution Policy is not on.

PASSED: The trustchk Trusted Library Policy is not on.

PASSED: The trustchk TSD_FILES_LOCK policy is not on.

PASSED: the boot disk is set to the current rootvg.

PASSED: the mirrorvg name is available.

PASSED: the rootvg is uniformly mirrored.

PASSED: the rootvg does not have the maximum number of mirror copies.

PASSED: the rootvg does not have stale logical volumes.

PASSED: all of the mounted file systems are of a supported type.

PASSED: this AIX instance is not diskless.

PASSED: no Kerberos configured for NFS mounts.

PASSED: multibos environment not present.

PASSED: Trusted Computing Base not defined.

PASSED: no local tape devices found.

PASSED: live update not executed from console.

PASSED: the execution environment is valid.

PASSED: enough available space for /var to dump Component Trace buffers.

PASSED: enough available space for /var to dump Light weight memory Trace buffers.

PASSED: all devices are virtual devices.

PASSED: No active workload partition found.

PASSED: nfs configuration supported.

PASSED: HMC token is present.

PASSED: HMC requests for managed system successful.

PASSED: HMC requests for lpar successful.

PASSED: HMC is at a supported level.

PASSED: HMC token is valid.

PASSED: A virtual slot is available.

PASSED: All VIOS are at supported level.

PASSED: All storage adapter mappings are visible on VIOS.

PASSED: All disk reserve policies set to NoReserve or PersistentStorage.

PASSED: RSCT daemons are active.

PASSED: no Kerberos configuration.

PASSED: lpar is not remote restart capable.

PASSED: the simplified remote restart configuration is supported.

PASSED: no virtual log device configured.

PASSED: lpar is using dedicated memory.

PASSED: the disk configuration is supported.

PASSED: no Generic Routing Encapsulation (GRE) tunnel configured.

PASSED: Firmware level is supported.

PASSED: vNIC resources available.

PASSED: Consolidated system trace buffers size is within the limit of 64 MB.

PASSED: SMT number is valid.

PASSED: No process attached to vty0.

PASSED: Audit is not enabled in stream mode.

PASSED: No exclusive rsets (sysxrset) found.

PASSED: Managed System state is operating.

INFO: Any system dumps present in the current dump logical volumes will not be available after live update is complete.

 

Then I performed another preview, this time specifying the location of the updates to be installed.

 

root@AIXmig / # geninstall -k -p -d /tmp/cg/lku_ptfs update_all

 

*******************************************************************************

installp PREVIEW:  installation will not actually occur.

*******************************************************************************

 

+-----------------------------------------------------------------------------+

                    Pre-installation Verification...

+-----------------------------------------------------------------------------+

Verifying selections...done

Verifying requisites...done

Results...

 

SUCCESSES

---------

  Filesets listed in this section passed pre-installation verification

  and will be installed.

 

  Selected Filesets

  -----------------

  bos.liveupdate.rte 7.2.1.1                  # Live Update Runtime

  bos.mp64 7.2.1.1                            # Base Operating System 64-bit...

  bos.net.tcp.ftp 7.2.1.1                     # TCP/IP ftp Client Application

  bos.rte.install 7.2.1.1                     # LPP Install Commands

  bos.rte.libcfg 7.2.1.1                      # libcfg Library

  bos.sysmgt.hmc 7.2.1.1                      # HMC Client Runtime

  devices.vdevice.IBM.vfc-client.rte 7.2.1.1  # Virtual Fibre Channel Client...

 

  << End of Success Section >>

 

+-----------------------------------------------------------------------------+

                   BUILDDATE Verification ...

+-----------------------------------------------------------------------------+

Verifying build dates...done

FILESET STATISTICS

------------------

    7  Selected to be installed, of which:

        7  Passed pre-installation verification

  ----

    7  Total to be installed

 

RESOURCES

---------

  Estimated system resource requirements for filesets being installed:

                (All sizes are in 512-byte blocks)

      Filesystem                     Needed Space             Free Space

      /usr                                  496                2352168

      /tmp                                43952                2158040

      -----                            --------                 ------

      TOTAL:                              44448                4510208

 

  NOTE:  "Needed Space" values are calculated from data available prior

  to installation.  These are the estimated resources required for the

  entire operation.  Further resource checks will be made during

  installation to verify that these initial estimates are sufficient.

...

******************************************************************************

End of installp PREVIEW.  No apply operation has actually occurred.

******************************************************************************

Validating live update input data.

 

Computing the estimated time for the live update operation:

-------------------------------------------------------

LPAR: AIXmig

Blackout_time(s): 18

Global_time(s): 701

 

Checking mirror vg device size:

------------------------------------------

Required device size: 7744 MB

Given device size: 10239 MB

PASSED: device size is sufficient.

...

PASSED: Firmware level is supported.

PASSED: vNIC resources available.

PASSED: Consolidated system trace buffers size is within the limit of 64 MB.

PASSED: SMT number is valid.

PASSED: No process attached to vty0.

PASSED: Audit is not enabled in stream mode.

PASSED: No exclusive rsets (sysxrset) found.

PASSED: Managed System state is operating.

INFO: Any system dumps present in the current dump logical volumes will not be available after live update is complete.

root@AIXmig / #

 

I took note of the current partition ID, as this would change after the Live Update was completed.

 

root@AIXmig / # uname -L

20 AIXmig

 

I started the Live Update process.

 

root@AIXmig / # geninstall -k -d /tmp/cg/lku_ptfs update_all

 

+-----------------------------------------------------------------------------+

                    Pre-installation Verification...

+-----------------------------------------------------------------------------+

Verifying selections...done

Verifying requisites...done

Results...

 

SUCCESSES

---------

  Filesets listed in this section passed pre-installation verification

  and will be installed.

 

  Selected Filesets

  -----------------

  bos.liveupdate.rte 7.2.1.1                  # Live Update Runtime

  bos.mp64 7.2.1.1                            # Base Operating System 64-bit...

  bos.net.tcp.ftp 7.2.1.1                     # TCP/IP ftp Client Application

  bos.rte.install 7.2.1.1                     # LPP Install Commands

  bos.rte.libcfg 7.2.1.1                      # libcfg Library

  bos.sysmgt.hmc 7.2.1.1                      # HMC Client Runtime

  devices.vdevice.IBM.vfc-client.rte 7.2.1.1  # Virtual Fibre Channel Client...

 

  << End of Success Section >>

 

+-----------------------------------------------------------------------------+

                   BUILDDATE Verification ...

+-----------------------------------------------------------------------------+

Verifying build dates...done

FILESET STATISTICS

------------------

    7  Selected to be installed, of which:

        7  Passed pre-installation verification

  ----

    7  Total to be installed

 

0503-409 installp:  bosboot verification starting...

installp:  bosboot verification completed.

+-----------------------------------------------------------------------------+

                         Installing Software...

+-----------------------------------------------------------------------------+

 

installp:  APPLYING software for:

        devices.vdevice.IBM.vfc-client.rte 7.2.1.1

 

 

. . . . . << Copyright notice for devices.vdevice.IBM.vfc-client >> . . . . . . .

 Licensed Materials - Property of IBM

 

 5765CD200

   Copyright International Business Machines Corp. 2008, 2016.

 

 All rights reserved.

 US Government Users Restricted Rights - Use, duplication or disclosure

 restricted by GSA ADP Schedule Contract with IBM Corp.

. . . . . << End of copyright notice for devices.vdevice.IBM.vfc-client >>. . . .

 

Filesets processed:  1 of 7  (Total time:  4 secs).

 

installp:  APPLYING software for:

        bos.sysmgt.hmc 7.2.1.1

...

installp:  bosboot process completed.

+-----------------------------------------------------------------------------+

                                Summaries:

+-----------------------------------------------------------------------------+

 

Installation Summary

--------------------

Name                        Level           Part        Event       Result

-------------------------------------------------------------------------------

devices.vdevice.IBM.vfc-cli 7.2.1.1         USR         APPLY       SUCCESS

bos.sysmgt.hmc              7.2.1.1         USR         APPLY       SUCCESS

bos.sysmgt.hmc              7.2.1.1         ROOT        APPLY       SUCCESS

bos.rte.libcfg              7.2.1.1         USR         APPLY       SUCCESS

bos.rte.libcfg              7.2.1.1         ROOT        APPLY       SUCCESS

bos.rte.install             7.2.1.1         USR         APPLY       SUCCESS

bos.rte.install             7.2.1.1         ROOT        APPLY       SUCCESS

bos.net.tcp.ftp             7.2.1.1         USR         APPLY       SUCCESS

bos.net.tcp.ftp             7.2.1.1         ROOT        APPLY       SUCCESS

bos.mp64                    7.2.1.1         USR         APPLY       SUCCESS

bos.mp64                    7.2.1.1         ROOT        APPLY       SUCCESS

bos.liveupdate.rte          7.2.1.1         USR         APPLY       SUCCESS

bos.liveupdate.rte          7.2.1.1         ROOT        APPLY       SUCCESS

bos.rte.libcfg              7.2.1.1         USR         COMMIT      SUCCESS

bos.rte.libcfg              7.2.1.1         ROOT        COMMIT      SUCCESS

bos.rte.install             7.2.1.1         USR         COMMIT      SUCCESS

bos.rte.install             7.2.1.1         ROOT        COMMIT      SUCCESS

bos.sysmgt.hmc              7.2.1.1         USR         COMMIT      SUCCESS

bos.sysmgt.hmc              7.2.1.1         ROOT        COMMIT      SUCCESS

devices.vdevice.IBM.vfc-cli 7.2.1.1         USR         COMMIT      SUCCESS

bos.mp64                    7.2.1.1         USR         COMMIT      SUCCESS

bos.mp64                    7.2.1.1         ROOT        COMMIT      SUCCESS

bos.liveupdate.rte          7.2.1.1         USR         COMMIT      SUCCESS

bos.liveupdate.rte          7.2.1.1         ROOT        COMMIT      SUCCESS

bos.net.tcp.ftp             7.2.1.1         USR         COMMIT      SUCCESS

bos.net.tcp.ftp             7.2.1.1         ROOT        COMMIT      SUCCESS

Validating live update input data.

 

Computing the estimated time for the live update operation:

-------------------------------------------------------

LPAR: AIXmig

Blackout_time(s): 17

Global_time(s): 759

...

PASSED: Managed System state is operating.

INFO: Any system dumps present in the current dump logical volumes will not be available after live update is complete.

 

Non-interruptable live update operation begins in 10 seconds.

 

Broadcast message from root@AIXmig (pts/0) at 10:38:35 ...

 

Live AIX update in progress.

 

Initializing live update on original LPAR.

 

Validating original LPAR environment.

 

Beginning live update operation on original LPAR.

 

Requesting resources required for live update.

........................

Notifying applications of impending live update.

 

Creating rootvg for boot of surrogate.

....................................

Starting the surrogate LPAR.

....................................

Creating mirror of original LPAR's rootvg.

........................................................

Moving workload to surrogate LPAR.

................

        Blackout Time started.

 

        Blackout Time end.

 

Workload is running on surrogate LPAR.

................................

Shutting down the Original LPAR.

............................

The live update operation succeeded.

 

Broadcast message from root@AIXmig (pts/0) at 10:51:35 ...

 

Live AIX update completed.

 

The process completed successfully and all of the filesets were updated to 7.2.1.1.

 

root@AIXmig / # lslpp -l bos.liveupdate.rte bos.mp64 bos.net.tcp.ftp bos.rte.install bos.rte.libcfg bos.sysmgt.hmc devices.vdevice.IBM.vfc-client.rte

  Fileset                      Level  State      Description

  ----------------------------------------------------------------------------

Path: /usr/lib/objrepos

  bos.liveupdate.rte         7.2.1.1  COMMITTED  Live Update Runtime

  bos.mp64                   7.2.1.1  COMMITTED  Base Operating System 64-bit

                                                 Multiprocessor Runtime

  bos.net.tcp.ftp            7.2.1.1  COMMITTED  TCP/IP ftp Client Application

  bos.rte.install            7.2.1.1  COMMITTED  LPP Install Commands

  bos.rte.libcfg             7.2.1.1  COMMITTED  libcfg Library

  bos.sysmgt.hmc             7.2.1.1  COMMITTED  HMC Client Runtime

  devices.vdevice.IBM.vfc-client.rte

                             7.2.1.1  COMMITTED  Virtual Fibre Channel Client

 

I used the genld command to list the processes that had an old version of a library loaded.

 

root@AIXmig / # genld -lu

Proc_pid: 4915634   Proc_name: hostmibd

  9000000004f5ce0   16c90  /usr/lib/libcfg.a[shr_64.o]

 

Proc_pid: 5177766   Proc_name: nimsh

         d0609100   15f27  /usr/lib/libcfg.a[shr.o]

 

Proc_pid: 5308838   Proc_name: aso

  9000000004f5ce0   16c90  /usr/lib/libcfg.a[shr_64.o]

 

Proc_pid: 5767616   Proc_name: rpc.lockd

         d0609100   15f27  /usr/lib/libcfg.a[shr.o]

 

Proc_pid: 6947326   Proc_name: IBM.HostRMd

         d0609100   15f27  /usr/lib/libcfg.a[shr.o]

 

Proc_pid: 7078374   Proc_name: clcomd

         d0609100   15f27  /usr/lib/libcfg.a[shr.o]

 

Proc_pid: 7799098   Proc_name: sshd

         d0609100   15f27  /usr/lib/libcfg.a[shr.o]

 

Proc_pid: 7864602   Proc_name: sshd

         d0609100   15f27  /usr/lib/libcfg.a[shr.o]

 

Proc_pid: 8257802   Proc_name: rmcd

         d0609100   15f27  /usr/lib/libcfg.a[shr.o]

 

Proc_pid: 8585628   Proc_name: IBM.MgmtDomainRMd

         d0609100   15f27  /usr/lib/libcfg.a[shr.o]

 

Proc_pid: 8782132   Proc_name: IBM.ConfigRMd

         d0609100   15f27  /usr/lib/libcfg.a[shr.o]

 

Proc_pid: 9765170   Proc_name: topasrec

         d0609100   15f27  /usr/lib/libcfg.a[shr.o]

 

root@AIXmig / #

 

As expected, the partition ID had changed.

 

root@AIXmig / # uname -L

31 AIXmig

 

The update was completed successfully.

 

root@AIXmig / # errpt

IDENTIFIER TIMESTAMP  T C RESOURCE_NAME  DESCRIPTION

12295E0B   1020105116 I S LVUPDATE       Live AIX update completed successfully

CB4A951F   1020104816 I S SRC            SOFTWARE PROGRAM ERROR

CB4A951F   1020104816 I S SRC            SOFTWARE PROGRAM ERROR

CB4A951F   1020104816 I S SRC            SOFTWARE PROGRAM ERROR

CB4A951F   1020104816 I S SRC            SOFTWARE PROGRAM ERROR

9DBCFDEE   1020104816 T O errdemon       ERROR LOGGING TURNED ON

9A74C7AB   1020103816 I S LVUPDATE       Live AIX update started

root@AIXmig / #

 

If I needed to back out, to the previous level, I could change the boot list to point to the alternate rootvg (hdisk6), and restart the system.

 

root@AIXmig / # lspv

hdisk0          00f94f58cecabed6                    rootvg          active

hdisk1          00f94f58697b768f                    datavg          active

hdisk2          00f94f58697b7655                    lvup_rootvg

hdisk3          00f94f58ce74a739                    None

hdisk4          00f94f58a3b2f963                    None

hdisk5          00f94f58a3b2f9d4                    None

hdisk6          00f94f58def77f2c                    altinst_rootvg

 

root@AIXmig / # bootlist -m normal -o

hdisk0 blv=hd5 pathid=0

hdisk0 blv=hd5 pathid=1

 

root@AIXmig / # bootlist -m normal hdisk6

hdisk6 blv=hd5 pathid=0

hdisk6 blv=hd5 pathid=1

 

root@AIXmig / # bootlist -m normal -o

hdisk6 blv=hd5 pathid=0

hdisk6 blv=hd5 pathid=1

 

root@AIXmig / # at now

shutdown –Fr

Job root.1477276394.a will be run at Mon Oct 24 13:33:14 AEDT 2016.

 

This is very cool technology. Gone are the days of needing to plan reboots shortly after applying a new TL or SP to a critical AIX system. You simply "live update" your system, without disrupting your workloads or your users. This is a win for AIX administrators everywhere!

 

Please refer to the AIX 7.2 Knowledge Center for more information on Live Update.

http://www.ibm.com/support/knowledgecenter/ssw_aix_72/com.ibm.aix.install/live_update_install.htm

http://www.ibm.com/support/knowledgecenter/ssw_aix_72/com.ibm.aix.base/whatsnew.htm