Last year I wrote an article on using nimadm to migrate to AIX 6.1.

The procedures outlined how to migrate a live system with nimadm and a spare disk.

Another method that I have found to be extremely useful is the migration of mksysb images from one version of AIX to another using (you guessed it) nimadm.

In the following example I migrated an AIX 6.1 mksysb image to AIX 7.1 and then used that image to install a new LPAR via NIM.

The source LPAR was running AIX 6.1 TL6 SP3. I took a mksysb of this system to my NIM master.

# oslevel -s

6100-06-03-1048

#

The NIM mksysb resource was named cg-aix61

root@nim1 / # lsnim -t mksysb

vio1-mksysb resources mksysb

cg-aix61 resources mksysb

root@nim1 / # lsnim -l cg-aix61

cg-aix61:

class = resources

type = mksysb

arch = power

Rstate = ready for use

prev_state = unavailable for use

location = /export/mksysb/cg-aix61

version = 6

release = 1

mod = 6

oslevel_r = 6100-06

alloc_count = 0

server = master

creation_date = Thu Jan 6 10:00:22 2011

source_image = cg

root@nim1 / #

To migrate the mksysb image from AIX 6.1 to AIX 7.1, I ran the following nimadm command:

root@nim1 / # nimadm -T cg-aix61 -O /export/mksysb/cg-aix71 -s spotaix7tl0sp2 -l aix7tl0sp2 -j nimadmvg -Y -N cg-aix71

The flags indicate the following:

-T specifies the existing AIX 6.1 NIM mksysb resource.

-O specifies the output location for the migrated mksysb resource.

-s indicates the AIX 7.1 NIM SPOT resource for the migration.

-l indicates the AIX 7.1 NIM lpp_source resource for the migration.

-j identifies the volume group that will be used on the NIM master to create file systems.

-Y Agrees to required software license agreements for software to be installed.

-N specifies the name of the new AIX 7.1 NIM mksysb resource to be created after migration.

Before running this command I made sure that I had installed the bos.alt_disk_install.rte fileset into my AIX 7.1 SPOT. If this fileset was not installed I would have received the following message immediately after issuing the nimadm command:

0042-001 nim: processing error encountered on "master":

/usr/bin/lslpp: Fileset bos.alt_disk_install.rte not installed.

0505-204 nimadm: SPOT spotaix7tl0sp2 does not have bos.alt_disk_install.rte installed.

0505-205 nimadm: The level of bos.alt_disk_install.rte installed in SPOT

spotaix7tl0sp2 (0.0.0.0) does not match the NIM master's level (7.1.0.2).

Cleaning up alt_disk_migration on the NIM master.

I also had an AIX 7.1 lpp_source and SPOT ready and waiting on my NIM master.

root@nim1 / # lsnim -t lpp_source

aix61tl6sp3 resources lpp_source

openssh resources lpp_source

aix7tl0sp2 resources lpp_source

root@nim1 / # lsnim -t spot

vio1-spot resources spot

spotaix61tl6sp3 resources spot

spotaix7tl0sp2 resources spot

OK, back to my nimadm operation. Upon initiating the migration I saw the following output on my screen (click here for a copy of the complete log file):

root@nim1 / # nimadm -T cg-aix61 -O /export/mksysb/cg-aix71 -s spotaix7tl0sp2 -l aix7tl0sp2 -j nimadmvg -Y -N cg-aix71

Initializing the NIM master.

Verifying alt_disk_migration eligibility.

Initializing log: /var/adm/ras/alt_mig/cg-aix61_alt_mig.log

Starting Alternate Disk Migration.

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

Executing nimadm phase 1.

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

Processing target mksysb resource cg-aix61.

Restoring /image.data from mksysb image.

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

Executing nimadm phase 2.

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

Creating nimadm cache file systems on volume group nimadmvg.

Checking for initial required migration space.

Creating cache file system /cg-aix61_mm_alt/alt_inst

Creating cache file system /cg-aix61_mm_alt/alt_inst/admin

