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:
You can make one or more copies of the currently running system.
You can upgrade to a new OS version on a second boot environment, then boot from that environment. If you choose, you can then fall back to your original boot environment or boot from yet another environment.
You can install application or OS packages to a boot environment, then boot from that environment.
You can install OS patches to a boot environment, then boot from that environment.
From a flash archive, you can install an OS to a boot environment, then boot from that environment. See flar(1M) for information on administering flash archives.
You can split and rejoin file systems in a new BE. For example, you can separate /usr, /var, and /opt from /, putting them on their own partitions. Conversely, you could join these file systems on a single partition under /.
You can mount any or all of the filesystems of a BE that is not active, compare the files in any pair of BEs, delete or rename a BE, and perform other administrative tasks.
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.
You create a new BE, using lucreate(1M). The first time you create a BE on a given system, you must designate the current Solaris operating environment as a BE (give it a name). You then specify a name and a set of device (disk) slices you want to use for the new BE. The lucreate command copies the contents of the current Solaris operating environment (now a BE) to the new BE.
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.
Using luupgrade(1M), you upgrade the OS version on your new BE (or on yet another BE you created with lucreate). The luupgrade enables you to upgrade an OS (from any valid Solaris installation medium, including a flash archive), add or remove packages (OS or application), and add or remove patches.
You use luactivate(1M) to make the new BE bootable. The next time you reboot your system, you will come up in the new BE.
Using lucompare(1M), you compare the system files on two different BEs. This utility gives you a comprehensive list of the files that have differences.
Upon booting a new BE, you discover a failure or some other undesirable behavior. Using the procedure specified in luactivate, you can fall back to the previous BE.
Using ludelete then lucreate, you reassign file systems on the now-deleted BE to different disk slices. You separate /opt and /var from / on the new BE. Also, you specify that swap be spread over slices on multiple disks.
The following is a summary of Live Upgrade commands. All commands require root privileges.
FMLI-based interface for creating and administering BEs. No longer recommended for customer use.
Designate a BE as the BE to boot from upon the next reboot of the system.
Cancel a previously scheduled operation.
Compare the contents of two BEs.
Create a BE.
Display the name of the current BE.
Delete a BE.
Add or change BE descriptions.
List the file systems on a specified BE.
Re-create a BE based on the active BE.
Mount, unmount file systems of a specified BE.
Rename a BE.
For all BEs on a system, report on whether a BE is active, active upon the next reboot, in the midst of a copy operation, and whether a copy operation is scheduled for it.
Upgrade an OS and install application software on a BE. Such software includes flash archives, complete OS installations, OS and application packages, and OS patches.
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.