GuestbookSign our guestbook ContactGet in touch with the authors ArchiveAll unixwerk articles since 2003
March 29, 2011

AIX Migration with Minimal Downtime

 

Contents

  1. Introduction
  2. Prerequisites
  3. NIM Objects
  4. Prepare the Client
  5. The Migration
  6. Cleaning up
  1. References

 

1. Introduction

Alternate Disk Migration is a NIM method to migrate an AIX installation to a higher AIX major release with minimal downtime. This is done by creating a clone of the rootvg to another disk and then migrating this copy to the new AIX major release. This has to be done from a NIM server. The downtime is reduced to the time it takes to restart an LPAR.

 

2. Prerequisites

To avoid problems during migration the OS level of the NIM server should be the same as the target OS level of the client to be migrated. In fact only the bos.alt_disk_install.*   filesets of server and SPOT resource have to be the same level. On the NIM server the level can be checked with:

nim# lslpp -Lqc '*bos.alt*' | cut -d: -f 2,3
bos.alt_disk_install.boot_images:6.1.4.0
bos.alt_disk_install.rte:6.1.4.3

and for the SPOT:

nim# nim -o lslpp -a filesets='bos.alt*' -a lslpp_flags=Lqc <spot> | cut -d: -f2,3
bos.alt_disk_install.boot_images:6.1.4.0
bos.alt_disk_install.rte:6.1.4.3

If you don't see the bos.alt_disk_install.*   filesets at all they have to be installed into the spot (see section NIM Objects -> Spot).

 

3. NIM Objects

A number of NIM objects have to be defined on the NIM server.

LPP Source

For an Alternate Disk Installation a stripped down LPP source is not sufficient. We need a complete LPP source for the target OS level. As source the contents of a the AIX 6.1 DVD has to be placed somewhere where it can be accessed.

nim# smitty bffcreate
                                                        [Entry Fields]
* INPUT device / directory for software          [<_2008-05-22/dvd1/installp/ppc]
* SOFTWARE package to copy                       [all]                      +
* DIRECTORY for storing software package         [/nim/lppsource/lpp_aix614_full]
  DIRECTORY for temporary storage during copying [/tmp]
  EXTEND file systems if space needed?            yes                       +
  Process multiple volumes?                       yes                       +

We have to install all the update filesets from the target TL into the LPP source:

nim# smitty bffcreate
                                                        [Entry Fields]
* INPUT device / directory for software          [/sw/os/aix/610/fixes/tl04-01]
* SOFTWARE package to copy                       [all]                      +
* DIRECTORY for storing software package         [/nim/lppsource/lpp_aix614_full]
  DIRECTORY for temporary storage during copying [/tmp]
  EXTEND file systems if space needed?            yes                       +
  Process multiple volumes?                       yes                       +

And finally the filesets for the target SP have to be installed into the LPP source:

nim# smitty bffcreate
                                                        [Entry Fields]
* INPUT device / directory for software          [<os/aix/610/fixes/tl04-04_delta]
* SOFTWARE package to copy                       [all]                      +
* DIRECTORY for storing software package         [/nim/lppsource/lpp_aix614_full]
  DIRECTORY for temporary storage during copying [/tmp]
  EXTEND file systems if space needed?            yes                       +
  Process multiple volumes?                       yes                       +

Now that the LPP source is complete we are ready to define the NIM object:

nim# nim -o define -t lpp_source \
              -a server=master \
              -a location=/nim/lppsource/lpp_aix614_full \
              -a comments='Full AIX 6100-04-04 source' \
            lpp_aix614_full

Since we just copied over all filesets from the update levels there are a lot of superseded filesets in the LPP source. These filesets just waste space in the filesystem. We can remove the superseded filesets along with the language bloat from the LPP source:

nim# smitty nim_lppmgr
 
      Eliminate Unnecessary Software Images in an lpp_source
 Type or select values in entry fields.
 Press Enter AFTER making all desired changes.
                                                      [Entry Fields]
   TARGET lpp_source                                   lpp_aix614_full
   PREVIEW only?                                       no                       +
   REMOVE DUPLICATE software                           yes                      +
   REMOVE SUPERSEDED updates                           yes                      +
   REMOVE LANGUAGE software                            yes                      +
       PRESERVE language                              [en_US]
   REMOVE NON-SIMAGES software                         no                       +
   SAVE removed files                                  no                       +
       DIRECTORY for storing saved files              []
   EXTEND filesystems if space needed?                 yes                      +

 

