AIX Migration with Minimal Downtime
Contents
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