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.
What's
New in the Solaris 10 10/09 Release
Starting with the Solaris 10 10/09 release,
you can set up a JumpStart profile to identify a flash archive of a ZFS root
pool.
A Flash archive can be created on a system that is running a UFS root
file system or a ZFS root file system. A Flash archive of a ZFS root pool
contains the entire pool hierarchy, except for the swap and dump volumes,
and any excluded datasets. The swap and dump volumes are created when the
Flash archive is installed.
You can use the Flash archive installation method as follows:
-
Generate a Flash archive that can be used to install and boot
a system with a ZFS root file system.
-
Perform a JumpStart installation of a system by using a ZFS
Flash archive.
Note –
Creating a ZFS Flash archive backs up an entire root pool, not
individual boot environments. Individual datasets within the pool can be excluded
by using the flarcreate and flar command's -D option.
For detailed instructions and limitations, see Installing a ZFS Root File System
(Flash Archive Installation) in Solaris
ZFS Administration Guide.
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 ZFS specific 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/09 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/09 Installation Guide: Solaris Live Upgrade and
Upgrade Planning
|
JumpStart Profile Examples for a ZFS Root Pool
This section provides examples of ZFS specific 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/09 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/09 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/09 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.
-
In a UFS file system, this keyword is used for creating an
empty boot environment for the future installation of a Solaris Flash archive.
For the complete description of the bootenv keyword for UFS, see bootenv Profile Keyword (UFS and ZFS).
-
For a ZFS root pool, the bootenv keyword
changes the characteristics of the default boot environment that is created
at install time. This boot environment is a copy of the root file system that
you are installing.
The bootenv keyword can
be used with the installbe, bename and dataset options. These options name the boot environment and create
a separate /var dataset.
bootenv installbe bename new-BE-name [dataset mount-point]
-
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/09 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