Migration from SDDPCM to AIX PCM

Source:

Many AIX systems still use SDDPCM as a multipathing solution. However, SDDPCM is no longer supported on POWER 9 hardware from IBM.

The following is the migration from SDDPCM to AIX PCM. On our example system we have the following physical volumes:

$ lspv
hdisk0          00abcdefabcde000                    datavg          active     
hdisk1          00abcdefabcde001                    datavg          active     
hdisk2          none                                None                       
hdisk3          00abcdefabcde003                    altinst_rootvg             
hdisk4          00abcdefabcde004                    rootvg          active     
$

The Physical Volumes are disks that are made available through an SVC:

$ lsdev -l hdisk0 -F uniquetype
disk/fcp/2145
$

The Path Control Module (PCM) uses SDDPCM:

$ lsattr -El hdisk0 -a PCM -F value
PCM/friend/sddpcm
$

You can also see this when looking at the list of kernel extensions:

$ genkex | grep pcm
f1000000c012a000    af000 /usr/lib/drivers/sddpcmke
$

Which PCM driver is used for which disk types can be easily viewd with the command “manage_disk_drivers”:

$ manage_disk_drivers -l
Device              Present Driver        Driver Options    
2810XIV             AIX_AAPCM             AIX_AAPCM,AIX_non_MPIO
DS4100              AIX_SDDAPPCM          AIX_APPCM,AIX_SDDAPPCM
DS4200              AIX_SDDAPPCM          AIX_APPCM,AIX_SDDAPPCM
DS4300              AIX_SDDAPPCM          AIX_APPCM,AIX_SDDAPPCM
DS4500              AIX_SDDAPPCM          AIX_APPCM,AIX_SDDAPPCM
DS4700              AIX_SDDAPPCM          AIX_APPCM,AIX_SDDAPPCM
DS4800              AIX_SDDAPPCM          AIX_APPCM,AIX_SDDAPPCM
DS3950              AIX_SDDAPPCM          AIX_APPCM,AIX_SDDAPPCM
DS5020              AIX_SDDAPPCM          AIX_APPCM,AIX_SDDAPPCM
DCS3700             AIX_APPCM             AIX_APPCM
DCS3860             AIX_APPCM             AIX_APPCM
DS5100/DS5300       AIX_SDDAPPCM          AIX_APPCM,AIX_SDDAPPCM
DS3500              AIX_APPCM             AIX_APPCM
XIVCTRL             MPIO_XIVCTRL          MPIO_XIVCTRL,nonMPIO_XIVCTRL
2107DS8K            NO_OVERRIDE           AIX_AAPCM,AIX_non_MPIO,NO_OVERRIDE
IBMFlash            NO_OVERRIDE           AIX_AAPCM,AIX_non_MPIO,NO_OVERRIDE
IBMSVC              NO_OVERRIDE           AIX_AAPCM,AIX_non_MPIO,NO_OVERRIDE
$

In our case, SVC disks, the last line is relevant (IBMSVC). As current PCM driver NO_OVERRIDE is listed here, possible other drivers are AIX_AAPCM (AIX PCM for active / active and ALUASystems) and AIX_non_MPIO (drives without multi-pathing). The value NO_OVERRIDE means that if no multipathing driver is explicitly specified, a multipathing driver is used if possible (if available), otherwise no multipathing driver is used. If more than one multipathing driver is available (in our case AIX PCM and SDDPCM, then SDDPCM has priority).

In a subsequent blog entry, we will take a closer look at the possible values, as well as the point in AIX where the selection is made.

Before we change the driver for IBMSVC disks (a reboot is necessary), let’s take a look at the attributes of our disks, here an example for the hdisk0:

$ lsattr -El hdisk0
PCM             PCM/friend/sddpcm                                   PCM                                     True
...
algorithm       load_balance                                        Algorithm                               True+
...
queue_depth     120                                                 Queue DEPTH                             True+
...
reserve_policy  no_reserve                                          Reserve Policy                          True+
...
$

Changing the driver will cause the values of some set attributes to be lost or replaced by new default values of the new driver. This is especially true for the queue_depth (here: 120), the reserve_policy (here: no_reserve) and the load-balancing policy (algorithm). The current values should be noted, then after the conversion to the AIX PCM driver then adjust accordingly.

Switching to AIX PCM can be done with the command “manage_disk_drivers”. For this, the command is given the disk type (here IBMSVC) with the option “-d” and the desired driver (here AIX_AAPCM for the AIX PCM driver) with the option “-o”:

# manage_disk_drivers -d IBMSVC -o AIX_AAPCM
********************** ATTENTION *************************
  For the change to take effect the system must be rebooted
#

The changed configuration can be listed directly with “manage_disk_drivers -l”:

$ manage_disk_drivers -l
Device              Present Driver        Driver Options    
...
IBMSVC              AIX_AAPCM             AIX_AAPCM,AIX_non_MPIO,NO_OVERRIDE
$

To make the change, the system must now be rebooted:

# shutdown -r now

SHUTDOWN PROGRAM
Thu Feb  7 09:43:38 CET 2019
...

We execute the 3 commands from the beginning again (lspv, lsdevund lsattr):

$ lspv
hdisk0          00abcdefabcde000                    datavg          active     
hdisk1          00abcdefabcde001                    datavg          active     
hdisk2          none                                None                       
hdisk3          00abcdefabcde003                    altinst_rootvg             
hdisk4          00abcdefabcde004                    rootvg          active     
$

The physical volumes are unchanged.

$ lsdev -l hdisk0 -F uniquetype
disk/fcp/mpioosdisk
$

The type of disks has changed from disk / fcp / 2145 to disk / fcp / mpioosdisk. This already indicates that the multipathing driver has changed.

$ lsattr -El hdisk0 -a PCM -F value
PCM/friend/fcpother
$

The Path Control Module (PCM) has also changed. The guy is no longer sddpcm but fcpother. That does not look directly after AIX PCM. However, a look at the corresponding driver shows immediately that AIX PCM is in use here:

$ lsdev -P -c PCM -s friend -t fcpother -F DvDr
aixdiskpcmke
$

The associated kernel extension aixdiskpcmke is also currently loaded and in use:

$ genkex | grep pcm
         73e2000    57000 /usr/lib/drivers/aixdiskpcmke
$

Let’s take a look at the attributes of hdisk0 again. We expect changed values for some attributes here:

$ lsattr -El hdisk0
PCM             PCM/friend/fcpother                                 Path Control Module              False
...
algorithm       fail_over                                           Algorithm                        True+
...
queue_depth     20                                                  Queue DEPTH                      True+
...
reserve_policy  single_path                                         Reserve Policy                   True+
...
$

