Ive written about multibos before, here and here. But recently I started experimenting with multibos mksysb migration. A customer asked me how this worked and apart from a high-level view I wasnt able to provide any real world experience, so I thought Id give it a try. What follows is just a brain dump from my quick test.

First of all this isnt really a migration. It just simply populates a second instance of AIX with a higher-version. It doesnt really migrate (or merge) your existing configuration into the second instance. So Im not sure how useful this feature really is right now.

Starting with 5.3 TL9 you can add a 6.1 TL2 (or above) instance. This is done with the new M flag. You must be running with the 64bit kernel.


This isnt really a migration because it populates the second instance using a mksysb based on the new release.

In 6.1 TL2 a new flag (-M) was added to the mksysb command which allows you to create a mksysb for use with multibos. It creates a backup of BOS (/, /usr, /var, /opt).
bos.alt_disk_install.boot_images must be installed.

To preview the multibos migration
multibos M <location of mksysb> -spX

To perform the multibos migration
multibos M <location of mksysb> -sX

It is not advised to run in this environment for an extended period of time. There could be problems if tfactor or maps are used. Be aware that 6.1 specific attributes may not be reflected in the standby instance.

So in my lab environment I have two AIX LPARs. One is running AIX 6.1 and the other running AIX 7.1.

First I take a mksysb (with the M flag) of the AIX 7.1 system to a file. This file will be called by multibos to populate the second instance.

aix7[/] > mksysb -Mie /data/aix7-mksysb

Creating information file (/image.data) for rootvg.

Creating list of files to back up.

Backing up 71643 files.....

71643 of 71643 files (100%)

0512-038 mksysb: Backup Completed Successfully.

aix7[/] > ls -ltr /data

total 4276112

drwxr-xr-x 2 root system 256 Feb 21 20:59 lost+found

-rw-r--r-- 1 root system 2189363200 Feb 21 21:06 aix7-mksysb

I copied this file over to my AIX 6.1 system. This was the system that was to be migrated. The next step was to perform a preview of the multibos operation.

root@aix6 /# multibos -sXp -M /data/aix7-mksysb

Initializing multibos methods ...

Initializing log /etc/multibos/logs/op.alog ...

Gathering system information ...

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

Preview

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

Verifying operation parameters ...

Validating install images location ./aix7-mksysb

Processing preview information ...

ACTIVE LV: hd4

STANDBY LV: bos_hd4

TYPE: jfs2

ACTIVE FS: /

STANDBY FS: /bos_inst

ACTION: Setup

STATE: mounted

ACTIVE LV: hd2

STANDBY LV: bos_hd2

TYPE: jfs2

ACTIVE FS: /usr

STANDBY FS: /bos_inst/usr

ACTION: Setup

STATE: mounted

ACTIVE LV: hd9var

STANDBY LV: bos_hd9var

TYPE: jfs2

ACTIVE FS: /var

STANDBY FS: /bos_inst/var

ACTION: Setup

STATE: mounted

ACTIVE LV: hd10opt

STANDBY LV: bos_hd10opt

TYPE: jfs2

ACTIVE FS: /opt

STANDBY FS: /bos_inst/opt

ACTION: Setup

STATE: mounted

ACTIVE LV: hd5

STANDBY LV: bos_hd5

TYPE: boot

ACTIVE FS: None

STANDBY FS: None

ACTION: Setup

STATE: closed

ACTIVE LV: hd8

STANDBY LV: bos_hd8

TYPE: jfs2log

ACTIVE FS: None

STANDBY FS: None

ACTION: Setup

STATE: open

Log file is /etc/multibos/logs/op.alog

Return Status = SUCCESS

With a successful preview out of the way, I initiated the real multibos operation.

# multibos -sX -M /data/aix7-mksysb

Gathering system information ...

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

Setup Operation

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

Verifying operation parameters ...

Validating install images location ./aix7-mksysb

New volume on /data/aix7-mksysb:

