[ Team LiB ] Previous Section Next Section

Solaris Live Upgrade

With Solaris Live Upgrade, you can create separate, inactive boot environments without affecting the currently running system. After you have created the boot environment (BE) and installed it, you activate that BE and reboot. The original BE remains available, and you can revert to it with a simple reboot.

With Solaris Live Upgrade you can do the following tasks.

  • Upgrade a system.

  • Change the disk configuration on the new boot environment to different file system types, sizes, and layouts.

  • Maintain numerous boot environments with different images. For example, you can create a boot environment that contains current patches and create a boot environment that contains an Update release.

To use the Solaris Live Upgrade process, you perform the following tasks.

  • Create a BE.

  • Copy critical file systems to the BE.

  • Upgrade the BE.

  • Activate the BE.

  • Reboot the system.

Describing the Solaris Live Upgrade method is beyond the scope of this book. Refer to the Solaris 9 Installation Guide for complete instructions.

Solaris Live Upgrade Commands

The Solaris Live Upgrade feature provides the commands listed in Table 26.

Table 26. Solaris Live Upgrade Commands

Command

Description

live_upgrade(5)

Overview of the Live Upgrade feature.

lu(1M)

FLMI-based interface to Live Upgrade functions.

luactivate(1M)

Activate a boot environment.

lucancel(1M)

Cancel a scheduled Live Upgrade copy or create procedure.

lucompare(1M)

Compare boot environments.

lucreate(1M)

Create a new boot environment.

lucurr(1M)

Display the name of the current active boot environment.

ludelete(1M)

Delete a boot environment.

ludesc(1M)

Display or set boot environment description.

lufslist(1M)

List configuration of a boot environment.

lumake(1M)

Populate a boot environment.

lumount(1M)

Mount all file systems in a boot environment.

lurename(1M)

Rename a boot environment.

lustatus(1M)

Display status of boot environments.

lutab(4)

List boot environments.

luumount(1M)

Unmount all file systems in a boot environment.

luupgrade(1M)

Install, upgrade, and perform other functions on software on a boot environment.

Creating a Boot Environment

You can create one or more boot environments and copy critical file systems from an active BE to the new BE. You can reorganize the disk if necessary and customize file systems.

You can create a boot environment on an unused partition on an existing hard drive or on a separate hard drive.

Creating a BE can be a bit tricky. Refer to the Solaris 9 Installation Guide for complete instructions. This section provides a single example. Describing the complete process for creating all of the possible boot environment configurations is beyond the scope of this book.

Solaris Live Upgrade distinguishes between critical file systems and shareable file systems. Critical file systems required by the Solaris Operating Environment are separate mount points in the vfstab file of the active and inactive boot environments. Examples are root (/), /usr, /var, or /opt. You always copy these file systems from the source to the inactive BE.

Live Upgrade duplicates only file systems that are specific to the operating environment configuration. Live Upgrade considers operating environment file systems critical. When you create a new boot environment, Live Upgrade makes sure that these critical file systems are copied to different slices and that Live Upgrade updates the /etc/vfstab in the new boot environment accordingly. By contrast, shareable file systems are those that need not be duplicated, for example, user files such as those in the /export directory. Thus, when you create a boot environment, the /etc/vfstab file in the new boot environment does not update such shared file systems. Instead, it points to the same file system as the original boot environment.

The sharing of swap is a special circumstance. All swap slices are shared by default, but you can specify a destination directory for swap and copy the swap slice. A swap slice is not required.

Part of creating a new BE involves copying critical file systems to another slice. You may need to prepare the disk before you create the new BE. Check the disk to make sure it is formatted properly.

  • Identify slices large enough to hold the file systems to be copied. If these slices do not exist on the disk on which you intend to create the new boot environment, you must create them manually with either the format(1M) or fmthard(1M) command.

  • Identify file systems that contain directories that you want to share among boot environments.

NOTE. The slice must not be mounted or listed in the /etc/vfstab file.


You can use the (undocumented) /usr/lib/lu/ludevices command to list available spare partitions. In the following example, partition c1t0d0s4 is available for use as a BE.


# /usr/lib/lu/ludevices
/dev/dsk/c1t0d0s4 9216144
#

You can use the /usr/lib/lu/ludevices -x 9 option to display complete debugging information for all devices on a system.

Use the following steps to create a boot environment on a free slice on an existing disk.

  1. Become superuser.

  2. Type lu and press Return.

    The Live Upgrade character screen is displayed.

  3. Use the arrow keys to highlight the Create menu option and press F3.

    The Live Upgrade Create screen is displayed.

  4. Press the F2 function key (CHOICE) to choose an available slice for the BE.

    The slice you chose is displayed in the root (/) Device field.

  5. Press F3 to save the changes.

    The slice you specified for the BE you specified is activated and formatting begins. Formatting takes some time. When the process is complete, the Live Upgrade character screen is displayed and shows the message Live Upgrade Create operation completed successfully.

The following example shows the progress message for successfully creating a BE named s9beta on slice c1d0t0s4 on the same disk as the active BE.


Updating system configuration files.

Creating configuration for boot environment <s9beta>.

**********************************************************************

Beginning process of creating Boot Environment <s9beta>.
No more user interaction is required until this process is complete.

**********************************************************************

Creating file systems on BE <s9beta>.
Creating <ufs> file system on </dev/dsk/c1t0d0s4>.
Mounting file systems for BE <s9beta>.
Calculating required sizes of file systems for BE <s9beta>.
Populating file systems on BE <s9beta>.
Copying file system contents to BE <s9beta>.
Copying of file system / directory </> is in progress...



Upgrading a Boot Environment

After you have created a BE, it remains unchanged until you are ready to upgrade it. You can upgrade the BE at any time. The upgrade does not affect any files in the active BE. When you are ready, you activate the new release and reboot the system.

Instead of upgrading a BE, you can install a Flash archive on a BE. The Flash installation feature enables you to create a single reference installation of the Solaris Operating Environment, including third-party software, on a master system. You can then replicate that installation on a number of clone systems. The inactive BE is considered a clone. See "Flash Installation" on page 102 for more information about the Flash installation feature.

Activating a Boot Environment

When the inactive BE is configured and upgraded, you use the following procedure to activate the new boot environment.

  1. Become superuser.

  2. Type lu and press Return.

    The Live Upgrade character screen is displayed.

  3. Choose the Activate menu item and press F3.

    The Activate a Boot Environment window is displayed.

  4. Type the name of the boot environment you want to activate and press F3.

    The BE you specified is activated.

  5. Press F6 to exit the screens, then use the arrow keys to scroll down to the Exit menu item and press Return.

    The Live Upgrade program is terminated.

  6. Type init 6 and press Return.

    The system is rebooted, using the newly activated BE.

Alternatively, you can use the luactivate command to activate a BE.

    [ Team LiB ] Previous Section Next Section