The Live Upgrade feature of the Solaris operating environment enables you to maintain multiple operating system images on a single system. An image---called a boot environment, or BE---represents a set of operating system and application software packages. The BEs might contain different operating system and/or application versions.
On a system with the Solaris Live Upgrade software, your currently booted OS environment is referred to as your active, or current BE. You have one active, or current BE; all others are inactive. You can perform any number of modifications to inactive BEs on the same system, then boot from one of those BEs. If there is a failure or some undesired behavior in the newly booted BE, Live Upgrade software makes it easy for you to fall back to the previously running BE.
Live Upgrade software includes a full suite of commands, listed below and described in individual man pages, which implement all of the Live Upgrade features and functions.
The following are some of the tasks you can perform with Live Upgrade software:
The Live Upgrade software supports upgrade from any valid Solaris installation medium, including a CD-ROM, an NFS or UFS directory, or a flash archive. (See flash_archive(4) for a description of the flash archive feature.)
In simplest terms, a BE, for Live Upgrade, consists of the disk slice containing a root file system and the file system/device (usually disk) slice entries specified in vfstab(4). This set of slices is not limited to a single disk. This means that you can have multiple BEs on a single device, or have a BE spread across slices on multiple devices. The BE includes any non-global zones(5) that might exist on the system as well. If any of the non-global zones in the BE have separate file systems, the disk slices making up these file systems are considered part of the BE.
The minimal requirement for a Live Upgrade BE is the same as for any Solaris boot environment: you must have root (/) and usr filesystems (which might both reside on /). All filesystems except for /, /usr, /var, and /opt can be shared among multiple BEs, if you choose.
Each BE must have a unique copy of the file systems that contain the OS---/, /usr, /var, and /opt. For Live Upgrade purposes, these are referred to as non-shareable (sometimes referred to as critical) file systems. With other file systems, such as /export or /home, you have the option of copying the files to a new BE or, the default, sharing them among BEs. These are referred to as shareable file systems. A BE is made up of a unique copy of one or more non-shareable file systems and zero or more copies of shareable file systems.
Live Upgrade commands support an option (-X) that enables XML output. Characteristics of the XML are specified in a DTD shipped with the product. XML output enables programmatic parsing of portions of the command output.
Live Upgrade supports the notion of a BE description, an optional attribute of a BE. A BE description can be of any length and format. It might be a text string or a binary file. See ludesc(1M) for details.
Below is an example set of steps that you might follow in the use of Live Upgrade software. This example is by no means exhaustive of the possibilities of the use of the Live Upgrade software.
After you have created additional BEs, you can use a BE other than the current BE as the source for a new BE. Also, you can create an empty BE onto which you can later install a flash archive.
The following is a summary of Live Upgrade commands. All commands require root privileges.
luactivate(1M), lucancel(1M), lucompare(1M), lucreate(1M), lucurr(1M), ludelete(1M), ludesc(1M), lufslist(1M), lumake(1M), lumount(1M), lurename(1M), lustatus(1M), luupgrade(1M), lutab(4), zones(5)
Correct operation of Solaris Live Upgrade requires that a limited set of patch revisions be installed for a given OS version. Before installing or running Live Upgrade, you are required to install the limited set of patch revisions. Make sure you have the most recently updated patch list by consulting http://sunsolve.sun.com. Search for the infodoc 72099 on the SunSolve web site.
It is possible for an operating system upgrade to remove installed patches. Prior to such an upgrade, use analyze_patches, as described in luupgrade(1M), to determine which, if any, patches will be removed.
For versions of the Solaris operating system prior to Solaris 10, Live Upgrade supports the release it is distributed on and up to three marketing releases back. For example, if you obtained Live Upgrade with Solaris 9 (including a Solaris 9 upgrade), that version of Live Upgrade supports Solaris versions 2.6, Solaris 7, and Solaris 8, in addition to Solaris 9. No version of Live Upgrade supports a Solaris version prior to Solaris 2.6.
Starting with version 10 of the Solaris operating system, Live Upgrade supports the release it is distributed on and up to two marketing releases back. For example, if you obtained Live Upgrade with Solaris 10 (including a Solaris 10 upgrade), that version of Live Upgrade supports Solaris 8 and Solaris 9, in addition to Solaris 10.