Managing Solaris Operating Environment Upgrades With Live Upgrade 2.0
Performing an upgrade of an operating system and the associated system software and unbundled products is one of the most time-consuming and error prone tasks facing system administrators. Further, most mission-critical or datacenter systems cannot afford to be taken down for any length of time to perform and test patches and to do software upgrades.
Live Upgrade (LU) provides a mechanism to upgrade and manage multiple on-disk copies of the Solaris™ Operating Environments (Solaris OEs). Using LU, you can upgrade an environment without taking the system down. LU provides a framework to upgrade and work within these multiple on-disk environments and reboots into the new Solaris OE after you complete the changes to the on-disk software images.
LU can also provide a safe "fall-back" environment to quickly recover from upgrade problems or failures. Additionally, you can use LU for patch testing and rollout, as well as sidegradesthe large scale reorganization of on-disk OEs.
This article will provide the following:
An introduction to LU concepts and terminology
An example Solaris OE upgrade
Uses of LU beyond Solaris OE upgrades
This article is the first of a three part series; Part 2 will explain using LU 2.0 with a logical volume manager, such as VERITAS Volume Manager (VxVM) or Solstice DiskSuite™ software. Part 3 of this series will examine using LU with JumpStart™ technology and Web Start Flash.
Live Upgrade Framework and Terminology
LU 2.0 was introduced with the Solaris 8 10/01 OE (Update 6). On the Solaris 8 10/01 OE media, the LU 2.0 packages are located in the EA (Easy Access) directory of the CD marked "Solaris 8 Software 2 of 2." With Solaris 8 01/02 OE (Update 7), LU 2.0 was moved from the EA area to the product area and is bundled with the OE packages.
LU 2.0 was also released as a Web Release (08/01) which is available at http://www.sun.com/solaris/liveupgrade. LU 2.0 works with, and can be installed on, all releases of the Solaris OE versions 2.6, 7, and 8. LU 2.0 is the first general-availability release of LU. The use of LU 2.0 is recommended over the use of LU 1.0, and LU 1.0 must never be used in a production environment or on a production server.
To upgrade to a particular release of the Solaris OE, you must install the version of LU that is bundled with the release of the Solaris OE to which you want to upgrade. Then, use that version of LU to upgrade to the desired release of the Solaris OE.
For example, if you are running the Solaris 2.6 OE and you want to upgrade to the Solaris 8 10/01 OE, you would install LU from the Solaris 8 10/01 OE distribution onto the Solaris 2.6 OE system, and then use the Solaris 8 10/01 OE version of LU to upgrade the system to the Solaris 8 10/01 OE.
For the SPARC™ platform edition of the Solaris OE, you can use LU 2.0 to upgrade from Solaris 2.6 OE and later versions. For the Intel platform edition of the Solaris OE, you can use LU 2.0 to upgrade from Solaris 2.7 OE Intel platform edition and later versions. For both the SPARC and Intel platform editions, the minimum supported version of the Solaris OE to which you can upgrade is Solaris 8 01/01 OE (Update 3).
To upgrade to the Solaris 8 01/01 OE (Update 3), the Solaris 8 04/01 OE (Update 4), or the Solaris 8 07/01 OE (Update 5), install and use the LU 2.0 08/01 Web Release at http://www.sun.com/solaris/liveupgrade.
To upgrade to the Solaris 8 10/01 OE (Update 6), install and use the LU 2.0 10/01 OE located in the EA area of the Solaris 8 10/01 OE distribution.
To upgrade to the Solaris 8 01/02 OE (Update 7), install and use the LU 2.0 01/02 software that is integrated into the operating system package area.
The concept of a boot environment (BE) is central to the operation and implementation of LU. A BE is a group of file systems and their associated mount points. LU uses the term "boot environment" instead of "boot disk" because a BE can be contained on one disk or can be spread over several disks. LU provides a command-line interface and a character-based user interface (CUI) to create, populate, manipulate, and activate BEs.
The CUI has a few restrictions. The CUI is neither localized nor internationalized. Also, the existing CUI does not provide access to the full functionality of LU.
You can create BEs on separate disks or you can create them on the same disk; however, a single root (/) file system is the recommended layout for the Solaris OE.
The active BE is the one that is currently booted and active; all other defined BEs are considered inactive. Inactive BEs are also referred to as alternate boot environments (ABEs).
BEs can be completely self-contained, or they can share file systems. Only file systems that do not contain any OE-specific data and that must be available in any OE should be shared among BEs. For example, users' home directories on the /export/home file system would be a good candidate to share among several BEs.
If you used multiple file systems for the Solaris OE, such as separate file systems for /kernel, /usr, /etc, /, etc., do not share these OE-specific file systems among BEs. In addition, do not split certain file systems from / (such as /kernel, /etc, /dev, or /devices). If you split them off onto a separate file system from /, the BE that is created may not be bootable.
Additionally, LU provides a mechanism to synchronize individual files among several BEs. This feature is especially useful for maintaining files such as /etc/passwd in one BE and then propagating changes to all BEs.
BEs created with LU may be backed up with the ufsdump or fssnap commands. Consult the man pages for information about the uses of these commands.