Cluster size is 51200 bytes (100 blocks).

The volume number is 1.

The backup date is: Mon Feb 21 21:05:39 CST 2011

Files are backed up by name.

The user is root.

x 13007 ./image.data

x 168589 ./tmp/vgdata/rootvg/backup.data

The total size is 181596 bytes.

The number of restored files is 2.

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

Logical Volumes

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

Creating standby BOS logical volume bos_hd5

Creating standby BOS logical volume bos_hd4

Creating standby BOS logical volume bos_hd2

Creating standby BOS logical volume bos_hd9var

Creating standby BOS logical volume bos_hd10opt

Creating standby BOS logical volume bos_hd8

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

File Systems

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

Creating all standby BOS file systems ...

Creating standby BOS file system /bos_inst on logical volume bos_hd4

Creating standby BOS file system /bos_inst/usr on logical volume bos_hd2

Creating standby BOS file system /bos_inst/var on logical volume bos_hd9var

Creating standby BOS file system /bos_inst/opt on logical volume bos_hd10opt

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

Mount Processing

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

Mounting all standby BOS file systems ...

Mounting /bos_inst

Mounting /bos_inst/usr

Mounting /bos_inst/var

Mounting /bos_inst/opt

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

BOS Files

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

Including files for file system /

Including files for file system /usr

Including files for file system /var

Including files for file system /opt

Copying files using backup/restore utilities ...

New volume on /data/aix7-mksysb:

Cluster size is 51200 bytes (100 blocks).

The volume number is 1.

The backup date is: Mon Feb 21 21:05:39 CST 2011

Files are backed up by name.

The user is root.

x 6086 ./bosinst.data

x 11 ./tmp/vgdata/rootvg/image.info

x 13007 ./image.data

x 168589 ./tmp/vgdata/rootvg/backup.data

x 0 ./

x 47 ./.profile

x 63 ./.rhosts

x 13192 ./.sh_history

x 0 ./.ssh

x 1647 ./.ssh/authorized_keys

x 0 ./.topasrecrc

x 0 ./.topasrecrc/topasrec.lock

x 141722 ./.topasrecrc/topasrec.log1

x 0 ./.topasrecrc/topasrec.log2

x 108 ./.vi_history

x 0 ./admin

x 0 ./audit

x 8 ./bin

x 0 ./cdat

x 59 ./cdat/cdat.xml

x 0 ./cg

x 0 ./cgps

x 0 ./dev

x 0 ./dev/.SRC-unix

x 0 ./dev/IPL_rootvg

x 0 ./dev/__pv17.0.10617024

x 0 ./dev/__vg10

x 0 ./dev/audit

.....BLAH.....

x ./dev/zero

Creating standby BOS boot image on boot logical volume bos_hd5

254+0 records in.

254+0 records out.

179+1 records in.

177+1 records out.

saving to '/dev/bos_hd5'

44 CuDv objects to be saved

130 CuAt objects to be saved

21 CuDep objects to be saved

7 CuVPD objects to be saved

351 CuDvDr objects to be saved

2 CuPath objects to be saved

0 CuPathAt objects to be saved

0 CuData objects to be saved

Number of bytes of data to save = 18716

Compressing data

Compressed data size is = 6393

bi_start = 0x400

bi_size = 0x1677200

bd_size = 0x1657200

ram FS start = 0x8c3570

ram FS size = 0xd93abe

sba_start = 0x1657600

sba_size = 0x20000

sbd_size = 0x0

Checking boot image size:

new save base byte cnt = 0x18fd

Wrote 6397 bytes

Successful completion

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

Mount Processing

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

Unmounting all standby BOS file systems ...

Unmounting /bos_inst/opt

Unmounting /bos_inst/var

Unmounting /bos_inst/usr

Unmounting /bos_inst

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

Bootlist Processing

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

Verifying operation parameters ...

Setting bootlist to logical volume bos_hd5 on hdisk0.

