Patching 11.23 with QPK08 using DrD and a 2 disk scenario

This procedure, breaking a mirror to use as clone disk, IS NOT RECOMMENDED BY HP, but if like me, you only have 2 disks on the system, you have no other choice.

Install the latest version of DrD on your Server(no reboot needed), you can download from:
http://h20293.www2.hp.com/portal/swdepot/displayProductInfo.do?productNu...
#swinstall -s s:/var/opt/ignite/depot/Rel_B.11.23/software/updates DynRootDisk
Update the drd_unsafe_patch_list file (if necessary):
Update the unsafe patch list as follows:
i) Download the ftp://ftp.itrc.hp.com/export/DRD/drd_unsafe_patch_list file to /etc/opt/drd/drd_unsafe_patch_list on your active system image.
If you have not created a clone, then you are done with updating the drd_unsafe_patch_list file and have finished this procedure. If you have created a clone, continue with Step ii.

ii) Because DRD uses the copy of the drd_unsafe_patch_list file on the inactive system image, the copy on that image must also be updated. If there is a clone, mount the inactive system image:
# /opt/drd/bin/drd mount

iii) If there is a clone, copy the drd_unsafe_patch_list file to the inactive system image:
# /usr/bin/cp /etc/opt/drd/drd_unsafe_patch_list \
/var/opt/drd/mnts/sysimage_00*/etc/opt/drd/drd_unsafe_patch_list

Once we have DrD installed, we have to take out one of the mirror disks to use as drd clone disk:

#vgdisplay -v vg00 | grep "PV Name"
PV Name /dev/dsk/c0t8d0s2
PV Name /dev/dsk/c0t10d0s2

We are going to take out of the mirror /dev/dsk/c0t10d0 disk:

#for i in $(pvdisplay -v /dev/dsk/c0t8d0s2 | grep 'current.*0000 $' | awk ' { print $3 } ' )
#do
#lvreduce -m 0 $i /dev/dsk/c0t10d0s2
#done

Once all the PE's in the disk are free, we reduce vg00:

#vgreduce vg00 /dev/dsk/c0t10d0s2

And edit the /stand/bootconf, taking out the reference to /dev/dsk/c0t10d0s2 disk:

#vi /stand/bootconf

Update the LABLE on the disk:

#lvlnboot -vR /dev/vg00

We are ready to clone the disk we launch a preview, to check all is OK:

#drd clone -x overwrite=true -p -v -t /dev/dsk/c0t10d0

======= 07/01/09 14:59:57 METDSTDST BEGIN T Clone System Image Preview (user=root) (jobid=sd)

* Reading Current System Information
* Selecting System Image To Clone
* Selecting Target Disk
* The disk "/dev/dsk/c0t10d0" contains data which will be overwritten.
* Selecting Volume Manager For New System Image
* Analyzing For System Image Cloning

======= 07/01/09 15:00:17 METDSTDST END T Clone System Image Preview succeeded. (user=root) (jobid=sdppbus1)

The clone preview worked fine, so now we can do the actual clone:

#drd clone -x overwrite=true -v -t /dev/dsk/c0t10d0

======= 07/01/09 15:00:28 METDSTDST BEGIN T Clone System Image (user=root) (jobid=sd)

* Reading Current System Information
* Selecting System Image To Clone
* Selecting Target Disk
* The disk "/dev/dsk/c0t10d0" contains data which will be overwritten.
* Selecting Volume Manager For New System Image
* Analyzing For System Image Cloning
* Creating New File Systems
* Copying File Systems To New System Image
* Making New System Image Bootable
* Unmounting New System Image Clone
* System image: "sysimage_001" on disk "/dev/dsk/c0t10d0"

======= 07/01/09 15:54:23 METDSTDST END T Clone System Image succeeded. (user=root) (jobid=sd)

Once it has finished we can check , the state of the clone:

#drd status

======= 07/02/09 08:25:58 METDSTDST BEGIN T Displaying DRD Clone Image Information (user=root) (jobid=sd)

* Clone Disk: /dev/dsk/c0t10d0
* Clone EFI Partition: AUTO file present, Boot loader present
* Clone Rehost Status: SYSINFO.TXT not present
* Clone Creation Date: 07/01/09 15:00:42 METDST
* Clone Mirror Disk: None
* Mirror EFI Partition: None
* Original Disk: /dev/dsk/c0t8d0
* Original EFI Partition: AUTO file present, Boot loader present
* Original Rehost Status: SYSINFO.TXT not present
* Booted Disk: Original Disk (/dev/dsk/c0t8d0)
* Activated Disk: Original Disk (/dev/dsk/c0t8d0)

======= 07/02/09 08:26:08 METDSTDST END T Displaying DRD Clone Image Information succeeded.

All looks ok, we can install our patches, the bundle we install is one, I have made that contains the Dec 08 quality pack, plus other loose security patches:

#swlist -s sdp:/var/opt/ignite/depot/Rel_B.11.23/patch-bundles/dec08/

# Contacting target "sdp"...
#
# Target: sdp:/var/opt/ignite/depot/Rel_B.11.23/patch-bundles/dec08/
#

#
# Bundle(s):
#

PARCHES_DEC08 Ver.1.0 Bundle Parches Diciembre 08

We can execute the drd runcmd command as follows:

# drd runcmd swinstall -x
autoselect_patches=true
-s sdp:/var/opt/ignite/depot/Rel_B.11.23/patch-bundles/dec08/ PARCHES_DEC08
======= 07/02/09 08:30:28 METDSTDST BEGIN T Executing Command On Inactive System Image (user=root) (jobid=sd)

* Checking for Valid Inactive System Image
* Analyzing Command To Be Run On Inactive System Image
* Locating Inactive System Image
* Accessing Inactive System Image for Command Execution
* Setting Up Environment For Command Execution
* Executing Command On Inactive System Image
* Using unsafe patch list version 20090324
* Starting swagentd for drd runcmd
* Executing command: "/usr/sbin/swinstall -s sdp:/var/opt/ignite/depot/Rel_B.11.23/patch-bundles/dec08/
PARCHES_MDEF_DEC08"

..................

More information may be found in the agent logfile using the
command "drd runcmd swjob -a log sd-0153 @ sd:/".
======= 07/02/09 08:38:22 METDSTDST END T Executing Command On Inactive System Image failed with 1 error. (user=root)

I get an error so I check the swagent logs:

#drd runcmd swjob -a log sd-0153 @ sd:/

After checking the error, everything worked fine except and error with a vxvm patch, wich I can ignore.

So now I activate my clone Image, so it boots when we reboot the server:

#drd activate

Now we plan a reboot, so our operators can reboot the server at 2:00 AM, and with luck tomorrow morning we will have a new patched server.

After the reboot, and giving the patches a couple of weeks testing, I recreated the mirror with our not patched disk.

Finished.

More Info:

http://docs.hp.com/en/5992-1910/5992-1910.pdf