The value 120 for the queue_depth has been lost and has been replaced by the default value 20. The reserve_policy has changed to single_path and the load-balancing algorithm is now fail_over, i. only one path is used at a time.

We change the settings to a configuration that corresponds to the initial situation:

# chdev -P -l hdisk0 -a queue_depth=128 -a max_transfer=0x100000 -a algorithm=shortest_queue -a reserve_policy=no_reserve
hdisk0 changed
#

Since the Physical Volume is in use, the setting can only be changed in the ODM and a further reboot is necessary.

After all disks have been reconfigured via the ODM, the system must be rebooted a second time:

# shutdown -r now

SHUTDOWN PROGRAM
Thu Feb  6 20:07:12 CET 2019
...

After the reboot SDDPCM can be uninstalled:

# installp -u devices.fcp.disk.ibm.mpio.rte devices.sddpcm.72.rte
+-----------------------------------------------------------------------------+
                    Pre-deinstall Verification...
+-----------------------------------------------------------------------------+
Verifying selections...done
Verifying requisites...done
Results...

SUCCESSES
...
0503-292 This update will not fully take effect until after a
        system reboot.

    * * *  A T T E N T I O N  * * *
    System boot image has been updated. You should reboot the
    system as soon as possible to properly integrate the changes
    and to avoid disruption of current functionality.

installp:  bosboot process completed.
+-----------------------------------------------------------------------------+
                                Summaries:
+-----------------------------------------------------------------------------+

Installation Summary
--------------------
Name                        Level           Part        Event       Result
-------------------------------------------------------------------------------
devices.sddpcm.72.rte       2.7.1.1         ROOT        DEINSTALL   SUCCESS   
devices.sddpcm.72.rte       2.7.1.1         USR         DEINSTALL   SUCCESS   
devices.fcp.disk.ibm.mpio.r 1.0.0.25        USR         DEINSTALL   SUCCESS   
#

The SDDPCM fileset, as well as the associated host-attachment fileset, were successfully uninstalled.

Since the SDDPCM driver was not loaded, and thus no changes have been made to the kernel, actually another reboot should not be necessary. However, since it is explicitly pointed out a quick reboot, and it is also a good idea to do a reboot test with the final configuration, we reboot the system a third and final time:

# shutdown -r now

SHUTDOWN PROGRAM
Thu Feb  6 20:17:21 CET 2019
...

After the reboot, we check the disk attributes again:

$ lsattr -El hdisk0
PCM             PCM/friend/fcpother                                 Path Control Module              False
...
algorithm       shortest_queue                                      Algorithm                        True+
...
queue_depth     120                                                 Queue DEPTH                      True+
...
reserve_policy  no_reserve                                          Reserve Policy                   True+
...
$

The system now uses the AIX PCM driver for multipathing:

$ manage_disk_drivers -l
Device              Present Driver        Driver Options    
...
IBMSVC              AIX_AAPCM             AIX_AAPCM,AIX_non_MPIO,NO_OVERRIDE
$

Migrating from SDDPCM to AIX PCM is pretty easy to do.

Migration to AIX PCM combined with OS update using Alternate Disk Copy

Source:

root@pdw02vir:/#lsdev -l hdisk0 -F uniquetype

disk/fcp/2145

root@pdw02vir:/#lsattr -El hdisk0 -a PCM -F value

PCM/friend/sddpcm

root@pdw02vir:/#lsattr -El hdisk0 -a queue_depth -F value

20

root@pdw02vir:/# manage_disk_drivers -d IBMSVC -o AIX_AAPCM

********************** ATTENTION *************************

For the change to take effect the system must be rebooted

root@pdw02vir:/#alt_disk_copy -d hdisk0 -B

Calling mkszfile to create new /image.data file.

Checking disk sizes.

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_loglv.

Creating logical volume alt_livedump.

Creating logical volume alt_sysdumplv2.

Creating logical volume alt_ocsinv.

Creating logical volume alt_nagios.

Creating logical volume alt_netbackup.

Creating logical volume alt_paging01.

Creating /alt_inst/ file system.

Creating /alt_inst/admin file system.

Creating /alt_inst/home file system.

Creating /alt_inst/logs file system.

Creating /alt_inst/opt file system.

Creating /alt_inst/opt/nagios file system.

Creating /alt_inst/opt/netbackup file system.

Creating /alt_inst/opt/ocsinventory 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…

Backing-up the rootvg files and restoring them to the alternate file system…

Modifying ODM on cloned disk.

Building boot image on cloned disk.

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/ocsinventory

forced unmount of /alt_inst/opt/ocsinventory

forced unmount of /alt_inst/opt/netbackup

forced unmount of /alt_inst/opt/netbackup

forced unmount of /alt_inst/opt/nagios

forced unmount of /alt_inst/opt/nagios

forced unmount of /alt_inst/opt

forced unmount of /alt_inst/opt

forced unmount of /alt_inst/logs

forced unmount of /alt_inst/logs

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

Changing logical volume names in volume group descriptor area.

Fixing LV control blocks…

Fixing file system superblocks…

root@pdw02vir:/#alt_rootvg_op -W -d hdisk0

Waking up altinst_rootvg volume group …

root@pdw02vir:/#mdownload

root@pdw02vir:/#alt_rootvg_op -C -b update_all -l /download/AIX/PTF/Aix-71-05-03/


installp: * * * A T T E N T I O N ! ! !
Software changes processed during this session require
any diskless/dataless clients to which this SPOT is
currently allocated to be rebooted.
install_all_updates: The following filesets have been selected as updates
to currently installed software:

bos.cluster.solid 7.1.1.15

<< End of Fileset List >>

install_all_updates: Performing installp update.
+—————————————————————————–+
Pre-installation Verification…
+—————————————————————————–+
Verifying selections…done
Verifying requisites…done
Results…

WARNINGS
——–
Problems described in this section are not likely to be the source of any
immediate or serious failures, but further actions may be necessary or
desired.

Already Installed
—————–
The number of selected filesets that are either already installed
or effectively installed through superseding filesets is 1. See
the summaries at the end of this installation for details.

NOTE: Base level filesets may be reinstalled using the “Force”
option (-F flag), or they may be removed, using the deinstall or
“Remove Software Products” facility (-u flag), and then reinstalled.

<< End of Warning Section >>

+—————————————————————————–+
BUILDDATE Verification …
+—————————————————————————–+
Verifying build dates…done
FILESET STATISTICS
——————
1 Selected to be installed, of which:
1 Already installed (directly or via superseding filesets)
—-
0 Total to be installed


Pre-installation Failure/Warning Summary
—————————————-
Name Level Pre-installation Failure/Warning
——————————————————————————-
bos.cluster.solid 7.1.1.15 Already superseded by bos.cluster.rte

