For the procedure of applying a patch for PRIMECLUSTER to the global zone, follow "Chapter 10 Maintenance of the PRIMECLUSTER System." However, if it is a patch such as an OS patch, and one has applied the patch to the global zone, there is a patch that is also to be applied to the non-global zone. In this instance, the procedure differs depending whether or not the configuration shares non-global zone images. Apply the patch using the respective procedure below.
Procedure for Applying a Patch for a Configuration Sharing Non-Global Zone Images between Cluster Nodes or single-node cluster operations
Perform each procedure in all of the global zones. The situation of performing this with just one of any of the global zones is explained in this procedure.
Stop the RMS.
In any of the global zones, execute the following command.
# /opt/SMAW/bin/hvshut -a
Check that the RMS has stopped.
# /opt/SMAW/bin/hvdisp -a
hvdisp: RMS is not running #
To disable the automatic startup for RMS, edit the file "/opt/SMAW/SMAWRrms/bin/hvenv.local."
If the file "/opt/SMAW/SMAWRrms/bin/hvenv.local" does not exist, create the file (create the file access privilege in 644), and write in the line shown in [After changes].
[Before changes]
export HV_RCSTART=1
[After changes]
export HV_RCSTART=0
After editing the file, check that the "HV_RCSTART" value is at 0.
# cat /opt/SMAW/SMAWRrms/bin/hvenv.local
export HV_RCSTART=0
Start up the system again under single user mode.
# shutdown -g0 -i0 -y
Connect to each global zone console. If the ok prompt is displayed on the console, execute the following.
ok boot -s
Login under single user mode and mount the file system.
# mountall -l
# zfs mount -a
Check that all of the non-global zones are detached.
If the non-global zone STATUS is "configured" in the output results for the "zoneadm list -vc" command, then the non-global zones are detached.
Example
If the non-global zone name is zone-a and the zone path is /zone-a-system
# zoneadm list -vc
ID NAME STATUS PATH BRAND IP 0 global running / native shared - zone-a configured /zone-a-system native shared
Apply the patch.
Example
If an OS patch for Solaris 10
# patchadd <patch number>
Note
Make sure that all of the patches being applied to the global zones are the same version level.
The applying of patches by rolling update is not supported.
If applying multiple patches, apply all of the patches at this point.
Restart under multiuser mode.
# shutdown -i6 -g0 -y
Check that the RMS is stopped.
# /opt/SMAW/bin/hvdisp -a
hvdisp: RMS is not running
From any global zone, start up the GDS volume to which the non-global zone is installed. For a single-node cluster, proceed to Step 11.
# sdxvolume -N -c class0001 -v volume0001
Mount the GDS volume that corresponds to the non-global zone in the same global zone which was used for Step 9.
It is possible to confirm each non-global zone mount point with /etc/vfstab.pcl.
Example
If the zone path is /zone-a-system
# cat /etc/vfstab.pcl
...omitted...
#RMS#/dev/sfdsk/class0001/dsk/volume0001 /dev/sfdsk/class0001/rdsk/volume0001 /zone-a-system ufs - no -
In the case of this example, perform the mount as follows.
# mount -F ufs /dev/sfdsk/class0001/dsk/volume0001 /zone-a-system
The patch is applied through attaching the non-global zone (example: if the non-global zone name is zone-a) with the same global zone which was used for Step 9.
# zoneadm -z zone-a attach -u
Note
Since information on applying the patch is displayed on screen, check that there are no errors.
It is possible to check the application log with the non-global zone's "/var/sadm/system/logs/update_log."
Check that non-global zone is attached in the same global zone which was used for Step 9.
This can be determined by checking that the non-global zone STATUS is "installed."
Example
If the non-global zone name is zone-a and the zone path is /zone-a-system
# zoneadm list -vc ID NAME STATUS PATH BRAND IP 0 global running / native shared - zone-a installed /zone-a-system native shared
If one wishes to check if the patch was applied to the non-global zone, perform the following Steps 13 through 18. If confirmation is not necessary, proceed to Step 19.
Start up the non-global zone in the same global zone which was used for Step 9.
# /usr/lib/brand/solaris8/s8_p2v zone-a (For Solaris 8 Container) # /usr/lib/brand/solaris9/s9_p2v zone-a (For Solaris 9 Container) # zoneadm -z zone-a boot
It is possible to check that the non-global zone has started up by using the following command.
# zoneadm list -vc ID NAME STATUS PATH BRAND IP 0 global running / native shared 1 zone-a running /zone-a-system native shared
Log in to the non-global zone using the same global zone which was used for Step 9.
# zlogin zone-a
Check that the patch has been applied to the non-global zone.
Example
If applying an OS patch for Solaris 10
[zone-a]# showrev -p | grep <patch number>
Logout from the non-global zone.
[zone-a]# exit
Stop the non-global zone in the same global zone which was used for Step 9.
# zlogin zone-a shutdown -i0 -g0 -y
Detach the non-global zone in the same global zone which was used for Step 9.
# zoneadm -z zone-a detach
Check that zone-a is detached.
It is possible to determine this by checking if the zone-a STATUS is "configured."
#zoneadm list -vc
ID NAME STATUS PATH BRAND IP 0 global running / native shared - zone-a configured /zone-a-system native shared
If one changed the RMS automatic startup at Step 2, in order to enable the RMS automatic startup, edit the "/opt/SMAW/SMAWRrms/bin/hvenv.local" file.
[Before changes]
export HV_RCSTART=0
[After changes]
export HV_RCSTART=1
After editing the file, check that the "HV_RCSTART" value is at "1."
# cat /opt/SMAW/SMAWRrms/bin/hvenv.local
export HV_RCSTART=1
Restart the system.
# shutdown -i6 -g0 -y
After startup, check that RMS is started up on all global zones.
Example
# /opt/SMAW/bin/hvdisp -a Local System: GZARMS Configuration: /opt/SMAW/SMAWRrms/build/config.us Resource Type HostName State StateDetails ----------------------------------------------------------------------------- GZBRMS SysNode Online GZARMS SysNode Online userApp_0 userApp Online Machine001_userApp_0 andOp GZBRMS Machine000_userApp_0 andOp GZARMS Online ManageProgram000_Cmdline0 gRes Online MountPoint001_Fsystem0 gRes Online AllDiskClassesOk_Gds0 andOp Online class0001_Gds0 gRes Online #
Procedure for Applying a Patch for a Configuration Not Sharing Non-Global Zone Images between Cluster Nodes
Apply the patch as one normally would to the global zone. If performing the application of the patch by rolling update, perform the task by referring to example below. Perform each of these steps to all of the global zones.
Example) If applying a patch performed by rolling update to the operational system global zone GZA and the standby global system GZB.
If cluster applications are running, switch all cluster applications over to the standby system.
On GZA, execute the following command and switch the cluster application over to the standby system GZB.
# hvswitch userApp_0 GZBRMS
"userApp_0" is the name of the cluster application on the global zone and "GZBRMS" is the SysNode name.
Check that the user application is Offline in GZA.
# /opt/SMAW/bin/hvdisp -a Local System: GZBRMS Configuration: /opt/SMAW/SMAWRrms/build/config.us Resource Type HostName State StateDetails ----------------------------------------------------------------------------- GZARMS SysNode Online GZBRMS SysNode Online userApp_0 userApp Standby userApp_0 userApp GZARMS Online Machine001_userApp_0 andOp GZBRMS Offline Machine000_userApp_0 andOp GZARMS ManageProgram000_Cmdline0 gRes Standby #
Start up the GZA again under single user mode.
# shutdown -g0 -i0 -y
Connect to the console for GZA. If the ok prompt is displayed on the console, execute the following.
ok boot -s
Log in to GZA under single user mode and mount the file system.
# mountall -l
# zfs mount -a
If using cold-standby, attach the non-global zone.
# zoneadm -z zone-a attach
Check that the non-global zone is attached in GZA.
If the non-global zone STATUS is given as "installed" in the "zoneadm list -vc" command output result, then the non-global zone is attached.
Example
If the non-global zone name is zone-a and the zone path is /zone-a-system
# zoneadm list -vc
ID NAME STATUS PATH BRAND IP 0 global running / native shared - zone-a installed /zone-a-system native excl
Apply the patch in GZA.
Example
If applying an OS patch for Solaris 10
# patchadd <patch number>
Note
Make sure that the patch applied to all of the global zones is the same version level.
If applying multiple patches, apply all of the patches at this point.
If using cold-standby, detach the non-global zone.
# zoneadm -z zone-a detach
Restart GZA under multiuser mode.
# shutdown -i6 -g0 -y
After startup, check that RMS is started up on all global zones. Also, check that the userApp is in Standby on GZA and that userApp is Online on GZB.
Example
If GZA
# /opt/SMAW/bin/hvdisp -a
Local System: GZARMS Configuration: /opt/SMAW/SMAWRrms/build/config.us Resource Type HostName State StateDetails ----------------------------------------------------------------------------- GZBRMS SysNode Online GZARMS SysNode Online userApp_0 userApp Standby userApp_0 userApp GZBRMS Online Machine001_userApp_0 andOp GZARMS Offline Machine000_userApp_0 andOp GZBRMS ManageProgram000_Cmdline0 gRes #
Example
If GZB
# /opt/SMAW/bin/hvdisp -a
Local System: GZBRMS Configuration: /opt/SMAW/SMAWRrms/build/config.us Resource Type HostName State StateDetails ----------------------------------------------------------------------------- GZARMS SysNode Online GZBRMS SysNode Online userApp_0 userApp Online Machine001_userApp_0 andOp GZARMS Machine000_userApp_0 andOp GZBRMS Online ManageProgram000_Cmdline0 gRes Online #
Apply the patch to GZB as well. Repeat Steps 1) through 8). However, replace "GZA" in the procedure with "GZB" and "GZB" with "GZA."