Solaris 10 10/08 Installation Guide: Custom JumpStart and Advanced Installations

Chapter 9 Installing a ZFS Root Pool With JumpStart

This chapter provides the information necessary for performing a JumpStart installation for ZFS root pool. The following sections provides planning information, profile examples, and profile keyword descriptions.

JumpStart Installation for a ZFS Root (/) File System (Overview and Planning)

This chapter provides the information for you to create a JumpStart profile to install a ZFS root pool.


Note –

If you want to install a UFS root (/) file system, all existing profile keywords work as in previous Solaris releases. For a list of UFS profile keywords, see Chapter 8, Custom JumpStart (Reference).


A ZFS specific profile must contain the pool keyword. The pool keyword installs a new root pool and a new boot environment is created by default. You can provide the name of the boot environment and you can create a separate /var dataset with existing bootenv installbe keywords and the new bename and dataset options. Some keywords that are allowed in a UFS-specific profile are not allowed in a ZFSspecific profile, such as those specifying the creation of UFS mount points.

For overall ZFS planning information, see Chapter 6, ZFS Root File System Installation (Planning), in Solaris 10 10/08 Installation Guide: Planning for Installation and Upgrade.

Limitations for a JumpStart installation for a ZFS Root Pool

Keep the following issues in mind before considering a JumpStart installation of a bootable ZFS root pool.

Table 9–1 JumpStart Limitations for ZFS Root Pools

Limitation 

Description 

For More Information 

For a JumpStart installation, you cannot use an existing ZFS storage pool to create a bootable ZFS root pool.  

You must create a new ZFS storage pool with syntax similar to the following: 


pool rpool 20G 4G 4G c0t0d0s0

The complete pool keyword line is required because you cannot use an existing pool. The bootenv keyword line is optional. If you do not use bootenv, a default boot environment is created for you. For example:


install_type initial_install
cluster SUNWCall
pool rpool 20G 4g 4g any
bootenv installbe bename newBE

pool Profile Keyword (ZFS Only)

You cannot create a pool with whole disks. 

You must create your pool with disk slices rather than whole disks. 

If in the profile you create a pool with whole disks, such as c0t0d0, the installation fails. You will receive an error message similar to the following.


Invalid disk name (c0t0d0)
 

Some keywords that are allowed in a UFS specific profile are not allowed in a ZFS specific profile, such as those specifying the creation of UFS mount points. 

 

Profile Keywords Quick Reference

You cannot upgrade with JumpStart. You must use Solaris Live Upgrade 

With Solaris Live Upgrade, you can create a copy of the currently running system. This copy can be upgraded and then activated to become the currently running system.  

Chapter 11, Solaris Live Upgrade and ZFS (Overview), in Solaris 10 10/08 Installation Guide: Solaris Live Upgrade and Upgrade Planning

JumpStart Profile Examples for a ZFS Root Pool

This section provides examples of ZFSspecific JumpStart profiles.


Note –

For the ZFS root pool to be upgradeable and bootable, you must create your pool with disk slices rather than whole disks. If in the profile you create a pool with whole disks, such as c0t0d0, you will receive an error message similar to the following.


Invalid disk name (c0t0d0)


Example 9–1 Installing a Mirrored ZFS Root Pool

install_type initial_install
cluster SUNWCall
pool newpool auto auto auto mirror c0t0d0s0 c0t1d0s0
bootenv installbe bename solaris10_6

The following list describes some of the keywords and values from this example.

install_type initial_install

The install_type keyword is required in every profile. The initial_install keyword performs an initial installation that installs a new Solaris OS in a new ZFS root pool.

cluster

The Entire Distribution software group, SUNWCall, is installed on the system. For more information about software groups, see Disk Space Recommendations for Software Groups in Solaris 10 10/08 Installation Guide: Planning for Installation and Upgrade.

pool

The pool keyword defines the characteristics of the new ZFS root pool.

newpool

Defines the name of the root pool.

auto

Specifies the size of the disks automatically. The size is determined by the size of the specified disks.

auto

The swap area is automatically sized with the auto keyword. The default size is 1/2 the size of physical memory, but no less than 512 Mbytes and no greater than 2 Gbytes. You can set the size outside this range by using the size option.