Creating cache file system /cg-aix61_mm_alt/alt_inst/home

Creating cache file system /cg-aix61_mm_alt/alt_inst/opt

Creating cache file system /cg-aix61_mm_alt/alt_inst/tmp

Creating cache file system /cg-aix61_mm_alt/alt_inst/usr

Creating cache file system /cg-aix61_mm_alt/alt_inst/var

Creating cache file system /cg-aix61_mm_alt/alt_inst/var/adm/ras/livedump

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

Executing nimadm phase 3.

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

Syncing mksysb data to cache ...

.....etc......

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

Executing nimadm phase 8.

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

Creating client boot image.

bosboot: Boot image is 45709 512 byte blocks.

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

Executing nimadm phase 9.

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

Adjusting client file system sizes ...

Adjusting size for /

Adjusting size for /admin

Adjusting size for /home

Adjusting size for /opt

Adjusting size for /tmp

Adjusting size for /usr

Adjusting size for /var

Adjusting size for /var/adm/ras/livedump

Backing up cache data to mksysb file /export/mksysb/cg-aix71 ...

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

Executing nimadm phase 10.

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

Unmounting client mounts on the NIM master.

forced unmount of /cg-aix61_mm_alt/alt_inst/var/adm/ras/livedump

forced unmount of /cg-aix61_mm_alt/alt_inst/var

forced unmount of /cg-aix61_mm_alt/alt_inst/usr

forced unmount of /cg-aix61_mm_alt/alt_inst/tmp

forced unmount of /cg-aix61_mm_alt/alt_inst/opt

forced unmount of /cg-aix61_mm_alt/alt_inst/home

forced unmount of /cg-aix61_mm_alt/alt_inst/admin

forced unmount of /cg-aix61_mm_alt/alt_inst

Removing nimadm cache file systems.

Removing cache file system /cg-aix61_mm_alt/alt_inst

Removing cache file system /cg-aix61_mm_alt/alt_inst/admin

Removing cache file system /cg-aix61_mm_alt/alt_inst/home

Removing cache file system /cg-aix61_mm_alt/alt_inst/opt

Removing cache file system /cg-aix61_mm_alt/alt_inst/tmp

Removing cache file system /cg-aix61_mm_alt/alt_inst/usr

Removing cache file system /cg-aix61_mm_alt/alt_inst/var

Removing cache file system /cg-aix61_mm_alt/alt_inst/var/adm/ras/livedump

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

Executing nimadm phase 11.

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

Defining NIM mksysb resource ...

New NIMmksysb resource name is cg-aix71

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

Executing nimadm phase 12.

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

Cleaning up alt_disk_migration on the NIM master.

root@nim1 / #

For a description of all the phases in a nimadm operation, I suggest you refer to my previous nimadm article or the AIX infocenter (links below).

Once the migration had completed, I found a new mksysb file in /export/mksysb (as expected). The file was named cg-aix71. And a new NIM mksysb resource was now available.

root@nim1 / # ls -ltr /export/mksysb/

total 30793928

drwxr-xr-x 2 root system 256 Dec 21 10:40 lost+found

-rw-r--r-- 1 root system 4893952000 Dec 21 14:42 vio1-mksysb

-rw-r--r-- 1 root system 2323097600 Jan 06 10:00 cg-aix61

-rw-r--r-- 1 root system 1967411200 Jan 06 11:00 cg-aix71

root@nim1 / # lsnim -t mksysb

vio1-mksysb resources mksysb

cg-aix61 resources mksysb

cg1-mksysb resources mksysb

cg-aix71 resources mksysb

root@nim1 / # lsnim -l cg-aix71

cg-aix71:

class = resources

type = mksysb

comments = Created by nimadm on Thu Jan 6 11:00:51 EETDT 2011

Rstate = ready for use

prev_state = unavailable for use

location = /export/mksysb/cg-aix71

version = 7

release = 1

mod = 0

oslevel_r = 7100-00

alloc_count = 0

server = master

