Installing AIX updates with nimadm

Author: Chris Gibson

Date: 05/08/2025

 

The NIM alternate disk migration tool is well known for its ability to migrate a system to a later version of AIX, for example from AIX 7.2 to 7.3. Starting with AIX 7.3 Technology Level 3, the tool has been enhanced so that it can also update a system to a newer Technology Level (TL) or Service Pack (SP); for example, from AIX 7.3 TL3 SP0 to AIX 7.3 TL3 SP1. The new -U flag instructs it to perform an AIX TL or SP update by using the given NIM LPP source and SPOT resources. Refer to the command reference for more information: https://www.ibm.com/docs/en/aix/7.3.0?topic=n-nimadm-command. If you're not familiar with the NIM alternate disk tool, please take the time to read the "Using NIM Alternate Disk Migration (NIMADM)" article: https://www.ibm.com/support/pages/using-nim-alternate-disk-migration-nimadm.

 

Benefit

 

The main reason administrators employ NIM alternate disk migration, or nimadm, is that your downtime is reduced because you can migrate the system while it is still running and functioning. All that’s required is a reboot after the migration. Well, now the same applies when using this tool to install AIX updates. However, if you are already using AIX Live Update to install TLs and SPs, then you already know that it’s possible to avoid an outage, and a reboot, entirely, but there may be cases where an administrator doesn’t have the option of using AIX Live Update. In which case this enhancement may be of great value to them.

 

Using the new feature

 

Let's take a quick look at how to use this new feature. In the example environment we have an AIX NIM server, named nim1, running AIX 7.3 TL3 SP1 (7300-03-01-2520), and an AIX NIM client, named aix1, running AIX 7.3 TL3 SP0 (7300-03-00-2446). Remember that your NIM server should always be at the highest, latest AIX version and level.

 

Note: Before updating your NIM server to TL3 SP1, please read the following blog post, http://gibsonnet.net/blog/cgaix/html/7300-03-01-2520_rcmd_issue.html.

 

AIX version and level information from the NIM server:

 

root@nim1 / # oslevel -s

7300-03-01-2520

 

AIX version and level information from the NIM client:

 

root@aix1 / # oslevel -s

7300-03-00-2446

 

The nimadm tool requires a spare disk on the NIM client to create the alternate root volume group (rootvg). Our NIM client has an unused disk named hdisk1.

 

root@aix1 / # lspv

hdisk0          00f9c18f733ff013              rootvg          active

hdisk1          00f9c18f12734635              None

 

We prefer to call nimadm with the -j option and use a cache volume group (VG). We've already configured a dedicated volume group (nimadmvg) on the NIM server for this purpose, and it’s large enough to hold a complete copy of the clients rootvg:

 

root@nim1 / # lspv

hdisk0          00f9c18fa8bd126b              rootvg          active

hdisk1          00f9c18f124e2a5d              nimadmvg        active

 

Performing an AIX TL or SP update using an LPP source and SPOT

 

We call the nimadm tool to update the NIM client, from 7300-03-00-2446 to 7300-03-01-2520, with the following command and options:

 

nimadm -j nimadmvg -c aix1 -s spotAIX73TL3SP1 -l AIX73TL3SP1 -d hdisk1 -Y -A -U

 

The options specified are:

 

·      -j: flag specifies the cache VG on the NIM server which will be used for the update operation, in this example it's nimadmvg.

·      -c: is the client’s name, aix1.

·      -s: is the SPOT name. This is the AIX 7.3 TL3 SP1 SPOT resource we've already created on our NIM server.

·      -l: is the lpp_source name. This is the AIX 7.3 TL3 SP1 LPP source we've already created on our NIM server.

·      -d: is the hdisk name for the alternate root volume group (altinst_rootvg) on the NIM client, hdisk1 in this example.

·      -Y: agrees to the software license agreements for software that will be installed during the update operation.

·      -A: Adds a timestamp (MM-DD-YYYY HH-MM-SS) at the start of each phase.

·      -U: Performs an AIX TL or SP update by using the given LPP source and SPOT. Note: This option is supported starting with AIX 7.3, Technology Level 3.

 

The command starts and nimadm executes all of its twelve phases (refer to the nimadm documentation for details on each phase):

 

root@nim1 / # nimadm -j nimadmvg -c aix1 -s spotAIX73TL3SP1 -l AIX73TL3SP1 -d hdisk1 -Y -A -U

Initializing the NIM master.

Initializing NIM client aix1.

Verifying alt_disk_migration eligibility.

Initializing log: /var/adm/ras/alt_mig/aix1_alt_mig.log

Starting Alternate Disk Migration.

 

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

08-04-2025 18:53:15 Executing nimadm phase 1.

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

Cloning altinst_rootvg on client, Phase 1.

