If you add another quorum server as a temporary quorum device, the
quorum server can run the same software version as the quorum server that
you are upgrading, or it can run the 3.3 5/11 version of Quorum
Server software.

Unconfigure the quorum server from each cluster that uses the quorum server.

phys-schost# clquorum remove quorumserver

From the quorum server to upgrade, verify that the quorum server no longer
serves any cluster.

quorumserver# clquorumserver show +

If the output shows any cluster is still served by the quorum
server, unconfigure the quorum server from that cluster. Then repeat this step to confirm
that the quorum server is no longer configured with any cluster.

See Patches and Required Firmware Levels in the Oracle Solaris Cluster 3.3 5/11 Release Notes for the location of patches and installation instructions.

If you use role-based access control (RBAC) instead of superuser to access the cluster nodes, ensure that you can assume an RBAC role that provides authorization for all Oracle Solaris Cluster commands. This series of upgrade procedures requires the following Oracle Solaris Cluster RBAC authorizations if the user is not superuser:

Perform this procedure to upgrade the Oracle Solaris OS, volume-manager software, and Oracle
Solaris Cluster software by using the live upgrade method. The Oracle Solaris
Cluster live upgrade method uses the Oracle Solaris Live Upgrade feature. For information about
live upgrade of the Oracle Solaris OS, refer to the following Oracle Solaris
documentation:

Note - The cluster must already run on, or be upgraded to, at least
the minimum required level of the Oracle Solaris OS to support upgrade to
Oracle Solaris Cluster 3.3 5/11 software. See Supported Products in Oracle Solaris Cluster 3.3 5/11 Release Notes for more information.

In the boot parameters screen, use the arrow keys to select the
kernel entry and type e to edit the entry.

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.

Add -x to the command to specify that the system boot into noncluster
mode.

Press Enter to accept the change and return to the boot parameters screen.

The screen displays the edited command.

GNU GRUB version 0.95 (615K lower / 2095552K upper memory)
+----------------------------------------------------------------------+
| root (hd0,0,a) |
| kernel /platform/i86pc/multiboot -x |
| 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.-

Type b to boot the node into noncluster mode.

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 -x option to the kernel boot parameter command.

If the instruction says to run the init S command, shut down the system
then change the GRUB kernel boot command to /platform/i86pc/multiboot -sx instead.

The upgraded BE now runs in noncluster mode.

Upgrade any software applications that require an upgrade and for which you cannot
use Oracle Solaris Live Upgrade.

Note - If an upgrade process directs you to reboot, always reboot into noncluster
mode, as described in Step 23, until all upgrades are complete.

After all nodes are upgraded, boot the nodes into cluster mode.

Shut down each node.

phys-schost# shutdown -g0 -y -i0

When all nodes are shut down, boot each node into cluster mode.

On SPARC based systems, perform the following command:

ok boot

On x86 based systems, perform the following commands:

When the GRUB menu is displayed, select the appropriate Oracle Solaris entry and press
Enter. The GRUB menu appears similar to the following:

This example shows a live upgrade of a cluster node. The example
upgrades the SPARC based node to the Oracle Solaris 10 OS, Oracle Solaris
Cluster 3.3 5/11 framework, and all Oracle Solaris Cluster data services that support
the live upgrade method. In this example, sc31u4 is the original boot environment
(BE). The new BE that is upgraded is named sc33u1 and uses the mount
point /sc33u1. The directory /net/installmachine/export/solaris10/OS_image/ contains an image of the Oracle Solaris
10 OS. The installer state file is named sc33u1state.

The following commands typically produce copious output. This output is shown only where
necessary for clarity.

At this point, you might upgrade data-service applications that cannot use the live
upgrade method, before you reboot into cluster mode.

Troubleshooting

DID device name errors - During the creation of the inactive BE, if you receive an
error that a file system that you specified with its DID device name,
/dev/dsk/did/dNsX, does not exist, but the device name does exist, you must specify
the device by its physical device name. Then change the vfstab entry on the
alternate BE to use the DID device name instead. Perform the following steps:

1) For all unrecognized DID devices, specify the corresponding physical device names as arguments to the -m or -M option in the lucreate command. For example, if /global/.devices/node@nodeid is mounted on a DID device, use lucreate -m /global/.devices/node@nodeid:/dev/dsk/cNtXdYsZ:ufs [-m…] -n BE-name to create the BE.

2) Mount the inactive BE by using the lumount -n BE-name -m BE-mount-point command.

3) Edit the /BE-name/etc/vfstab file to convert the physical device name, /dev/dsk/cNtXdYsZ, to its DID device name, /dev/dsk/did/dNsX.

Mount point errors - During creation of the inactive boot environment, if you receive an
error that the mount point that you supplied is not mounted, mount the
mount point and rerun the lucreate command.

Global-devices file-system errors - After you upgrade a cluster on which the root disk is
encapsulated, you might see one of the following error messages on the cluster
console during the first reboot of the upgraded BE:

mount: /dev/vx/dsk/bootdg/node@1 is already mounted or /global/.devices/node@1 is busy Trying to remount /global/.devices/node@1 mount: /dev/vx/dsk/bootdg/node@1 is already mounted or /global/.devices/node@1 is busy

WARNING - Unable to mount one or more of the following filesystem(s): /global/.devices/node@1 If this is not repaired, global devices will be unavailable. Run mount manually (mount filesystem...). After the problems are corrected, please clear the maintenance flag on globaldevices by running the following command: /usr/sbin/svcadm clear svc:/system/cluster/globaldevices:default

You can choose to keep your original, and now inactive, boot environment for
as long as you need to. When you are satisfied that your
upgrade is acceptable, you can then choose to remove the old environment or
to keep and maintain it.

If you detached a plex to use as the inactive BE, reattach the plex and synchronize the mirrors. For more information about working with a plex, see the appropriate version of the procedure Example of Detaching and Upgrading One Side of a RAID-1 Volume (Mirror) for your original Oracle Solaris OS versions.

You can also maintain the inactive BE. For information about how to maintain
the environment, see the appropriate version of the procedure Maintaining Solaris Live Upgrade Boot Environments (Tasks), for your original
Solaris OS version.