auto

The dump device is automatically sized.

mirror

The mirrored configuration of disks has the mirror keyword and disk slices specified as c0t0d0s0 and c0t1d0s0.

bootenv

installbe changes the characteristics of the default boot environment that is created during the installation.

bename

Names the new boot environment solaris10_6.



Example 9–2 Customizing the Disk Size For a ZFS Root Pool

install_type initial_install
cluster SUNWCall
pool newpool 80g 2g 2g mirror any any
bootenv installbe bename solaris10_6

The following list describes some of the keywords and values from this example.

install_type initial_install

The install_type keyword is required in every profile. The initial_install keyword performs an initial installation that installs a new Solaris OS in a new ZFS root pool.

cluster

The Entire Distribution software group, SUNWCall, is installed on the system. For more information about software groups, see Disk Space Recommendations for Software Groups in Solaris 10 10/08 Installation Guide: Planning for Installation and Upgrade.

pool

The pool keyword defines the characteristics of the new ZFS root pool.

newpool

Specifies the name of the root pool.

80g

Specifies the size of the disk slice.

2g

The swap area and dump volumes are 2-Gbytes.

mirror

The mirrored configuration of disks has the mirror keyword and disk slices specified as c0t0d0s0 and c0t1d0s0.

The any options in the mirrored configuration finds any two available devices that are large enough to create a 80-Gbyte pool. If two such devices are not available, the install fails.

bootenv

installbe changes the characteristics of the default boot environment that is created during the installation.

bename

Names the new boot environment solaris10_6.



Example 9–3 Specifying Where to Install the OS

install_type initial_install
cluster SUNWCall
root_device c0t0d0s0 
pool nrpool auto auto auto rootdisk.s0 
bootenv installbe bename bnv dataset /var

The following list describes some of the keywords and values from this example.

install_type initial_install

The install_type keyword is required in every profile. The initial_install keyword performs an initial installation that installs a new Solaris OS in a new ZFS root pool.

cluster

The Entire Distribution software group, SUNWCall, is installed on the system. For more information about software groups, see Disk Space Recommendations for Software Groups in Solaris 10 10/08 Installation Guide: Planning for Installation and Upgrade.

root_device

Specifies the disk slice where the OS is to be installed. The c0t0d0s0 defines the specific disk and slice for the OS.

pool

The pool keyword defines the characteristics of the new ZFS root pool.

nrpool

Defines the name of the root pool.

auto

Specifies the size of the disks automatically. The size is determined by the size of the specified disks.

auto

The swap area is automatically sized with the auto keyword. The default size is 1/2 the size of physical memory, but no less than 512 Mbytes and no greater than 2 Gbytes. You can set the size outside this range by using the size option.

auto

The dump device is automatically sized.

rootdisk.s0

The device used to create the root pool is specified as slice 0.

bootenv

installbe changes the characteristics of the default boot environment that is created during the installation.

bename

Names the new boot environment bnv.

dataset

Creates a /var dataset that is separate from the ROOT dataset. /var is the only value for dataset.


JumpStart Keywords for a ZFS Root (/) File System (Reference)

This section provides descriptions of some of the ZFS specific keywords that you can use in a JumpStart profile. The usage of the keywords in this section is either different from their usage in a UFS profile or used only in a ZFS profile.

bootenv Profile Keyword (ZFS and UFS)

The bootenv keyword identifies boot environment characteristics. A boot environment is created by default during installation with the pool keyword. If you use the bootenv keyword with the installbe option, you can name the new boot environment and create a /var dataset within the boot environment.

This keyword can be used in a profile for installing a UFS file system or a ZFS root pool.

installbe

Changes the characteristics of the default boot environment that is created during the installation.

bename

Specifies the name of the new boot environment to be created, new_BE_name. The name can be no longer than 30 characters, can contain only alphanumeric characters, and can contain no multibyte characters. The name must be unique on the system.

dataset mount-point

Use the optional dataset keyword to identify a /var dataset that is separate from the ROOT dataset. The mount-point value is limited to /var. For example, a bootenv syntax line for separate /var dataset would be similar to the following:


