1. Introduction to Administering Oracle Solaris Cluster
2. Oracle Solaris Cluster and RBAC
3. Shutting Down and Booting a Cluster
4. Data Replication Approaches
5. Administering Global Devices, Disk-Path Monitoring, and Cluster File Systems
7. Administering Cluster Interconnects and Public Networks
10. Configuring Control of CPU Usage
11. Patching Oracle Solaris Cluster Software and Firmware
Overview of Patching Oracle Solaris Cluster
Oracle Solaris Cluster Patch Tips
Patching Oracle Solaris Cluster Software
How to Apply a Rebooting Patch (Node)
How to Apply a Rebooting Patch (Cluster)
How to Apply a Nonrebooting Oracle Solaris Cluster Patch
How to Apply Patches in Single-User Mode with Failover Nodes
Changing an Oracle Solaris Cluster Patch
12. Backing Up and Restoring a Cluster
13. Administering Oracle Solaris Cluster With the Graphical User Interfaces
Table 11-1 Task Map: Patching the Cluster
|
Apply the patch to one node in the cluster at a time to keep the cluster itself operational during the patch process. With this procedure, you must first stop the node in the cluster and boot it to single-user mode by using the boot -sx or shutdown -g -y -i0command, before applying the patch.
The phys-schost# prompt reflects a global-cluster prompt. Perform this procedure on a global cluster.
This procedure provides the long forms of the Oracle Solaris Cluster commands. Most commands also have short forms. Except for the long and short forms of the command names, the commands are identical.
# clresourcegroup status -n node # cldevicegroup status -n node
# clnode evacuate -n node
Evacuates all device groups and resource groups, including all global-cluster non-voting nodes.
Specifies the node from which you are switching the resource groups and device groups.
# shutdown -g0 [-y] [-i0]
On SPARC based systems, run the following command.
ok boot -sx
On x86 based systems, run the following commands.
phys-schost# shutdown -g -y -i0 Press any key to continue
The GRUB menu appears similar to the following:
GNU GRUB version 0.95 (631K lower / 2095488K upper memory) +-------------------------------------------------------------------------+ | Solaris 10 /sol_10_x86 | | Solaris failsafe | | | +-------------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press enter to boot the selected OS, 'e' to edit the commands before booting, or 'c' for a command-line.
For more information about GRUB based booting, see Booting an x86 Based System by Using GRUB (Task Map) in System Administration Guide: Basic Administration.
The GRUB boot parameters screen appears similar to the following:
GNU GRUB version 0.95 (615K lower / 2095552K upper memory) +----------------------------------------------------------------------+ | root (hd0,0,a) | | kernel /platform/i86pc/multiboot | | module /platform/i86pc/boot_archive | +----------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press 'b' to boot, 'e' to edit the selected command in the boot sequence, 'c' for a command-line, 'o' to open a new line after ('O' for before) the selected line, 'd' to remove the selected line, or escape to go back to the main menu.
[ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ESC at any time exits. ] grub edit> kernel /platform/i86pc/multiboot -sx
The screen displays the edited command.
GNU GRUB version 0.95 (615K lower / 2095552K upper memory) +----------------------------------------------------------------------+ | root (hd0,0,a) | | kernel /platform/i86pc/multiboot -sx | | module /platform/i86pc/boot_archive | +----------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press 'b' to boot, 'e' to edit the selected command in the boot sequence, 'c' for a command-line, 'o' to open a new line after ('O' for before) the selected line, 'd' to remove the selected line, or escape to go back to the main menu.-
Note - This change to the kernel boot parameter command does not persist over the system boot. The next time you reboot the node, it will boot into cluster mode. To boot into noncluster mode instead, perform these steps to again to add the -sx option to the kernel boot parameter command.
# patchadd -M patch-dir patch-id
Specifies the directory location of the patch.
Specifies the patch number of a given patch.
Note - Always defer to the instructions in the patch directory, which supersede procedures in this chapter.
# showrev -p | grep patch-id
# reboot
After you reboot all the nodes, the last node rebooted will not have the resource groups and device groups online.
# cldevicegroup switch -n node + | devicegroup ... # clresourcegroup switch -n node[:zone][,...] + | resource-group ...
The name of the node to which you are switching the resource groups and device groups.
The name of the global cluster non-voting node (node) that can master the resource group. Specify zone only if you specified a non-voting node when you created the resource group.
# /usr/cluster/bin/scversions
You will see one of the following results:
Upgrade commit is needed. Upgrade commit is NOT needed. All versions match.
# scversions -c
Note - Running scversions will cause one or more CMM reconfigurations, depending on the situation.
Example 11-1 Applying a Rebooting Patch (Node)
The following example shows the application of a rebooting Oracle Solaris Cluster patch to a node.
# clresourcegroup status -n rg1 ...Resource Group Resource -------------- -------- rg1 rs-2 rg1 rs-3 ... # cldevicegroup status -n nodedg-schost-1 ... Device Group Name: dg-schost-1 ... # clnode evacuate phys-schost-2 # shutdown -g0 -y -i0 ...
Boot the node in noncluster, single-user mode.
SPARC: Type:
ok boot -sx
x86:Boot the node in noncluster, single-user mode. See boot steps in the proceeding procedure.
# patchadd -M /var/tmp/patches 234567-05 ... # showrev -p | grep 234567-05 ... # reboot ... # cldevicegroup switch -n phys-schost-1 dg-schost-1 # clresourcegroup switch -n phys-schost-1 schost-sa-1 # scversions Upgrade commit is needed. # scversions -c
See Also
If you need to back out a patch, see Changing an Oracle Solaris Cluster Patch.
With this procedure, you must first stop the cluster and boot each node to single-user mode by using the boot -sx or shtudown -g -y -i0 command, before applying the patch.
# cluster shutdown -y -g grace-period “message”
Specifies to answer yes to the confirmation prompt.
Specifies, in seconds, the amount of time to wait before shutting down. Default grace period is 60 seconds.
Specifies the warning message to broadcast. Use quotes if message contains multiple words.
On the console of each node, run the following commands.
On SPARC based systems, run the following command.
ok boot -sx
On x86 based systems, run the following commands.
phys-schost# shutdown -g -y -i0 Press any key to continue
The GRUB menu appears similar to the following:
GNU GRUB version 0.95 (631K lower / 2095488K upper memory) +-------------------------------------------------------------------------+ | Solaris 10 /sol_10_x86 | | Solaris failsafe | | | +-------------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press enter to boot the selected OS, 'e' to edit the commands before booting, or 'c' for a command-line.
For more information about GRUB based booting, see Booting an x86 Based System by Using GRUB (Task Map) in System Administration Guide: Basic Administration.
The GRUB boot parameters screen appears similar to the following:
GNU GRUB version 0.95 (615K lower / 2095552K upper memory) +----------------------------------------------------------------------+ | root (hd0,0,a) | | kernel /platform/i86pc/multiboot | | module /platform/i86pc/boot_archive | +----------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press 'b' to boot, 'e' to edit the selected command in the boot sequence, 'c' for a command-line, 'o' to open a new line after ('O' for before) the selected line, 'd' to remove the selected line, or escape to go back to the main menu.
[ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ESC at any time exits. ] grub edit> kernel /platform/i86pc/multiboot -sx
The screen displays the edited command.
GNU GRUB version 0.95 (615K lower / 2095552K upper memory) +----------------------------------------------------------------------+ | root (hd0,0,a) | | kernel /platform/i86pc/multiboot -sx | | module /platform/i86pc/boot_archive | +----------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press 'b' to boot, 'e' to edit the selected command in the boot sequence, 'c' for a command-line, 'o' to open a new line after ('O' for before) the selected line, 'd' to remove the selected line, or escape to go back to the main menu.-
Note - This change to the kernel boot parameter command does not persist over the system boot. The next time you reboot the node, it will boot into cluster mode. To boot into noncluster mode instead, perform these steps to again to add the -sx option to the kernel boot parameter command.
On one node at a time, run the following command.
# patchadd -M patch-dir patch-id
Specifies the directory location of the patch.
Specifies the patch number of a given patch.
Note - Always defer to the instructions in the patch directory that supersede procedures in this chapter.
# showrev -p | grep patch-id
On each node, run the following command.
# reboot
# /usr/cluster/bin/scversions
You will see one of the following results:
Upgrade commit is needed. Upgrade commit is NOT needed. All versions match.
# scversions -c
Note - Running scversions will cause one or more CMM reconfigurations, depending on the situation.
Example 11-2 Applying a Rebooting Patch (Cluster)
The following example shows the application of a rebooting Oracle Solaris Cluster patch to a cluster.
# cluster shutdown -g0 -y ...
Boot the cluster in noncluster, single-user mode.
SPARC: Type:
ok boot -sx
x86:Boot each node into noncluster, single-user mode. See the proceeding procedure for steps.
... # patchadd -M /var/tmp/patches 234567-05 (Apply patch to other cluster nodes) ... # showrev -p | grep 234567-05 # reboot # scversions Upgrade commit is needed. # scversions -c
See Also
If you need to back out a patch, see Changing an Oracle Solaris Cluster Patch.
Apply the patch to one node in the cluster at a time. When applying a nonrebooting patch, you do not need to first the node that is receiving the patch.
# patchadd -M patch-dir patch-id
Specifies the directory location of the patch.
Specifies the patch number of a given patch.
# showrev -p | grep patch-id
# /usr/cluster/bin/scversions
You will see one of the following results:
Upgrade commit is needed. Upgrade commit is NOT needed. All versions match.
# scversions -c
Note - Running scversions will cause one or more CMM reconfigurations, depending on the situation.
Example 11-3 Applying a Nonrebooting Oracle Solaris Cluster Patch
# patchadd -M /tmp/patches 234567-05 ... # showrev -p | grep 234567-05 # scversions Upgrade commit is needed. # scversions -c
See Also
If you need to back out a patch, see Changing an Oracle Solaris Cluster Patch.
Perform this task to apply patches in single-user mode with failover nodes. This patch method is required if you use the Oracle Solaris Cluster Data Service for Solaris Containers in a failover configuration with Oracle Solaris Cluster software.
# clquorum show
# clquorum add new-didname
# clquorum remove old-didname
To learn how to run the pgre commands, you need to install and use the Diagnostic Toolkit (SUNWscdtk) package provided by Oracle Support.
Note - If you accidentally scrub reservation keys on your active quorum device, you must remove and re-add the quorum device to put new reservations keys on your quorum device.
# clresourcegroup evacuate -n node1
# clresourcegroup offline resourcegroupname
# clresource disable resourcename
# clresourcegroup unmanage resourcegroupname
# cldevicegroup offline cldevicegroupname
# cldevicegroup disable devicegroupname
# reboot -- -x
# svcs -x
# cluster status
For all disks in the disk set, run the following command: /usr/cluster/lib/sc/scsi -c disfailfast -d /dev/did/rdsk/d#s2.
If keys are listed, release them by running the following command: /usr/cluster/lib/sc/scsi -c release -d /dev/did/rdsk/d#s2.
When you finish releasing the reservation keys, skip Step #12 and proceed to Step #13.
# /usr/cluster/lib/sc/scsi -c inkeys -d /dev/did/rdsk/didnames2
# /usr/cluster/lib/sc/scsi -c scrub -d /dev/did/rdsk/didnames2
# metaset -s disksetname -C take -f
# mount device mountpoint
# init s
# zoneadm -z zonename halt
# zoneadm -z zonename boot -s
# reboot
# svcs -a
The first node is now ready.
# clresourcegroup evacuate -n node2
# zoneadm -z zonename detach
# init s
# zoneadm -z zonename halt
# zoneadm -z zonename boot -s
# zoneadm -z zonename attach -F
# reboot
# /usr/cluster/bin/scversions
You will see one of the following results:
Upgrade commit is needed. Upgrade commit is NOT needed. All versions match.
# scversions -c
Note - Running scversions will cause one or more CMM reconfigurations, depending on the situation.
To remove an Oracle Solaris Cluster patch that you've applied to your cluster, you must first remove the new Oracle Solaris Cluster patch, and then reapply the previous patch or update release. To remove the new Oracle Solaris Cluster patch, see the following procedures. To reapply a previous Oracle Solaris Cluster patch, see one of the following procedures:
Note - Before applying an Oracle Solaris Cluster patch, check the patch's README file.
# patchrm patchid
# patchrm patchid
# reboot