install_all_updates: Log file is /var/adm/ras/install_all_updates.log
install_all_updates: Result = SUCCESS
root@pdw02vir:/#

root@pdw02vir:/#vi /alt_inst/etc/firstboot

#! /bin/ksh
print “INFO: adjust hdisk attributes”

lsdev -c adapter | grep fcs | awk ‘{print $1}’ | xargs -I [] chdev -l [] -a num_cmd_elems=2048 -a max_xfer_size=0x200000
lsmpio -q | grep 2145| awk ‘{print $1}’ | xargs -I [] chdev -l [] -a queue_depth=128 -a max_transfer=0x100000 -a algorithm=shortest_queue -a reserve_policy=no_reserve
print “INFO: uninstalling SDDPCM”
installp -u devices.sddpcm.$(uname -v)$(uname -r).rte devices.fcp.disk.ibm.mpio.rte
print “INFO: perform reboot”
reboot

root@pdw02vir:/#chmod a+x /alt_inst/etc/firstboot

root@pdw02vir:/#alt_rootvg_op -S -t

Putting volume group altinst_rootvg to sleep …

Building boot image on cloned disk.

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/ocsinventory

forced unmount of /alt_inst/opt/ocsinventory

forced unmount of /alt_inst/opt/netbackup

forced unmount of /alt_inst/opt/netbackup

forced unmount of /alt_inst/opt/nagios

forced unmount of /alt_inst/opt/nagios

forced unmount of /alt_inst/opt

forced unmount of /alt_inst/opt

forced unmount of /alt_inst/logs

forced unmount of /alt_inst/logs

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@pdw02vir:/#shutdown -Fr

Fonte: http://powercampus.de/en/migration-to-aix-pcm-combined-with-os-update-using-alternate-disk-copy/

On most AIX systems the SP or TL level is updated at regular intervals. It makes sense to perform the migration from SDDPCM to AIX PCM together with such an update. This saves time and some reboots, which otherwise have to be done because of the multipathing migration.

In our blog post “Migration from SDDPCM to AIX-PCM” we had already shown the migration for standalone systems.

Here, the migration from SDDPCM to AIX-PCM will be shown as part of an OS update, using the Alternate Disk Copy method. The procedure is roughly the following:

  1. Unmirroring the rootvg to get a free disk for Alternate Disk Copy.
  2. Change the Path Control Module (PCM) to AIX PCM.
  3. Creating the altinst_rootvg.
  4. Removal of fixes in the altinst_rootvg.
  5. Performing the OS update on the altinst_rootvg.
  6. Installing fixes in the altinst_rootvg.
  7. Adding a firstboot script to set disk attributes.
  8. Change the Path Control Module (PCM) back to SDDPCM.
  9. Booting from the altinst_rootvg.

On our example system AIX 7.1 TL5 SP2 is installed, the disks are SVC disks connected via virtual FC adapters. SDDPCM is the currently active multipathing driver:

# oslevel -s
7100-05-02-1810
# lsdev -l hdisk0 -F uniquetype
disk/fcp/2145
aix01:/root> lsattr -El hdisk0 -a PCM -F value
PCM/friend/sddpcm
#

As stated in the blog post above, some disk attributes change when migrating to AIX PCM. Therefore, you should take a close look at the current attributes in order to take them over later (at least partially). By way of example, we only look at the attribute queue_depth, which currently has the value 120:

# lsattr -El hdisk0 -a queue_depth -F value
120
#

Our system has a mirrored rootvg:

# lsvg -p rootvg
rootvg:
PV_NAME           PV STATE          TOTAL PPs   FREE PPs    FREE DISTRIBUTION
hdisk3            active            399         232         00..01..71..80..80
hdisk0            active            399         240         00..01..79..80..80
#

The system was booted from the hdisk0:

# bootinfo -b
hdisk0
#

So we leave hdisk0 in the rootvg and remove  hdisk3 from the rootvg to get a free disk for Alternate Disk Copy.

# unmirrorvg rootvg hdisk3
0516-1246 rmlvcopy: If hd5 is the boot logical volume, please run 'chpv -c <diskname>'
        as root user to clear the boot record and avoid a potential boot
        off an old boot image that may reside on the disk from which this
        logical volume is moved/removed.
0516-1804 chvg: The quorum change takes effect immediately.
0516-1144 unmirrorvg: rootvg successfully unmirrored, user should perform
        bosboot of system to reinitialize boot records.  Then, user must modify
        bootlist to just include:  hdisk0.
# reducevg rootvg hdisk3
# chpv -c hdisk3
# bootlist -m normal hdisk0
#

Before we create a copy of the rootvg using Alternate Disk Copy, we temporarily change the system to AIX PCM without, however, rebooting. If then the altinst_rootvg is generated, the conversion to AIX PCM is already done in altinst_rootvg!

# manage_disk_drivers -d IBMSVC -o AIX_AAPCM
********************** ATTENTION *************************
  For the change to take effect the system must be rebooted
#

At the end of the OS update, we then undo this change on the rootvg to have the original state with SDDPCM.

After these preparations we start now the alt_disk_copy command:

# alt_disk_copy -d hdisk3 -B
Calling mkszfile to create new /image.data file.
Checking disk sizes.
Creating cloned rootvg volume group and associated logical volumes.
Creating logical volume alt_hd5.
Creating logical volume alt_hd6.
Creating logical volume alt_hd8.
…
#

Some fixes are installed on the system, which we remove from the altinst_rootvg before the update:

# emgr -l
ID  STATE LABEL      INSTALL TIME      UPDATED BY ABSTRACT
=== ===== ========== ================= ========== ======================================
1    S    102m_ifix  10/14/18 10:48:18            IFIX for Openssl CVE on 1.0.2m       
2    S    IJ03121s0a 10/14/18 10:49:04            IJ03121 for AIX 7.1 TL5 SP00         
3    S    IJ05822s2a 10/14/18 10:49:18            a potential security issue exists    
…
#

Activation of the altinst_rootvg:

# alt_rootvg_op -W -d hdisk3
Waking up altinst_rootvg volume group ...
#

And removal of the fixes:

# INUCLIENTS=1 /usr/sbin/chroot /alt_inst /usr/sbin/emgr –r -n 3
+-----------------------------------------------------------------------------+
Efix Manager Initialization
+-----------------------------------------------------------------------------+
Initializing log /var/adm/ras/emgr.log ...
Accessing efix metadata ...
Processing efix label "IJ05822s2a" ...
…
Operation Summary
+-----------------------------------------------------------------------------+
Log file is /var/adm/ras/emgr.log