bootenv installbe bename zfsroot dataset /var

For more information about upgrading and activating a boot environment, see Chapter 11, Solaris Live Upgrade and ZFS (Overview), in Solaris 10 10/08 Installation Guide: Solaris Live Upgrade and Upgrade Planning.

install_type Keyword (ZFS and UFS)

The install_type keyword is required in every profile. For a UFS installation, Several options are available. The only option available for a ZFS installation is the initial_install keyword. This option installs a new Solaris OS on a system. The profile syntax is the following:

install_type initial_install

Note –

The following UFS options are not available for a ZFS installation.


pool Profile Keyword (ZFS Only)

The pool keyword defines the new root pool to be created. The pool is then installed with a software group specified with the cluster keyword. The poolsize, swapsize, dumpsize, and vdevlist options are needed for creating a new root pool.

pool poolname poolsize swapsize dumpsize vdevlist
poolname

Specifies the name of the new pool to be created. A new pool is created with the specified size and with the specified devices, vdevlist.

poolsize

Size of the new pool to be created. If you denote the amount of space, the size is assumed to be in Mbytes, unless specified by g (Gbytes). You can also use the auto option.

auto

Allocates the largest possible pool size given the constraints, such as size of the disks and preserved slices.


Note –

The meaning of auto for the poolsize keyword is different from the filesys keyword use of auto in a UFS file system. In ZFS, the size of the disk is checked to verify that the minimum size can be accommodated. If the minimize size is available, the largest possible pool size is allocated given the constraints, such as size of the disks and preserved slices.


swapsize

Size of the swap volume (zvol) to be created within a new root pool. The options are either auto or size.

auto

The swap area is automatically sized. The default size is 1/2 the size of physical memory, but no less than 512 Mbytes and no greater than 2 Gbytes. You can set the size outside this range by using the size option.

size

Can be used to specify an amount. Size is assumed to be in Mbytes, unless specified by g (Gbytes).

dumpsize

Size of the dump volume to be created within a new pool.

auto

Uses the default swap size.

size

Can be used to specify an amount. Size is assumed to be in Mbytes, unless specified by g (Gbytes).

vdevlist

One or more devices used to create the pool.

Devices in the vdevlist must be slices for the root pool. vdevlist can be either a single-device-name in the form cwtxdysz or mirror or any option.


Note –

The format of the vdevlist is the same as the format of the zpool create command.


single-device-name

A disk slice in the form or cwtxdysz, such as c0t0d0s0.

mirror [device-names|any]

Specifies the mirroring of the disk.

At this time, only mirrored configurations are supported when multiple devices are specified. You can mirror as many as disks you like, but the size of the pool created is determined by the smallest of the specified disks. For more information about creating mirrored storage pools, see Mirrored Storage Pool Configuration in Solaris ZFS Administration Guide.

  • device-names lists the devices to be mirrored. The names are in the form of cwtxdysz, for example c0t0d0s0 and c0t0d1s5.

  • The any option enables the installer to choose the devices.

any

Enables the installer to select a suitable device.

root_device Profile Keyword (ZFS and UFS)

root_device cwtxdysz

root_device specifies the device to be used for the root pool. The root_device keyword determines where the operating system is installed. This keyword is used the same in both ZFS and a UFS file system with some limitations. For the ZFS root pool, the root device is limited to a single system. This keyword is not useful for mirrored pools.

cwtxdysz

Identifies the root disk where the operating system is installed.

Additional Resources

For additional information about the topics included in this chapter, see the resources listed in Table 9–2.

Table 9–2 Additional Resources

Resource 

Location 

For ZFS information, including overview, planning, and step-by-step instructions 

Solaris ZFS Administration Guide

For a list of all JumpStart keywords 

Chapter 8, Custom JumpStart (Reference)

For information about using Solaris Live Upgrade to migrate from UFS to ZFS or create a new boot environment in a ZFS root pool 

Chapter 11, Solaris Live Upgrade and ZFS (Overview), in Solaris 10 10/08 Installation Guide: Solaris Live Upgrade and Upgrade Planning