Client alt_disk_install command: alt_disk_copy -j -M 7.3 -P1 -d "hdisk1"

Calling mkszfile to create new /image.data file.

Checking disk sizes.

LOGICAL_VOLUME= hd11admin

FS_LV= /dev/hd11admin

Creating cloned rootvg volume group and associated logical volumes.

Creating logical volume alt_hd5

Creating logical volume alt_hd6

Creating logical volume alt_hd8

Creating logical volume alt_hd4

Creating logical volume alt_hd2

Creating logical volume alt_hd9var

Creating logical volume alt_hd3

Creating logical volume alt_hd1

Creating logical volume alt_hd10opt

Creating logical volume alt_hd11admin

Creating logical volume alt_lg_dumplv

Creating logical volume alt_livedump

Creating /alt_inst/ file system.

Creating /alt_inst/admin file system.

Creating /alt_inst/home file system.

Creating /alt_inst/opt file system.

Creating /alt_inst/tmp file system.

Creating /alt_inst/usr file system.

Creating /alt_inst/var file system.

Creating /alt_inst/var/adm/ras/livedump file system.

Generating a list of files

for backup and restore into the alternate file system...

Phase 1 complete.

 

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

08-04-2025 18:54:19 Executing nimadm phase 2.

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

Creating nimadm cache file systems on volume group nimadmvg.

Checking for initial required migration space.

Creating cache file system /aix1_alt/alt_inst

Creating cache file system /aix1_alt/alt_inst/admin

Creating cache file system /aix1_alt/alt_inst/home

Creating cache file system /aix1_alt/alt_inst/opt

Creating cache file system /aix1_alt/alt_inst/tmp

Creating cache file system /aix1_alt/alt_inst/usr

Creating cache file system /aix1_alt/alt_inst/var

Creating cache file system /aix1_alt/alt_inst/var/adm/ras/livedump

Phase 2 complete.

 

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

08-04-2025 18:56:38 Executing nimadm phase 3.

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

Syncing client data to cache ...

...etc...

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

08-04-2025 18:59:37 Executing nimadm phase 6.

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

...etc...

Installing and migrating software.

Filesets processed:  111 of 121  (Total time:  11 mins 23 secs).

 

installp:  APPLYING software for:

        bos.ecc_client.rte 7.3.3.1

 

 

. . . . . << Copyright notice for bos.ecc_client >> . . . . . . .

 Licensed Materials - Property of IBM

 

 5765CD300

   Copyright International Business Machines Corp. 2006, 2025.

 

 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 bos.ecc_client >>. . . .

 

Filesets processed:  112 of 121  (Total time:  11 mins 39 secs).

 

installp:  APPLYING software for:

        bos.cluster.rte 7.3.3.1

...etc...

install_all_updates: Checking for recommended maintenance level 7300-03.

install_all_updates: Executing /usr/bin/oslevel -rf, Result = 7300-03

install_all_updates: Verification completed.

install_all_updates: Log file is /var/adm/ras/install_all_updates.log

install_all_updates: Result = SUCCESS

Phase 6 complete.

 

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

08-04-2025 19:14:03 Executing nimadm phase 7.

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

nimadm: There is no user customization script specified for this phase.

Phase 7 complete.

...etc...

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

08-04-2025 19:27:22 Executing nimadm phase 12.

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

Cleaning up alt_disk_migration on the NIM master.

Cleaning up alt_disk_migration on client aix1.

Phase 12 complete.

 

When the nimadm update operation is finished, the client is left with a new altinst_rootvg disk (on hdisk1) that has been updated with the new SP. We can verify this, before rebooting, by waking up the alternate rootvg and running the oslevel command in a chroot environment. We then put the alternate rootvg to sleep again when we are done.

 

root@aix1 / # lspv

hdisk0          00f9c18f733ff013              rootvg          active

hdisk1          00f9c18f12734635              altinst_rootvg

 

root@aix1 / # oslevel -s

7300-03-00-2446

root@aix1 / # alt_rootvg_op -W -d hdisk1

Waking up altinst_rootvg volume group ...

root@aix1 / # chroot /alt_inst /alt_inst/bin/ksh oslevel -s

7300-03-01-2520

root@aix1 / # alt_rootvg_op -S -d hdisk1

Putting volume group altinst_rootvg to sleep ...

forced unmount of /alt_inst/var/adm/ras/livedump

forced unmount of /alt_inst/var/adm/ras/livedump

forced unmount of /alt_inst/var

forced unmount of /alt_inst/var

forced unmount of /alt_inst/usr

forced unmount of /alt_inst/usr

forced unmount of /alt_inst/tmp

forced unmount of /alt_inst/tmp

forced unmount of /alt_inst/opt

forced unmount of /alt_inst/opt

forced unmount of /alt_inst/home

forced unmount of /alt_inst/home