EFIX NUMBER       LABEL               OPERATION              RESULT           
===========       ==============      =================      ==============   
1                 IJ05822s2a          REMOVE                 SUCCESS          

Return Status = SUCCESS
# INUCLIENTS=1 chroot /alt_inst /usr/sbin/emgr -r -n 2
…
# INUCLIENTS=1 chroot /alt_inst /usr/sbin/emgr -r -n 1
…

(Note: please do not forget the variable INUCLIENTS, this signals that the operation is taking place in an alternate boot environment!)

Now we mount the LPP source for the OS update via NFS from our NIM server:

# mount aixnim:/export/nim/lpps/aix710503lpp /mnt
#

The OS update can now be done in the altinst_rootvg:

# alt_rootvg_op -C -b update_all -l /mnt
Installing optional filesets or updates into altinst_rootvg...
install_all_updates: Initializing system parameters.
install_all_updates: Log file is /var/adm/ras/install_all_updates.log
install_all_updates: Checking for updated install utilities on media.
…
installp:  * * * A T T E N T I O N ! ! !
        Software changes processed during this session require
        any diskless/dataless clients to which this SPOT is
        currently allocated to be rebooted.
install_all_updates: Log file is /var/adm/ras/install_all_updates.log
install_all_updates: Result = SUCCESS
#

Finally, we install some fixes. We first mount the directory /mnt with the fixes in the altinst_rootvg:

# mount -v namefs /mnt /alt_inst/mnt
# INUCLIENTS=1 chroot /alt_inst /usr/sbin/emgr -e /mnt/emgr/ppc/102p_fix.181127.epkg.Z
+-----------------------------------------------------------------------------+
Efix Manager Initialization
+-----------------------------------------------------------------------------+
Initializing log /var/adm/ras/emgr.log ...
Efix package file is: /mnt/emgr/ppc/102p_fix.181127.epkg.Z
…
EPKG NUMBER       LABEL               OPERATION              RESULT           
===========       ==============      =================      ==============   
1                 102p_fix            INSTALL                SUCCESS          

Return Status = SUCCESS
# INUCLIENTS=1 chroot /alt_inst /usr/sbin/emgr -e /mnt/emgr/ppc/IJ09621s3a.181001.epkg.Z
…
# INUCLIENTS=1 chroot /alt_inst /usr/sbin/emgr -e /mnt/emgr/ppc/IJ11545s0a.181127.epkg.Z
…
# umount /alt_inst/mnt
#

To set the desired disk attributes and uninstall SDDPCM we use a firstboot script:

# cat /alt_inst/etc/firstboot

#! /bin/ksh

print “INFO: adjust hdisk attributes”

chdev -Pl hdisk0 -a queue_depth=128 -a max_transfer=0x100000 -a algorithm=shortest_queue -a reserve_policy=no_reserve

chdev -Pl hdisk1 -a queue_depth=128 -a max_transfer=0x100000 -a algorithm=shortest_queue -a reserve_policy=no_reserve

chdev -Pl hdisk2 -a queue_depth=128 -a max_transfer=0x100000 -a algorithm=shortest_queue -a reserve_policy=no_reserve

chdev -Pl fcs0 -a num_cmd_elems=2048 -a max_xfer_size=0x200000

chdev -Pl fcs1 -a num_cmd_elems=2048 -a max_xfer_size=0x200000

print “INFO: uninstalling SDDPCM”

installp -u devices.sddpcm.$(uname -v)$(uname -r).rte devices.fcp.disk.ibm.mpio.rte

print “INFO: perform reboot”

reboot

# chmod a+x /alt_inst/etc/firstboot
#

The script should, if used, be adapted to your own needs. There, you should customize all the desired disk attributes (queue_depth, reserve_policy, …). The sample script here is just to indicate what you could do!

The altinst_rootvg is now updated and converted to AIX PCM. We disable the altinst_rootvg so that it can be booted.

# alt_rootvg_op –S -t
Putting volume group altinst_rootvg to sleep ...
forced unmount of /alt_inst/var/adm/ras/livedump
…
forced unmount of /alt_inst
Fixing LV control blocks...
Fixing file system superblocks...
#

(Note: please do not forget the option “-t“, this creates a new boot image!)

But before we boot from the altinst_rootvg, we change the multipathing driver back to SDDPCM on the rootvg!

# manage_disk_drivers -d IBMSVC -o NO_OVERRIDE
********************** ATTENTION *************************
  For the change to take effect the system must be rebooted
#

Finally we change the bootlist to altinst_rootvg (hdisk3):

# bootlist -m normal hdisk3
#

And last but not least we reboot:

# shutdown –r now

SHUTDOWN PROGRAM
Tue Apr 16 19:49:08 CEST 2019

Broadcast message from root@aix01 (tty) at 19:49:08 ...

PLEASE LOG OFF NOW ! ! !
System maintenance in progress.
All processes will be killed now.
…

-------------------------------------------------------------------------------
                                Welcome to AIX.
                   boot image timestamp: 19:45:08 04/16/2019
                 The current time and date: 19:51:11 04/16/2019
        processor count: 2;  memory size: 4096MB;  kernel size: 36847630
       boot device: /vdevice/vfc-client@3000000a/disk@5005076XXXXXXXXX:2
-------------------------------------------------------------------------------
…
Multi-user initialization completed
INFO: adjust hdisk attributes
hdisk0 changed
INFO: uninstalling SDDPCM
…
Installation Summary
--------------------
Name                        Level           Part        Event       Result
-------------------------------------------------------------------------------
devices.sddpcm.71.rte       2.7.1.1         ROOT        DEINSTALL   SUCCESS   
devices.sddpcm.71.rte       2.7.1.1         USR         DEINSTALL   SUCCESS   
devices.fcp.disk.ibm.mpio.r 1.0.0.25        USR         DEINSTALL   SUCCESS   
INFO: perform reboot
Rebooting . . .
…

AIX Version 7
Copyright IBM Corporation, 1982, 2018.
Console login:

(In the output you can see the actions of the firstboot script: changing disk attributes, uninstalling SDDPCM and rebooting.)

After logging in we check the OS version, the used multipathing driver and some disk attributes:

# oslevel -s
7100-05-03-1846
# lsdev -l hdisk0 -F uniquetype
disk/fcp/mpioosdisk
# lsattr -El hdisk0 -a PCM -F value
PCM/friend/fcpother
# lsattr -El hdisk0 -a queue_depth -F value
120
# genkex|grep pcm
         5ae0000    60000 /usr/lib/drivers/aixdiskpcmke
# lslpp -l|grep sddpcm
#

We have successfully completed the migration from SDDPCM to AIX PCM together with an OS update. Using scripts this can be automated further.

