All of the installation methods reviewed so far require an existing system to be brought to run level 0 in order to start the installation process. In addition, any system undergoing upgrade can expect to be in single-user mode for a matter of hours while distribution files are copied and third-party software is reinstalled. This kind of downtime may be unacceptable for a production server. While many departmental servers will no doubt have a backup server, which can take their place during upgrading and installation testing, many high-end servers, such as the StarFire, are logically divided into domains that run on a single system. A second standby system may not be available to replace a high-end server just for the purpose of an upgrade. While it’s possible to configure each domain individually, many sites would prefer to keep all servers at the same release level.
In such cases, Solaris now offers a Live Upgrade facility. This allows a separate boot environment to be created, with the distribution of the new operating system files installed to an alternative location. Once the installation of the new boot environment has been completed, the system needs only to be rebooted once to allow the system to run the new operating environment. If the new boot environment fails for some reason (such as a missing driver or hardware incompatibility), the old boot environment can be reinstated as the default, and the system can be rebooted into its previous state. This allows operations to resume as quickly as possible in the event of a failure.
One of the nice features of Live Upgrade is that the file system layout and configuration can be quite different from your existing installation. This allows you to fine-tune your existing settings before upgrading. For example, if print and mail jobs have continually caused the /var partition to overfill on a regular basis, the size of the /var partition can be increased in the new boot environment. Changes can be made to the /, /usr, /var, and /opt partitions. Other file systems continue to be shared between the existing and new boot environments unless otherwise specified.
In order to create a new boot environment, a separate partition must be identified and formatted before the procedure can begin. This partition must have sufficient disk space to install the new boot environment. The current contents of /, /usr, and /opt are then copied to the new partition prior to upgrade. Alternatively, if you have a second disk installed on the system, the existing files can be copied to the appropriate slices on the new disk. Once these files are in place, the new boot environment is ready to be upgraded. All of these processes can occur without interfering with the current boot environment.
Upgrading typically involves overwriting the files stored on the new boot environment in /, /usr, and /opt. Once this has been completed, the new boot environment can be activated and the system booted into the new environment.
Live Upgrade operates through a terminal-based menu that allows the following operations to be performed:
Activate Activates a newly installed boot environment.
Cancel Cancels a file transfer operation.
Compare Checks for differences between the new and current boot environments.
Copy Begins a file transfer operation.
Create Initializes a new boot environment.
Current Prints the name of the current boot environment.
Delete Uninstalls a boot environment.
List Displays the file systems in a boot environment.
Rename Modifies the name of a new or existing boot environment.
Status Prints the condition of any boot environment.
Upgrade Begins the upgrade process on the new boot environment.
Help Prints the help menu.
Exit Quits the program.