forced unmount of /alt_inst/admin

forced unmount of /alt_inst/admin

forced unmount of /alt_inst

forced unmount of /alt_inst

Fixing LV control blocks...

Fixing file system superblocks...

root@aix1 / #

 

We observe that nimadm has already set the clients bootlist to the new alternate disk.

 

root@aix1 / # bootlist -m normal -o

hdisk1 blv=hd5 pathid=0

 

Simply rebooting the system (with shutdown -Fr) restarts it on the alternate rootvg. We can confirm the system is running SP1 with the oslevel command. And if we need to return to the previous SP level we can simply reboot from the old_rootvg disk (hdisk0).

 

root@aix1 / # oslevel -s

7300-03-01-2520

root@aix1 / # lspv

hdisk0          00f9c18f733ff013              old_rootvg

hdisk1          00f9c18f12734635              rootvg          active

 

NIM resource creation

 

To use this new feature you must first create the required AIX 7.3 TL3 SP1 LPP source and SPOT resources on your NIM server. At this time, is it necessary to create these resources using base level installation media (typically downloaded from the IBM ESS site). If you create what is known as mixed-level LPP source resource (which is common practice, where you have a mixed lpp_source, one that contains multiple levels of filesets, 7.3.1.3 and 7.3.3.0), you’ll find that soon after you initiate the nimadm operation, it will display “Cleaning up alt_disk_migration on the NIM master” and then exit, with a return code of 2.

 

root@nim1 / # nimadm -j nimadmvg -c aix1 -s spotAIX73TL3SP1 -l AIX73TL3SP1 -d hdisk2 -Y -A -U

Initializing the NIM master.

Initializing NIM client aix1.

Cleaning up alt_disk_migration on the NIM master.

root@nim1 /tmp # echo $?

2

 

This mixed LPP source causes the nimadm -U logic to receive multiple LPP_LEVEL entries, leading to a failure during version parsing and comparison. This behaviour will likely change in the future, however, for now, ensure that your resources do not contain filesets with mixed levels. You can check your NIM LPP sources for evidence of this using the nim -o showres command. In the output, below, there are mixed level filesets, which are inappropriate for use with nimadm -U.

 

# nim -o showres AIX73TL3SP1 | grep bos.rte.install

  bos.rte.install        7.3.1.3                    SF N usr,root 

  bos.rte.install        7.3.3.0                    SF N usr,root

 

Below is output from a NIM LPP source that does not contain mixed level filesets and is fine to use with nimadm -U.

 

# nim -o showres AIX73TL3SP1 | grep bos.rte.install

  bos.rte.install      7.3.3.1                  SF N usr,root

 

Minimize downtime

 

For many years the nimadm utility has offered several advantages over conventional migrations, primarily, allowing an AIX system to be migrated to a new version of AIX with minimal downtime and low risk. Because nimadm operations are all performed on a copy of the clients rootvg, there’s no outage required, which means your applications can remain active while you migrate. All that is required is that you reboot the system, at a convenient time, to restart it on the new version of AIX. Now those same advantages can apply when performing updates and not just AIX migrations. This is a very nice enhancement indeed.

 

Of course if you want to avoid a reboot entirely and install AIX updates without an outage, then you really should be using AIX Live Update. We can only dream that one day we’ll be able to use AIX Live Update for migrations also.

 

If you’re not familiar with NIM, AIX migrations or AIX Live Update, please be sure to check out some of the available training from IBM, see the references section for links to relevant courses.

 

References

 

nimadm command

https://www.ibm.com/docs/en/aix/7.3.0?topic=n-nimadm-command

 

Using NIM Alternate Disk Migration (NIMADM)

https://www.ibm.com/support/pages/using-nim-alternate-disk-migration-nimadm

 

Migrating to AIX 7.2 with nimadm

https://community.ibm.com/community/user/blogs/chris-gibson1/2022/01/13/migrating-to-aix-72-with-nimadm

 

AIX 7.3 TL3 SP1 and "rcmd" errors

http://gibsonnet.net/blog/cgaix/html/7300-03-01-2520_rcmd_issue.html

 

Migrating to AIX 7.2 with Minimal Downtime (PDF)

https://ibm.ent.box.com/s/qo1avzwply1vv3mxpynnxnfvpp0qmqod

 

Migrating to AIX 7.2 with Minimal Downtime (Video)

https://www.youtube.com/watch?v=wNYXAX5kz_8

 

AIX Network Installation Management Concepts and Configuration

https://www.ibm.com/training/course/aix-network-installation-management-concepts-and-configuration-AN22G

 

Mastering AIX migrations

https://www.ibm.com/training/course/mastering-aix-migrations-AN39DG

 

Mastering AIX Live Update

https://www.ibm.com/training/course/mastering-aix-live-update-AN34G