We have tested this procedure for AIX 7.1 and AIX 7.2. So far, we have not been able to carry out a test for PowerHA for reasons of time.

LPAR Disaster Recovery example

Scenario: we have two lpars, first is a WAS DMGR, the other is intended to be its backup if needed.

In order to avoid misalignments between the lpars we can take mksysb and saveg on a scheduled basis (at 4:00 am from monday to friday)

Backup:

0 4 * * 1-5 /export/nim/scripts/wnd8-dr.new.sh >/dev/null 2>&1

Script contents:

#!/usr/bin/ksh
for env in v u p
do CLIENT="wnd8"$env"01"
echo $CLIENT

LOG=/export/savevg/savevg.$CLIENT.log
echo "Starting..." | tee -a $LOG


nim -Fo remove mksysb-$CLIENT
nim -Fo remove savevg-$CLIENT

nim -o define -t mksysb -a server=master -a location=/export/mksysb/mksysb-$CLIENT -a source=$CLIENT -a mk_image=yes -a exclude_files=wnd8-dr-exclude mksysb-$CLIENT | tee -a $LOG
nim -o define -t savevg -a server=master -a location=/export/savevg/savevg-$CLIENT -a source=$CLIENT -a mk_image=yes -a savevg_flags=Xi -a volume_group=wsvg savevg-$CLIENT | tee -a $LOG

done

Restore:

The restvg operation is actually manual, we are evaluating an automatic recovery scheduled in the early hours of the morning to protect the environment from the loss of a dmgr.

1) Spot definition starting from mksysb

root@nim01:/# nim -o define -t spot -a server=master -a source=mksysb-wnd8p01 -a location=/export/spot/spot-wnd8p01 spot-wnd8p01

Creating SPOT in “/export/spot/spot-wnd8p01” on machine “master” from “mksysb-wnd8p01” …

Restoring files from BOS image. This may take several minutes …

Checking filesets and network boot images for SPOT “spot-wnd8p01”.
This may take several minutes …

2) bosinst operation execution

nim -o bos_inst -a source=mksysb -a mksysb=mksysb-wnd8p01vir-int -a spot=spot-wnd8p01vir-int -a accept_licenses=yes -a bosinst_data=bosinst_noprompt_wnd8p01vir_data -a no_client_boot=no wnd8p02vir-int

root@wnd8p02vir-int:/#

Broadcast message from root@wnd8p02vir-int (tty) at 17:13:36 ...

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

NIM has initiated a bos installation operation on this machine.
Automatic reboot and reinstallation will follow shortly...

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


Running /etc/rc.d/rc2.d/K45vxpbx_exchanged stop
Running /etc/rc.d/rc2.d/Ksshd stop
Running /etc/rc.d/rc2.d/Kwpars stop
Stopping TCP/IP daemons: ndpd-host lpd routed gated sendmail inetd named timed rwhod iptrace dpid2 snmpd rshd rlogind telnetd syslogd
Removing TCP/IP lock files

...

TFTP BOOT ---------------------------------------------------
Server IP.....................10.15.61.27
Client IP.....................10.15.61.168
Gateway IP....................10.15.61.27
Subnet Mask...................255.255.255.0
( 1 ) Filename................./tftpboot/wnd8p02vir-int
TFTP Retries..................5
Block Size....................512
FINAL PACKET COUNT = 59393
FINAL FILE SIZE = 30408704 BYTES

Elapsed time since release of system processors: 1892282 mins 17 secs




-------------------------------------------------------------------------------
Welcome to AIX.
boot image timestamp: 15:36:24 12/30/2020
The current time and date: 16:18:49 01/05/2021
processor count: 4; memory size: 16384MB; kernel size: 45241275
boot device: /vdevice/l-lan@30000003:speed=auto,duplex=auto,bootp,10.15.61.27,,10.15.61.168,10.15.61.27


...


Installing Base Operating System





Please wait...









Approximate Elapsed time
% tasks complete (in minutes)


13 1 9% of mksysb data restored.

NIM – SPOT definition

Spot resource (Shared product Object Tree) is a fundamental object needed when installing or customizing new lpars.
It contains the necessary files (/usr) to mount and access the resources needed during setup phase (mksysb, lpp_source, etc.).

root@nim01:/home/src582# nim -o define -t spot -a server=master -a source=lpp-aix720501-FULL -a location=/export/spot/spot-aix720501 spot-aix720501

bos.iconv.com 7.2.5.0 ROOT APPLY SUCCESS
bos.ecc_client.rte 7.2.5.0 USR APPLY SUCCESS
bos.ecc_client.rte 7.2.5.0 ROOT APPLY SUCCESS
bos.adt.lib 7.2.4.0 USR APPLY SUCCESS
bos.adt.lib 7.2.4.0 ROOT APPLY SUCCESS
adde.v2.rdma.rte 7.2.2.0 USR APPLY SUCCESS
adde.v2.rdma.rte 7.2.2.0 ROOT APPLY SUCCESS
adde.v2.ethernet.rte 7.2.5.0 USR APPLY SUCCESS
Java7_64.sdk 7.0.0.665 USR APPLY SUCCESS
Java7_64.jre 7.0.0.665 USR APPLY SUCCESS
Java7_64.jre 7.0.0.665 ROOT APPLY SUCCESS

File /etc/inittab has been modified.

One or more of the files listed in /etc/check_config.files have changed.
See /var/adm/ras/config.diff for details.

Checking filesets and network boot images for SPOT “spot-aix720501”.
This may take several minutes …

NIM – LPP_SOURCE definition


Let’s start from AIX 7.2 base release LPP Source ,in order to define our new LPP_SOURCE resource:

root@nim01:/export/lpp_source/lpp-aix720501-FULL# nim -o define -t lpp_source -a server=master -a source=/export/lpp_source/lpp-aix720000-FULL -a location=/export/lpp_source/lpp-aix720501-FULL lpp-aix720501-FULL
Preparing to copy install images (this will take several minutes)…

/export/lpp_source/lpp-aix720501-FULL/RPMS/ppc/expect-5.42.1-3.aix6.1.ppc.rpm
/export/lpp_source/lpp-aix720501-FULL/RPMS/ppc/tcl-8.4.7-3.aix6.1.ppc.rpm
/export/lpp_source/lpp-aix720501-FULL/RPMS/ppc/tk-8.4.7-3.aix6.1.ppc.rpm
/export/lpp_source/lpp-aix720501-FULL/installp/ppc/xlsmp.rte.4.1.2.0.I
/export/lpp_source/lpp-aix720501-FULL/installp/ppc/xlsmp.aix61.rte.4.1.2.0.I