Spot

The next step is to define a SPOT resource to use with the just created LPP source.

nim# nim -o define -t spot \
               -a server=master \
               -a source=lpp_aix614_full \
               -a location=/nim/spot \
               -a comments='Spot created from AIX 6.1-TL4-SP4' \
            spot_aix614_full

This will install a new spot into /nim/spot/spot_614_full/usr. The creation of the spot takes a while. As mentioned before the SPOT must contain the bos.alt_disk_install   fileset in order to serve an Alternate Disk Migration. However, a standard SPOT (as we just defined) doesn't contain it - so we have to install it manually into the SPOT:

nim# smitty nim_inst_latest
Type or select values in entry fields.
Press Enter AFTER making all desired changes.
                                                      [Entry Fields]
* Installation Target                              spot_aix61_full
* LPP_SOURCE                                       lpp_aix61_full
* Software to Install                             [bos.alt_disk_install.rte]                                           
  Customization SCRIPT to run after installation  []              + 
    (not applicable to SPOTs)
  Force                                            no             +
  installp Flags
    PREVIEW only?                                 [no]            +
    COMMIT software updates?                      [yes]           +
    SAVE replaced files?                          [no]            +
    AUTOMATICALLY install requisite software?     [yes]           +
    EXTEND filesystems if space needed?           [yes]           +
    OVERWRITE same or newer versions?             [no]            +
    VERIFY install and check file sizes?          [no]            +
    ACCEPT new license agreements?                [no]            +
      (AIX V5 and higher machines and resources)
    Preview new LICENSE agreements?               [no]            +

  Group controls (only valid for group targets):
    Number of concurrent operations               []               #
    Time limit (hours)                            []               #

  Schedule a Job                                  [no]            +
  YEAR                                            []               #
  MONTH                                           []              +#
  DAY (1-31)                                      []              +#
  HOUR (0-23)                                     []              +#
  MINUTES (0-59)                                  []              +#

 

Client

The client definition might already be there on the NIM server - if not we have to define the NIM client now:

nim# nim -o define -t standalone \
               -a platform=chrp \
               -a netboot_kernel=64 \
               -a if1=" <client> 0 ent" \
               -a cable_type1=tp \
            <client>

An object for the correct network should be already defined on the NIM server. Script resources (such as fb_script or script) are not required since all customization remains intact (one of the advantages of this method to upgrade a server).

 

4. Prepare the Client

We need a free LUN on the client to clone the OS to. Once the new LUN has been assigned to the LPAR we run 'cfgmgr' to make it usable for the OS. Remember the new hdisk number. We need it in the next section. The NIM server communicates with the client via rsh. So we have to temporarily enable rsh on the client:

client# startsrc -t shell
0513-124 The shell subserver has been started.

A file ~root/.rhosts has to be created on the client to grant the NIM server access to the client without asking for a password:

client# vi ~root/.rhosts
<nimserver>		root

From the NIM server we can check that the rsh access is working:

nim# rsh <client> date
Mon Mar 28 12:54:55 MES 2011

 

5. The Migration

Everything is in place now and we can start the actual migration with just one command on the NIM server:

nim# nimadm -c <client> -l lpp_aix61_full -s spot_aix61_full -d hdisk<N> -Y

hdisk<N> is the newly assigned LUN from the previous section. After the migration has been completed all we have to do in order to enable the migrated installation is to reboot the server. The bootlist already has been adjusted by the NIM migration procedure to point to the new installation. It might be wise to disable rsh before reboot.

client# stopsrc -t shell 
0513-127 The shell subserver was stopped successfully.
client# shutdown -Fr

 

6. Cleaning up

After the system is back again we check the OS level of the new system:

client# oslevel -s
6100-04-04-1014

Of course we want to disable rsh again:

client# stopsrc -t shell 
0513-127 The shell subserver was stopped successfully.

Note: The experience shows that the migration installation preservers your customization settings pretty well. However, it might be wise to have a look at the backup of the replaced configuration files under /tmp/bos.

 

A. References

  • AIX 6.1 Information Center > Performing an alternate disk migration installation