creation_date = Thu Jan 6 11:00:54 2011

During the migration I noticed the following file systems were mounted on the NIM master.

root@nim1 / # df

Filesystem 512-blocks Free %Used Iused %Iused Mounted on

/dev/hd4 1572864 1149640 27% 10471 8% /

/dev/hd2 5242880 1597696 70% 42812 19% /usr

/dev/hd9var 1048576 250456 77% 8260 23% /var

/dev/hd3 8912896 8287752 8% 111 1% /tmp

/dev/hd1 524288 523520 1% 5 1% /home

/dev/hd11admin 524288 523488 1% 5 1% /admin

/proc - - - - - /proc

/dev/hd10opt 1048576 664176 37% 7262 9% /opt

/dev/livedump 524288 523552 1% 4 1% /var/adm/ras/livedump

/dev/tftpbootlv 524288 419656 20% 10 1% /tftpboot

/dev/exportlv 524288 523408 1% 13 1% /export

/dev/lppsrclv 25690112 4383632 83% 3114 1% /export/lppsource

/dev/spotlv 8912896 4848464 46% 43450 8% /export/spot

/dev/mksysblv 38273024 11315200 71% 9 1% /export/mksysb

/dev/lv00 425984 412432 4% 25 1% /cg-aix61_mm_alt/alt_inst

/dev/lv01 65536 63376 4% 18 1% /cg-aix61_mm_alt/alt_inst/admin

/dev/lv02 65536 63384 4% 17 1% /cg-aix61_mm_alt/alt_inst/home

/dev/lv03 557056 414720 26% 201 1% /cg-aix61_mm_alt/alt_inst/opt

/dev/lv04 294912 285184 4% 21 1% /cg-aix61_mm_alt/alt_inst/tmp

/dev/lv05 4653056 4506904 4% 17 1% /cg-aix61_mm_alt/alt_inst/usr

/dev/lv06 720896 698160 4% 20 1% /cg-aix61_mm_alt/alt_inst/var

/dev/lv07 65536 63384 4% 17 1% /cg-aix61_mm_alt/alt_inst/var/adm/ras/livedump

And in my nimadmvg volume group, there were several new logical volumes.

root@nim1 / # lsvg -l nimadmvg

nimadmvg:

LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT

loglv02 jfslog 1 1 1 open/syncd N/A

lv00 jfs 13 13 1 open/syncd /cg-aix61_mm_alt/alt_inst

lv01 jfs 2 2 1 open/syncd /cg-aix61_mm_alt/alt_inst/admin

lv02 jfs 2 2 1 open/syncd /cg-aix61_mm_alt/alt_inst/home

lv03 jfs 17 17 1 open/syncd /cg-aix61_mm_alt/alt_inst/opt

lv04 jfs 9 9 1 open/syncd /cg-aix61_mm_alt/alt_inst/tmp

lv05 jfs 142 142 1 open/syncd /cg-aix61_mm_alt/alt_inst/usr

lv06 jfs 22 22 1 open/syncd /cg-aix61_mm_alt/alt_inst/var

lv07 jfs 2 2 1 open/syncd /cg-aix61_mm_alt/alt_inst/var/adm/ras/livedump

root@nim1 / #

These file systems were used to extract the mksysb locally on the NIM master and then migrate the image to AIX 7.1. I noticed the restbyname process consuming some CPU during the restore process.

Topas Monitor for host:nim1 EVENTS/QUEUES FILE/TTY

Thu Jan 6 10:15:38 2011 Interval:2 Cswitch 1155 Readch 2655.6K

Syscall 3143 Writech 2664.7K

CPU User% Kern% Wait% Idle% Physc Entc% Reads 454 Rawin 0

Total 6.1 22.0 8.2 63.7 0.09 47.04 Writes 1168 Ttyout 578

Forks 12 Igets 85

Network BPS I-Pkts O-Pkts B-In B-Out Execs 0 Namei 521

Total 7.74K 5.50 1.50 5.74K 2.00K Runqueue 0 Dirblk 97