/export/lpp_source/lpp-aix720501-FULL/installp/ppc/Java7_64.sdk.7.0.0.320.I
/export/lpp_source/lpp-aix720501-FULL/installp/ppc/Java7_64.jre.7.0.0.320.I
/export/lpp_source/lpp-aix720501-FULL/installp/ppc/ICU4C.rte.7.2.0.0.I

Now checking for missing install images…

All required install images have been found. This lpp_source is now ready.

The newly created resource contains base release filesets, we need to update them to the desired version:

root@nim01:/export/lpp_source/lpp-aix720501-FULL# nim -o update -a packages=all -a source=/download/AIX/PTF/Aix-72-05-01 lpp-aix720501-FULL

/export/lpp_source/lpp-aix720501-FULL/installp/ppc/devices.pciex.df1060e214103404.7.2.0.0.I.1
/export/lpp_source/lpp-aix720501-FULL/installp/ppc/rsct.msg.zh_TW.3.2.6.0.I
/export/lpp_source/lpp-aix720501-FULL/installp/ppc/rsct.msg.zh_CN.3.2.6.0.I
/export/lpp_source/lpp-aix720501-FULL/installp/ppc/rsct.msg.sk_SK.3.2.6.0.I


/export/lpp_source/lpp-aix720501-FULL/installp/ppc/devices.pciex.b315506714106104.rte.7.2.1.0.U
/export/lpp_source/lpp-aix720501-FULL/installp/ppc/devices.pciex.b315506714101604.rte.7.2.1.0.U
/export/lpp_source/lpp-aix720501-FULL/installp/ppc/devices.pciex.b31503101410b504.rte.7.2.1.0.U
/export/lpp_source/lpp-aix720501-FULL/installp/ppc/devices.pciex.b3155067b3157365.rte.7.2.1.0.U
/export/lpp_source/lpp-aix720501-FULL/installp/ppc/devices.pciex.b3155067b3157265.rte.7.2.1.0.U

Resource creation and update tasks ended without errors, let’s run another check:

root@nim01:/export/lpp_source/lpp-aix720501-FULL# nim -o check lpp-aix720501-FULL
root@nim01:/export/lpp_source/lpp-aix720501-FULL#

Let’s remove eventual duplicate or superseded filesets:

root@nim01:/export/lpp_source/lpp-aix720501-FULL# nim -o lppmgr -a lppmgr_flags=rub lpp-aix720501-FULL
lppmgr: Source table of contents location is /export/lpp_source/lpp-aix720501-FULL/installp/ppc/.toc
lppmgr: Building table of contents in /export/lpp_source/lpp-aix720501-FULL/installp/ppc ..
lppmgr: Building table of contents completed.
lppmgr: Generating duplicate list..
lppmgr: Generating base level duplicate list..

Results:
No filesets found that can be removed.

LPP_SOURCE resource is now ready to use.

Shared Ethernet Adapter Configuration

Scenario: dual vios setup completed, we want to configure two different Shared Ethernet Adapters to separate management and production traffic.

ioserver:padmin # lsdev -type adapter
name status description
ent0 Available PCIe2 4-Port Adapter (10GbE SFP+) (e4148a1614109304)
ent1 Available PCIe2 4-Port Adapter (10GbE SFP+) (e4148a1614109304)
ent2 Available PCIe2 4-Port Adapter (1GbE RJ45) (e4148a1614109404)
ent3 Available PCIe2 4-Port Adapter (1GbE RJ45) (e4148a1614109404)
ent4 Available PCIe2 4-Port Adapter (10GbE SFP+) (e4148a1614109304)
ent5 Available PCIe2 4-Port Adapter (10GbE SFP+) (e4148a1614109304)
ent6 Available PCIe2 4-Port Adapter (1GbE RJ45) (e4148a1614109404)
ent7 Available PCIe2 4-Port Adapter (1GbE RJ45) (e4148a1614109404)
ent8 Available Virtual I/O Ethernet Adapter (l-lan)
ent9 Available Virtual I/O Ethernet Adapter (l-lan)
ent10 Available Virtual I/O Ethernet Adapter (l-lan)

ioserver:padmin # for x in 0 1 2 3 4 5 6 7; do echo "ENT$x ==============================" ; lsattr -El ent$x | egrep "flow_ctrl|jumbo|large|chksum_offload" ; done
ENT0 ==============================
chksum_offload yes Request checksum offload True
flow_ctrl yes Request flow control True
flow_ctrl_rx yes Receive pause frames True
flow_ctrl_tx yes Transmit pause frames True
jumbo_frames no Request jumbo frames True
jumbo_size 9014 Requested jumbo frame size False
large_receive yes Request Rx TCP segment aggregation True
large_send yes Request Tx TCP segment offload True
ENT1 ==============================
chksum_offload yes Request checksum offload True
flow_ctrl yes Request flow control True
flow_ctrl_rx yes Receive pause frames True
flow_ctrl_tx yes Transmit pause frames True
jumbo_frames no Request jumbo frames True
jumbo_size 9014 Requested jumbo frame size False
large_receive yes Request Rx TCP segment aggregation True
large_send yes Request Tx TCP segment offload True
ENT2 ==============================
chksum_offload yes Request checksum offload True
flow_ctrl yes Request flow control True
flow_ctrl_rx yes Receive pause frames True
flow_ctrl_tx yes Transmit pause frames True
jumbo_frames no Request jumbo frames True
jumbo_size 9014 Requested jumbo frame size False
large_receive yes Request Rx TCP segment aggregation True
large_send yes Request Tx TCP segment offload True
ENT3 ==============================
chksum_offload yes Request checksum offload True
flow_ctrl yes Request flow control True
flow_ctrl_rx yes Receive pause frames True
flow_ctrl_tx yes Transmit pause frames True
jumbo_frames no Request jumbo frames True
jumbo_size 9014 Requested jumbo frame size False
large_receive yes Request Rx TCP segment aggregation True
large_send yes Request Tx TCP segment offload True
ENT4 ==============================
chksum_offload yes Request checksum offload True
flow_ctrl yes Request flow control True
flow_ctrl_rx yes Receive pause frames True
flow_ctrl_tx yes Transmit pause frames True
jumbo_frames no Request jumbo frames True
jumbo_size 9014 Requested jumbo frame size False
large_receive yes Request Rx TCP segment aggregation True
large_send yes Request Tx TCP segment offload True
ENT5 ==============================
chksum_offload yes Request checksum offload True
flow_ctrl yes Request flow control True
flow_ctrl_rx yes Receive pause frames True
flow_ctrl_tx yes Transmit pause frames True
jumbo_frames no Request jumbo frames True
jumbo_size 9014 Requested jumbo frame size False
large_receive yes Request Rx TCP segment aggregation True
large_send yes Request Tx TCP segment offload True
ENT6 ==============================
chksum_offload yes Request checksum offload True
flow_ctrl yes Request flow control True
flow_ctrl_rx yes Receive pause frames True
flow_ctrl_tx yes Transmit pause frames True
jumbo_frames no Request jumbo frames True
jumbo_size 9014 Requested jumbo frame size False
large_receive yes Request Rx TCP segment aggregation True
large_send yes Request Tx TCP segment offload True
ENT7 ==============================
chksum_offload yes Request checksum offload True
flow_ctrl yes Request flow control True
flow_ctrl_rx yes Receive pause frames True
flow_ctrl_tx yes Transmit pause frames True
jumbo_frames no Request jumbo frames True
jumbo_size 9014 Requested jumbo frame size False
large_receive yes Request Rx TCP segment aggregation True
large_send yes Request Tx TCP segment offload True

