Top
PRIMECLUSTER  Installation and Administration Guide4.3

13.5.2 Maintenance Operations on the Global Zone

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.

  1. 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 #
  2. 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
  3. 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
  4. Login under single user mode and mount the file system.

    # mountall -l
    # zfs mount -a
  5. 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
  6. 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.

  7. Restart under multiuser mode.

    # shutdown -i6 -g0 -y
  8. Check that the RMS is stopped.

    # /opt/SMAW/bin/hvdisp -a
    hvdisp: RMS is not running
  9. 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
  10. 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
  11. 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."

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

  13. 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
  14. Log in to the non-global zone using the same global zone which was used for Step 9.

    # zlogin zone-a
  15. 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>
  16. Logout from the non-global zone.

    [zone-a]# exit
  17. Stop the non-global zone in the same global zone which was used for Step 9.

    # zlogin zone-a shutdown -i0 -g0 -y
  18. 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
  19. 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
  20. 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.

  1. 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
    
    #
  2. 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
  3. Log in to GZA under single user mode and mount the file system.

    # mountall -l
    # zfs mount -a
  4. If using cold-standby, attach the non-global zone.

    # zoneadm -z zone-a attach
  5. 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
  6. 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.

  7. If using cold-standby, detach the non-global zone.

    # zoneadm -z zone-a detach
  8. 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 #
  9. Apply the patch to GZB as well. Repeat Steps 1) through 8). However, replace "GZA" in the procedure with "GZB" and "GZB" with "GZA."