ATTENTION: firmware recovery string for standby BLV (bos_hd5):

boot /vdevice/v-scsi@30000016/disk@8100000000000000:4

ATTENTION: firmware recovery string for standby BLV (bos_hd5):

boot /vdevice/v-scsi@30000017/disk@8100000000000000:4

ATTENTION: firmware recovery string for active BLV (hd5):

boot /vdevice/v-scsi@30000016/disk@8100000000000000:2

ATTENTION: firmware recovery string for active BLV (hd5):

boot /vdevice/v-scsi@30000017/disk@8100000000000000:2

Log file is /etc/multibos/logs/op.alog

Return Status = SUCCESS

Now that the second instance had been created, I thought Id try to start a multibos shell and access the AIX 7.1 environment. I didnt think this would work but I tried my luck anyway!

root@aix6 /# multibos -S

Initializing multibos methods ...

Initializing log /etc/multibos/logs/op.alog ...

Gathering system information ...

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

Multibos Shell Operation

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

Verifying operation parameters ...

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

Mount Processing

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

Mounting all standby BOS file systems ...

Mounting /bos_inst

Mounting /bos_inst/usr

Mounting /bos_inst/var

Mounting /bos_inst/opt

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

Multibos Root Shell

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

Starting multibos root shell ...

multibos: 0565-110 Cannot start multibos shell due to incompatible levels of active and standby BOS.

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

Mount Processing

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

Unmounting all standby BOS file systems ...

Unmounting /bos_inst/opt

Unmounting /bos_inst/var

Unmounting /bos_inst/usr

Unmounting /bos_inst

Log file is /etc/multibos/logs/op.alog

Return Status: FAILURE

Upon checking my bootlist output, I noticed (as expected) that the list now contained two extra entries for bos_hd5. These were the boot logical volume entries for the second instance. If I was to boot from this LV Id be booting into AIX 7.1. Cool.

root@aix6 /# bootlist -m normal -o

hdisk0 blv=bos_hd5

hdisk0 blv=bos_hd5

hdisk0 blv=hd5

hdisk0 blv=hd5

So at this point, Id created a second instance of AIX running 7.1. My current version of (running) AIX was AIX 6.1. All I had to do now was reboot the LPAR and let it restart as an AIX 7.1 system.

root@aix6 /# oslevel -s

6100-01-05-0920

root@aix6 / # shutdown Fr

The LPAR rebooted successfully and I found I was now running AIX 7.1, just as Id hoped.

aix6[/] > oslevel -s

7100-00-01-1037

If I wanted to go back to AIX 6.1, I would change my bootlist setting again and restart the LPAR.

aix6[/] > bootlist -m normal -o

hdisk0 blv=bos_hd5 pathid=0

hdisk0 blv=bos_hd5 pathid=1

hdisk0 blv=hd5 pathid=0

hdisk0 blv=hd5 pathid=1

aix6[/] > bootlist -m normal hdisk0 blv=hd5 pathid=0 hdisk0 blv=hd5 pathid=1 hdisk0 blv=bos_hd5 pathid=0 hdisk0 blv=bos_hd5 pathid=1

aix6[/] > bootlist -m normal -o

hdisk0 blv=hd5 pathid=0

hdisk0 blv=hd5 pathid=1

hdisk0 blv=bos_hd5 pathid=0

hdisk0 blv=bos_hd5 pathid=1

aix6[/] > shutdown Fr

root@aix6 /# oslevel -s

6100-01-05-0920

Now that Ive actually tried this method of migration, Im not sure Id actually use it in its current form.

Although the migration keeps my hostname and IP address, the file systems are not shared between instances. Most of the target systems configuration is not retained. For example, any user accounts I create on my AIX 6.1 system would also need to be created on the existing AIX.7.1 system which I used to create the AIX 7.1 mksysb image. It reminds me a little of a preservation install.

More information on multibos:

http://www.aixmind.com/?p=1192