ioserver:padmin # for x in 0 1 4 5; do chdev -l ent$x -a jumbo_frames=yes; done
ent0 changed
ent1 changed
ent4 changed
ent5 changed

Sea su mgmt

Now it is possible to define the shared ethernet adapter using the physical (ent2) adapter and virtual (ent8 ent9) to bridge data and sea control channel.

En10 will be used just to assign an ip address to the vios server.

mkvdev -sea ent2 -vadapter ent8 -default ent8 -defaultid 606 -attr ha_mode=auto ctl_chan=ent9
chdev -dev ent11 -attr health_time=60 link_time=10
chdev -dev ent11 -attr large_receive=yes

mktcpip -hostname vios1 -inetaddr 192.168.61.77 -interface en10 -netmask 255.255.255.0 -gateway 10.15.61.1
mktcpip -hostname vios2 -inetaddr 192.168.61.78 -interface en10 -netmask 255.255.255.0 -gateway 10.15.61.1

Dimensionamento dei profili LPAR

CPU

Processing units : indica il numero dei core installati in macchina , in assenza di altri processor pools definiti sono tutti assegnati ad uno shared processor pool.

  • Cap o no cap :

A livello di profilo della Lpar possiamo definire sostanzialmente due modalità:

Uncapped

in questa modalità il profilo prevede l’impostazione di un valore di minimum cpu, ovvero il valore minimo garantito alla lpar, in mancanza del quale la lpar non si avvia, il desired ossia il valore di default assegnato alla lpar in presenza di cicli disponibili, ed il maximum che in questo caso perde di significato dal momento che la partizione uncapped può attingere dalloshared processor pool del server in caso di necessità seguendo un meccanismo di priorità basato su un “peso” assegnato al profilo della partizione.

Capped

        in questo caso i valori minimum e desired sono identici al caso precedente ed il maximum si comporta come limite massimo del valore assegnato , sia esso processing unit, virtual cpus , ecc.

  • Virtual cpus e processing units:

Una regola fondamentale per il disegno di un profilo lpar riguarda il rapporto tra le physical processing units e le virtual cpus; infatti è bene fare in modo che il numero delle desired vcpus coincida con il maximum processing units . Per esempio se ho 1 vp posso usare solo fino 1 PU anche se la partizione è uncapped e magari lo shared processor pool potrebbe permettere alla lpar di scalare il numero di cpu utilizzabili; il numero delle vcpus rappresenta il limite fino a cui attingere risorse libere quando richiesto, oltre il valore di “entitled capacity”.

Nota: si rimanda al documento allegato

P7_virtualization_bestpractice.doc

prelevato al link:

https://www.ibm.com/developerworks/community/wikis/form/anonymous/api/wiki/61ad9cf2-c6a3-4d2c-b779-61ff0266d32a/page/64c8d6ed-6421-47b5-a1a7-d798e53e7d9a/attachment/f9ddb657-2662-41d4-8fd8-77064cc92e48/media/p7_virtualization_bestpractice.doc

May the NIMADM be with you

NIMADM or Network Installation Manager Alternate Disk Migration, is a facility that helps you to seamlessly clone and upgrade your lpar to a new AIX release.

In the following example lpar01 is at 7100-05-05-1939 level, we ‘d like to upgrade it to 7200-03-03-1914 with the least possible downtime .

The entire nimadm process splits into 12 phases that allows to fully customize the target environment.

root@nim01:/download/AIX/PTF/# nimadm -l lpp-aix720303-FULL -c lpar01-int -s spot-aix720303 -d hdisk0 -Y
Initializing the NIM master.
Initializing NIM client lpar01-int.

Verifying alt_disk_migration eligibility.
Initializing log: /var/adm/ras/alt_mig/lpar01-int_alt_mig.log
Starting Alternate Disk Migration.


Restoring device ODM database.

+—————————————————————————–+
Executing nimadm phase 7.
+—————————————————————————–+
nimadm: There is no user customization script specified for this phase.

+—————————————————————————–+
Executing nimadm phase 8.
+—————————————————————————–+
Creating client boot image.
bosboot: Boot image is 59393 512 byte blocks.
Writing boot image to client’s alternate boot disk hdisk0.

+—————————————————————————–+
Executing nimadm phase 9.
+—————————————————————————–+
Unmounting client mounts on the NIM master.
forced unmount of /lpar01-int_alt/alt_inst/var/adm/ras/livedump
forced unmount of /lpar01-int_alt/alt_inst/var
forced unmount of /lpar01-int_alt/alt_inst/usr
forced unmount of /lpar01-int_alt/alt_inst/tmp
forced unmount of /lpar01-int_alt/alt_inst/opt/ocsinventory
forced unmount of /lpar01-int_alt/alt_inst/opt/netbackup
forced unmount of /lpar01-int_alt/alt_inst/opt/nagios
forced unmount of /lpar01-int_alt/alt_inst/opt/freeware/webmin
forced unmount of /lpar01-int_alt/alt_inst/opt/bmc
forced unmount of /lpar01-int_alt/alt_inst/opt/IBM
forced unmount of /lpar01-int_alt/alt_inst/opt
forced unmount of /lpar01-int_alt/alt_inst/logs
forced unmount of /lpar01-int_alt/alt_inst/home
forced unmount of /lpar01-int_alt/alt_inst/admin
forced unmount of /lpar01-int_alt/alt_inst

+—————————————————————————–+
Executing nimadm phase 10.
+—————————————————————————–+
Unexporting alt_inst filesystems on client lpar01-int:

+—————————————————————————–+
Executing nimadm phase 11.
+—————————————————————————–+
Cloning altinst_rootvg on client, Phase 3.
Client alt_disk_install command: alt_disk_copy -M 7.2 -P3 -d “hdisk0”

