Migrating From a UFS File System to
a ZFS Root Pool

If you create a boot environment from the currently running system,
the lucreate command copies the UFS root (/)
file system to a ZFS root pool. The copy process might take time, depending
on your system.

When you are migrating from a UFS file system, the source boot environment
can be a UFS root (/) file system on a disk slice. You
cannot create a boot environment on a UFS file system from a source boot
environment on a ZFS root pool.

Migrating From a UFS root (/)
File System to ZFS Root Pool

The following commands create a ZFS root pool and a new boot environment
from a UFS root (/) file system in the ZFS root pool.
A ZFS root pool must exist before the lucreate operation
and must be created with slices rather than whole disks to be upgradeable
and bootable. The disk cannot have an EFI label, but must be an SMI label.
For more limitations, see System Requirements and Limitations When Using Solaris Live Upgrade.

Figure 11–1 shows the zpool command that creates a root pool, rpool on
a separate slice, c0t1d0s5. The disk slice c0t0d0s0 contains
a UFS root (/) file system. In the lucreate command,
the -c option names the currently running system, c0t0d0, that is a UFS root (/) file system. The -n option assigns the name to the boot environment to be created, new-zfsBE. The -p option specifies where to place
the new boot environment, rpool. The UFS /export file
system and the /swap volume are not copied to the new
boot environment.

Figure 11–1 Migrating From a UFS File System to a ZFS Root Pool

This example shows the same commands as in Figure 11–1. The commands create a new root pool, rpool, and
create a new boot environment in the pool from a UFS root (/)
file system. In this example, the zfs list command shows
the ZFS root pool created by the zpool command. The next zfs list command shows the datasets created by the lucreate command.

The new boot environment is rpool/ROOT/new-zfsBE.
The boot environment, new-zfsBE, is ready to be upgraded
and activated.

Migrating a UFS File System With Solaris Volume Manager
Volumes Configured to a ZFS Root File System

You can migrate your UFS file system if your system has Solaris Volume
Manager (SVM) volumes. To create a UFS boot environment from an existing SVM
configuration, you create a new boot environment from your currently running
system. Then create the ZFS boot environment from the new UFS boot environment.

Overview of Solaris Volume Manager (SVM).
ZFS uses the concept of storage pools to manage physical storage. Historically,
file systems were constructed on top of a single physical device. To address
multiple devices and provide for data redundancy, the concept of a volume
manager was introduced to provide the image of a single device. Thus, file
systems would not have to be modified to take advantage of multiple devices.
This design added another layer of complexity. This complexity ultimately
prevented certain file system advances because the file system had no control
over the physical placement of data on the virtualized volumes.

ZFS storage pools replace SVM. ZFS
completely eliminates the volume management. Instead of forcing you to create
virtualized volumes, ZFS aggregates devices into a storage pool. The storage
pool describes such physical characteristics of storage device layout and
data redundancy and acts as an arbitrary data store from which file systems
can be created. File systems are no longer constrained to individual devices,
enabling them to share space with all file systems in the pool. You no longer
need to predetermine the size of a file system, as file systems grow automatically
within the space allocated to the storage pool. When new storage is added,
all file systems within the pool can immediately use the additional space
without additional work. In many ways, the storage pool acts as a virtual
memory system. When a memory DIMM is added to a system, the operating system
doesn't force you to invoke some commands to configure the memory and assign
it to individual processes. All processes on the system automatically use
the additional memory.

When migrating a system with SVM volumes, the SVM volumes are ignored.
You can set up mirrors within the root pool as in the following example.

In this example, the lucreate command with the -m option creates a new boot environment from the currently running
system. The disk slice c1t0d0s0 contains a UFS root (/) file system configured with SVM volumes. The zpool command
creates a root pool, c1t0d0s0, and a RAID-1 volume (mirror), c2t0d0s0. In the second lucreate command, the -n option assigns the
name to the boot environment to be created, new-zfsBE-name.
The -p option specifies where to place the new boot environment, rpool.