Solaris Live Upgrade Software Overview
The process of performing an upgrade to the Solaris 8 or 9 OE and other system software or other routine patch maintenance can impact availability of systems for normal operations. Systems running mission-critical operations, such as those in data centers, cannot afford system down-time for patch application or software upgrades. Solaris Live Upgrade software allows upgrading Solaris 2.6, Solaris 7, 8, or Solaris 9 OE or general maintenance on an alternative boot environment (BE) without bringing the system down. Solaris Live Upgrade software also provides a mechanism to fallback to the previous state if a problem occurs with the software upgrade or patch application.
Solaris Live Upgrade software provides a framework to create, manage, manipulate, and activate multiple BEs on the same system. Live Upgrade software provides support for advanced file system operations such as splitting, merging, or sharing file systems between BEs. The software also allows migrating file systems from a storage device to another device. Live Upgrade works with mirrors and other disk layouts. Live Upgrade enables you to maintain multiple installations of software packages including the Solaris OE, which will share user data file systems. These inactive BEs can be used as a backup for fault tolerance.
Solaris Live Upgrade has integrated Solaris Flash technology. This functionality provides a mechanism to install the Flash archive on an inactive BE, while the active BE is fully functional and unaffected by the installation. When satisfied, the administrator can migrate to the other environment by rebooting to that environment.
Solaris Live Upgrade software can be used to manage patch updates. Patches can be applied to an inactive BE and, after they have been tested, be rolled out to the active BE. This process helps in reducing the system down-time. In addition, this process makes it less difficult to fallback to a previous state with a reboot. This process also helps in reducing service outages associated with the normal test and evaluation process required when introducing a new version of a patch to an operating environment.
Live Upgrade supports software migration and falling back to a previous active BE if a failure occurs. Live Upgrade also provides a mechanism to analyze the reasons for failure. Live Upgrade can also synchronize the differences between the active and inactive BEs. This feature helps to prevent any losses while the system is in the upgrade or fallback process. FIGURE 4 illustrates the differentiation of active and inactive BEs.
FIGURE 4 Active and Inactive (Alternate) Boot Environments
A BE is a grouping of file systems and their associated mount points. These BEs can be created on the same disk or on separate disks; however, a single root "/" file system is the recommended layout for Solaris OE (Howard, 2000). The active BE is the BE that is currently booted, and all others are considered inactive or alternate BEs.
Solaris Live Upgrade Software Process
Solaris Live Upgrade software provides functionality for software upgrade, system maintenance, and installation of a Flash archive. Live Upgrade has the following operational steps:
Creating a BE
Upgrading an inactive BE
Installing Solaris Flash archive on inactive BE
Activating an inactive BE
Falling back to original BE
Creating a Boot Environment
Live Upgrade provides mechanisms to distinguish between critical file systems and shareable file systems. Critical file systems are those required by Solaris OE and have separate entries in the vfstab file of the active and inactive BEs. For example, root (/), /usr, /var or /opt. These file systems are always copied from the active to the inactive BE. Shareable file systems are user defined (for example, /export) that contain the same mount point and device entry in the vfstab file in both the active and inactive BEs (FIGURE 5). After defining an alternative BE using the lucreate(1M) command, critical file systems will be copied over. Refer to the Solaris 9 Installation Guide for detailed instructions.
FIGURE 5 Creating an Inactive Boot Environment
Upgrading a Boot Environment
Once an inactive BE has been created, it remains unchanged and is identical to the active BE. Solaris Live Upgrade software provides a mechanism to perform a software upgrade or patch application on the inactive BE with the luupgrade(1M) command. The upgrade process will not affect any files in the active BE. FIGURE 6 illustrates an upgrade of an inactive BE.
Live Upgrade runs as a background process on the active BE. To minimize impact on the active BE, Live Upgrade provides a sophisticated resource manager to allow administrators to tailor Live Upgrade's usage of the active BE. This management interface can be used to further enhance the mission-critical response times of the active BE, while the inactive BE is upgraded or flashed. The constraints are controlled with the /etc/default/lu configuration file.
FIGURE 6 Upgrading an Inactive Boot Environment
Installing a Solaris Flash Archive on an Inactive Boot Environment
The latest release of Live Upgrade, bundled with Solaris 9 OE, provides a mechanism to install a Solaris Flash archive. For example, a Flash archive containing the Solaris 9 OE and other software can be installed on an inactive BE while a Solaris 2.6 OE is up and live on the active BE. When you install the Solaris Flash archive on a system, all the files in the archive are copied to that system and a new software version is installed without affecting the active BE. But, unlike an upgrade that merges files, installing a Solaris Flash archive overwrites the files as an initial installation would. FIGURE 7 illustrates an installation of a Solaris Flash archive on an inactive BE. Refer to the Solaris 9 Advanced Installation Guide for more details on installing a Flash archive with Live Upgrade.
FIGURE 7 Installing a Solaris Flash Archive
Activating an Inactive Boot Environment
Solaris Live Upgrade software provides a mechanism to activate any inactive BE. Once the upgrade process is complete, the inactive BE can be activated by the luactivate(1M) command. Now the target BE will be activated and will become the active BE after reboot. Solaris Live Upgrade performs file synchronization when activating the inactive BE. FIGURE 8 illustrates a switch after activation of an inactive BE.
FIGURE 8 Activating an Alternative Boot Environment
Solaris Live Upgrade software provides a mechanism to fallback if a failure occurs or if you are not satisfied with the upgrade process. The software also provides functionality to immediately fallback to the original BE with an activation using the luactivate(1M) command and then rebooting. The upgraded BE will be saved and Live Upgrade provides functionality to analyze the failure. The process to boot from a media device is first to mount the root file system, then run the luactivate on the target fallback BE, and finally reboot. FIGURE 9 illustrates the switch that is made when you reboot to fallback. Refer to the Solaris Advanced Installation Guide for more details on the Live Upgrade fallback mechanism.
FIGURE 9 FallBack to the Original Boot Environment