Waitqueue 1.0

Disk Busy% BPS TPS B-Read B-Writ MEMORY

Total 0.0 5.21M 383.0 2.02M 3.19M PAGING Real,MB 2048

Faults 776 % Comp 67

FileSystem BPS TPS B-Read B-Writ Steals 1118 % Noncomp 32

Total 2.03M 85.50 2.03M 0 PgspIn 0 % Client 19

PgspOut 0

Name PID CPU% PgSp Owner PageIn 517 PAGING SPACE

restbyna 15532232 16.4 1.21M root PageOut 816 Size,MB 512

vmmd 458766 5.5 1.19M root Sios 969 % Used 3

lrud 262152 1.5 512K root % Free 97

syncd 2097296 1.1 592K root NFS (calls/sec)

topas 16973864 0.5 1.98M root SerV2 0 WPAR Activ 0

xmgc 851994 0.5 448K root CliV2 0 WPAR Total 0

nimesis 12320772 0.3 2.41M root SerV3 0 Press: "h"-help

getty 7798832 0.1 580K root CliV3 0 "q"-quit

xmtopas 8847610 0.1 816K root

nfsd 5111964 0.1 4.75M root

xmtopasa 6947052 0.1 916K root

gil 1441836 0.0 960K root

java 4784136 0.0 57.5M pconsole

java 8716308 0.0 70.7M root

rpc.lock 6029528 0.0 1.19M root

clcomd 6160578 0.0 1.69M root

pilegc 786456 0.0 640K root

aixmibd 3997882 0.0 1.24M root

netm 1376298 0.0 448K root

topasrec 8454202 0.0 1.01M root

root@nim1 / # ps -ef | grep rest

root 15270132 3342336 1 10:15:55 pts/1 0:00 grep rest

root 15532232 10747910 37 10:14:02 pts/0 0:02 restbyname -x -q -f /export/mksysb/cg-aix61

root@nim1 / #

I didnt encounter any issues with my nimadm operation but if I had I could have reviewed the nimadm log file located in /var/adm/ras:

root@nim1 /var/adm/ras/alt_mig # ls -ltr

total 856

-rw-r--r-- 1 root system 435009 Jan 06 11:00 cg-aix61_alt_mig.log

If you ever encounter problems with nimadm, I highly recommend that you re-run the operation with the V and D flags. This will enable verbose output, as well as debugging information which can assist you greatly in determining the root cause of your issue.

I was able to use the new, migrated, AIX 7.1 mksysb image to install a new LPAR.

AIX Version 7

Copyright IBM Corporation, 1982, 2010.

login: root

root's Password:

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

* *

* *

* Welcome to AIX Version 7.1! *

* *

* *

* Please see the README file in /usr/lpp/bos for information pertinent to *

* this release of the AIX Operating System. *

* *

* *

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

Last login: Thu Jan 6 13:21:04 EETDT 2011 on /dev/vty0

# oslevel -s

7100-00-02-1041

#

Youve gotta love NIM! Take a look at the nimadm documentation for more information:

http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.cmds/doc/aixcmds4/nimadm.htm

By the way, if you are interested in migrating from AIX 4.3 to AIX 7.1, then youll need to consider the mksysb migration method. Ive not done this myself (i.e. 4.3 to 7.1 migration) but the feedback I received from the AIX development team indicates that it does work as expected.

... you had expressed some interest in mksysb migration. Since we were not aware of anyone having attempted it with 7.1. I went ahead and created a 4.3.3.75 system and created a mksysb and then used that mksysb in conjunction with nim and successfully installed another system using the 4.3 mksysb and 7.1 nim resources to perform a mksysb migration to 7.1. I just followed the steps as noted in the Installation guide for mksysb migration.

Refer to the following document for further information on mksysb migration with NIM.


http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.install/doc/insgdrf/mksysbmigration.htm

NIM from A to Z in AIX 5L Redbook.

http://www.redbooks.ibm.com/redpieces/abstracts/sg247296.html?Open