Creating and Administering Oracle® Solaris 11.2 Boot Environments

Exit Print View

Updated: July 2014
 
 

About Boot Environments and Datasets

A boot environment is a bootable instance of the Oracle Solaris operating system image plus any other application software packages installed into that image. System administrators can maintain multiple boot environments on their systems, and each boot environment can have different software versions installed.

Upon the initial installation of the Oracle Solaris release onto a system, a boot environment is created. You can use the beadm command to create and administer additional boot environments on your system. In addition, the Package Manager GUI provides some options for managing boot environments. Exactly one boot environment can be active at a time.

In terms of file structure, each boot environment consists of a root dataset and, optionally, other datasets nested under that root dataset.


Note -  A dataset is a generic name for ZFS entities such as clones, file systems, or snapshots. In the context of boot environment administration, the dataset more specifically refers to the file system specifications for a particular boot environment.

For more information about ZFS datasets, see ZFS Terminology in Managing ZFS File Systems in Oracle Solaris 11.2 .


The following example shows the root dataset for a sample boot environment named BE1: rpool/ROOT/BE1. In this example, rpool is the name of the storage pool (zpool). The pool was previously set up and therefore already exists on the system. ROOT is a special dataset that was created the installer. The rpool/ROOT dataset is reserved exclusively for use by boot environment root datasets. The root dataset and any other datasets nested beneath it are included in the BE1 boot environment.

# zfs list
NAME                    USED  AVAIL  REFER  MOUNTPOINT
rpool                  42.5G  24.4G  4.65M  /rpool
rpool/ROOT             25.6G  24.4G    31K  legacy
rpool/ROOT/BE1         8.91M  24.4G  4.17G  /
rpool/ROOT/BE1/var     3.96M  24.4G   276M  /var

Shared datasets, in contrast, are located outside the root dataset area of each boot environment. Shared datasets are user-defined directories, such as /export. An example of a shared dataset might be a dataset where user accounts are kept; these user accounts can be accessed regardless of which boot environment is booted.

See the following example:

# zfs list
NAME                      USED  AVAIL  REFER  MOUNTPOINT
rpool                    42.5G  24.4G  4.65M  /rpool
rpool/ROOT               25.6G  24.4G    31K  legacy
rpool/ROOT/BE1           8.91M  24.4G  4.17G  /
rpool/ROOT/BE1/var       3.96M  24.4G   276M  /var
tank                      450K   457G    18K  /export
tank/home                 315K   457G    21K  /export/home

Note -  For further information, see the zpool (1M) and the zfs (1M) man pages. See, also, Querying ZFS Storage Pool Status in Managing ZFS File Systems in Oracle Solaris 11.2 .

Snapshots and boot environments can be automatically created by utilities other than the beadm command. For example, the pkg command may automatically create a clone of a boot environment when you install or update packages using that command.

The beadm command should always be used to manipulate boot environments. For example, use the beadm command to make a reference copy of a boot environment before making changes. Even though the beadm command is based on zfs technology, it has additional functionalities specific to managing a BE's root dataset and the datasets under the root datasets. And, the command also has special logic to track and manage the associations between BEs within a global zone, within multiple zones, or across multiple zones. For more information, see the beadm (1M) man page.