Verifying altinst_rootvg…
Modifying ODM on cloned disk.
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/ocsinventory
forced unmount of /alt_inst/opt/ocsinventory
forced unmount of /alt_inst/opt/netbackup
forced unmount of /alt_inst/opt/netbackup
forced unmount of /alt_inst/opt/nagios
forced unmount of /alt_inst/opt/nagios
forced unmount of /alt_inst/opt/freeware/webmin
forced unmount of /alt_inst/opt/freeware/webmin
forced unmount of /alt_inst/opt/bmc
forced unmount of /alt_inst/opt/bmc
forced unmount of /alt_inst/opt/IBM
forced unmount of /alt_inst/opt/IBM
forced unmount of /alt_inst/opt
forced unmount of /alt_inst/opt
forced unmount of /alt_inst/logs
forced unmount of /alt_inst/logs
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
Changing logical volume names in volume group descriptor area.
Fixing LV control blocks…
Fixing file system superblocks…
Bootlist is set to the boot disk: hdisk0 blv=hd5

+—————————————————————————–+
Executing nimadm phase 12.
+—————————————————————————–+
Cleaning up alt_disk_migration on the NIM master.
Cleaning up alt_disk_migration on client lpar01-int.

ALT_DISK_COPY fallisce a causa di LDR_PRELOAD valorizzato

alt_disk_copy con upgrade fallisce con errori relativi a dynatrace:

##################################################
Tue Mar 31 10:51:45 CEST 2020
cmd: /usr/sbin/alt_disk_copy -d hdisk1 -B update_all -l /mnt/AIX/PTF/Aix-72-03-03-FULL/ -e
Calling mkszfile to create new /image.data file.
Checking disk sizes.
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 logical volume alt_nagios
Creating logical volume alt_fslv00
Creating logical volume alt_logs
Creating logical volume alt_ocsinv
Creating logical volume alt_netbackup
Creating logical volume alt_bmc
Creating /alt_inst/ file system.
Creating /alt_inst/admin file system.
Creating /alt_inst/download file system.
Creating /alt_inst/home file system.
Creating /alt_inst/logs file system.
Creating /alt_inst/opt file system.
Creating /alt_inst/opt/bmc file system.
Creating /alt_inst/opt/nagios file system.
Creating /alt_inst/opt/netbackup file system.
Creating /alt_inst/opt/ocsinventory 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…
Backing-up the rootvg files and restoring them to the
alternate file system…
0505-148 alt_disk_install: WARNING: an error occurred during backup.
Modifying ODM on cloned disk.
Building boot image on cloned disk.
exec(): 0509-036 Cannot load program /usr/bin/ksh because of the following errors:
0509-150 Dependent module /opt/dynatrace/oneagent/agent/lib/liboneagentproc.so could not be loaded.
0509-022 Cannot load module /opt/dynatrace/oneagent/agent/lib/liboneagentproc.so.
0509-026 System error: A file or directory in the path name does not exist.
0505-120 alt_disk_install: Error running bosboot in the cloned
root volume group.
Cleaning up.

Abbiamo aperto un case al supporto che ha rilevato che Dynatrace non è installato ma una libreria del prodotto è referenziata da una variabile di ambiente.

LDR_PRELOAD=/opt/dynatrace/oneagent/agent/lib/liboneagentproc.so

Eliminando la variabile l’esecuzione di alt_disk_copy termina correttamente senza errori.

SAN LoginLogout da HMC cli

Per far effettuare il login sulla SAN a tutti i virtual adapter assegnati ad una LPAR si può intervenire da HMC, ad esempio:

hscroot@hmc7:~> lsnportlogin -m “System1” –filter “lpar_names=Lpar1”

lpar_name=Lpar1,lpar_id=3,profile_name=Lpar1,slot_num=4,wwpn=cxxxxxxxxxx6b001c,wwpn_status=1,logged_in=vios,wwpn_status_reason=null

lpar_name=Lpar1,lpar_id=3,profile_name=Lpar1,slot_num=4,wwpn=cxxxxxxxxxx6b001d,wwpn_status=1,logged_in=vios,wwpn_status_reason=null

lpar_name=Lpar1,lpar_id=3,profile_name=Lpar1,slot_num=7,wwpn=cxxxxxxxxxx6b0018,wwpn_status=1,logged_in=client,wwpn_status_reason=null

lpar_name=Lpar1,lpar_id=3,profile_name=Lpar1,slot_num=7,wwpn=cxxxxxxxxxx6b0019,wwpn_status=1,logged_in=vios,wwpn_status_reason=null

hscroot@hmc7:~> chnportlogin -m “System2” -p Lpar2 -o login

hscroot@hmc7:~> lsnportlogin -m “System2” –filter “lpar_names=Lpar2”

lpar_name=Lpar2,lpar_id=3,profile_name=Lpar2,slot_num=6,wwpn=cxxxxxxxxxx690010,wwpn_status=1,logged_in=vios,wwpn_status_reason=null

lpar_name=Lpar2,lpar_id=3,profile_name=Lpar2,slot_num=6,wwpn=cxxxxxxxxxx690011,wwpn_status=1,logged_in=vios,wwpn_status_reason=null

lpar_name=Lpar2,lpar_id=3,profile_name=Lpar2,slot_num=7,wwpn=cxxxxxxxxxx690014,wwpn_status=1,logged_in=vios,wwpn_status_reason=null

lpar_name=Lpar2,lpar_id=3,profile_name=Lpar2,slot_num=7,wwpn=cxxxxxxxxxx690015,wwpn_status=1,logged_in=vios,wwpn_status_reason=null

hscroot@hmc7:~> chnportlogin -m “System2” -p Lpar2 -o logout

hscroot@hmc7:~> lsnportlogin -m “System2” –filter “lpar_names=Lpar2”

lpar_name=Lpar2,lpar_id=3,profile_name=Lpar2,slot_num=6,wwpn=cxxxxxxxxxx690010,wwpn_status=0,logged_in=none,wwpn_status_reason=null

lpar_name=Lpar2,lpar_id=3,profile_name=Lpar2,slot_num=6,wwpn=cxxxxxxxxxx690011,wwpn_status=0,logged_in=none,wwpn_status_reason=null

lpar_name=Lpar2,lpar_id=3,profile_name=Lpar2,slot_num=7,wwpn=cxxxxxxxxxx690014,wwpn_status=0,logged_in=none,wwpn_status_reason=null

lpar_name=Lpar2,lpar_id=3,profile_name=Lpar2,slot_num=7,wwpn=cxxxxxxxxxx690015,wwpn_status=0,logged_in=none,wwpn_status_reason=null