1. Oracle Solaris ZFS File System (Introduction)
2. Getting Started With Oracle Solaris ZFS
3. Oracle Solaris ZFS and Traditional File System Differences
4. Managing Oracle Solaris ZFS Storage Pools
5. Installing and Booting an Oracle Solaris ZFS Root File System
Installing and Booting an Oracle Solaris ZFS Root File System (Overview)
Oracle Solaris Installation and Oracle Solaris Live Upgrade Requirements for ZFS Support
Oracle Solaris Release Requirements
General ZFS Storage Pool Requirements
Disk Space Requirements for ZFS Storage Pools
ZFS Storage Pool Configuration Requirements
Installing a ZFS Root File System (Initial Installation)
How to Create a Mirrored Root Pool (Post Installation)
Installing a ZFS Root File System (Oracle Solaris Flash Archive Installation)
Installing a ZFS Root File System (Oracle Solaris JumpStart Installation)
Migrating a UFS Root File System to a ZFS Root File System (Oracle Solaris Live Upgrade)
ZFS Migration Issues With Oracle Solaris Live Upgrade
Using Oracle Solaris Live Upgrade to Migrate to a ZFS Root File System (Without Zones)
Using Oracle Solaris Live Upgrade to Migrate or Upgrade a System With Zones (Solaris 10 10/08)
How to Configure a ZFS Root File System With Zone Roots on ZFS (Solaris 10 10/08)
How to Upgrade or Patch a ZFS Root File System With Zone Roots on ZFS (Solaris 10 10/08)
Supported ZFS with Zone Root Configuration Information (at Least Solaris 10 5/09)
How to Create a ZFS BE With a ZFS Root File System and a Zone Root (at Least Solaris 10 5/09)
How to Upgrade or Patch a ZFS Root File System With Zone Roots (at Least Solaris 10 5/09)
ZFS Support for Swap and Dump Devices
Adjusting the Sizes of Your ZFS Swap Device and Dump Device
Troubleshooting ZFS Dump Device Issues
Booting From a ZFS Root File System
Booting From an Alternate Disk in a Mirrored ZFS Root Pool
SPARC: Booting From a ZFS Root File System
x86: Booting From a ZFS Root File System
Resolving ZFS Mount-Point Problems That Prevent Successful Booting (Solaris 10 10/08)
How to Resolve ZFS Mount-Point Problems
Booting For Recovery Purposes in a ZFS Root Environment
How to Boot ZFS From Alternate Media
Recovering the ZFS Root Pool or Root Pool Snapshots
How to Replace a Disk in the ZFS Root Pool
How to Create Root Pool Snapshots
How to Recreate a ZFS Root Pool and Restore Root Pool Snapshots
How to Roll Back Root Pool Snapshots From a Failsafe Boot
6. Managing Oracle Solaris ZFS File Systems
7. Working With Oracle Solaris ZFS Snapshots and Clones
8. Using ACLs to Protect Oracle Solaris ZFS Files
9. Oracle Solaris ZFS Delegated Administration
10. Oracle Solaris ZFS Advanced Topics
11. Oracle Solaris ZFS Troubleshooting and Pool Recovery
You can create a JumpStart profile to install a ZFS root file system or a UFS root file system.
A ZFS specific profile must contain the new 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 as well as create a separate /var dataset with the bootenv installbe keywords and the bename and dataset options.
For general information about using JumpStart features, see Oracle Solaris 10 9/10 Installation Guide: Custom JumpStart and Advanced Installations.
If you will be configuring zones after the JumpStart installation of a ZFS root file system and you plan on patching or upgrading the system, see Using Oracle Solaris Live Upgrade to Migrate or Upgrade a System With Zones (Solaris 10 10/08) or Using Oracle Solaris Live Upgrade to Migrate or Upgrade a System With Zones (at Least Solaris 10 5/09).
The following keywords are permitted in a ZFS specific profile:
Automatically specifies the size of the slices for the pool, swap volume, or dump volume. The size of the disk is checked to verify that the minimum size can be accommodated. If the minimum size can be accommodated, the largest possible pool size is allocated, given the constraints, such as the size of the disks, preserved slices, and so on.
For example, if you specify c0t0d0s0, the root pool slice is created as large as possible if you specify either the all or auto keywords. Or, you can specify a particular size for the slice, swap volume, or dump volume.
The auto keyword works similarly to the all keyword when used with a ZFS root pool because pools don't have unused disk space.
Identifies the boot environment characteristics.
Use the following bootenv keyword syntax to create a bootable ZFS root environment:
bootenv installbe bename BE-name [dataset mount-point]
Creates a new BE that is identified by the bename option and BE-name entry and installs it.
Identifies the BE-name to install.
If bename is not used with the pool keyword, then a default BE is created.
Use the optional dataset keyword to identify a /var dataset that is separate from the root dataset. The mount-point value is currently limited to /var. For example, a bootenv syntax line for a separate /var dataset would be similar to the following:
bootenv installbe bename zfsroot dataset /var
Defines the new root pool to be created. The following keyword syntax must be provided:
pool poolname poolsize swapsize dumpsize vdevlist
Identifies the name of the pool to be created. The pool is created with the specified pool size and with the specified physical devices (vdevs). The poolname value should not identify the name of an existing pool or the existing pool is overwritten.
Specifies the size of the pool to be created. The value can be auto or existing. The auto value allocates the largest possible pool size, given the constraints, such as size of the disks, preserved slices, and so on. The existing value means the boundaries of existing slices by that name are preserved and not overwritten. The size is assumed to be in MB, unless specified by g (GB).
Specifies the size of the swap volume to be created. The autovalue means that the default swap size is used. You can specify a size with a size value. The size is in MB, unless specified by g (GB).
Specifies the size of the dump volume to be created. The auto value means that the default swap size is used. You can specify a size with a sizevalue. The size is assumed to be in MB, unless specified by g (GB).
Specifies one or more devices that are used to create the pool. The format of vdevlist is the same as the format of the zpool create command. At this time, only mirrored configurations are supported when multiple devices are specified. Devices in vdevlist must be slices for the root pool. The any value means that the installation software selects a suitable device.
You can mirror as many disks as you like, but the size of the pool that is created is determined by the smallest of the specified disks. For more information about creating mirrored storage pools, see Mirrored Storage Pool Configuration.
This section provides examples of ZFS specific JumpStart profiles.
The following profile performs an initial installation specified with install_type initial_install in a new pool, identified with pool newpool, whose size is automatically sized with the auto keyword to the size of the specified disks. The swap area and dump device are automatically sized with the auto keyword in a mirrored configuration of disks (with the mirror keyword and disks specified as c0t0d0s0 and c0t1d0s0). Boot environment characteristics are set with the bootenv keyword to install a new BE with the keyword installbe and a bename named s10-xx is created.
install_type initial_install pool newpool auto auto auto mirror c0t0d0s0 c0t1d0s0 bootenv installbe bename s10-xx
The following profile performs an initial installation with the keyword install_type initial_install of the SUNWCall metacluster in a new pool called newpool, which is 80 GBs in size. This pool is created with a 2-GB swap volume and a 2-GB dump volume, in a mirrored configuration of any two available devices that are large enough to create an 80-GB pool. If two such devices aren't available, the installation fails. Boot environment characteristics are set with the bootenv keyword to install a new BE with the keyword installbe and a bename named s10–xx is created.
install_type initial_install cluster SUNWCall pool newpool 80g 2g 2g mirror any any bootenv installbe bename s10-xx
JumpStart installation syntax enables you to preserve or create a UFS file system on a disk that also includes a ZFS root pool. This configuration is not recommended for production systems, but could be used for transition or migration needs on a small system, such as a laptop.
Consider the following issues before starting a JumpStart installation of a bootable ZFS root file system:
You cannot use an existing ZFS storage pool for a JumpStart installation to create a bootable ZFS root file system. You must create a new ZFS storage pool with syntax similar to the following:
pool rpool 20G 4G 4G c0t0d0s0
You must create your pool with disk slices rather than with whole disks as described in Oracle Solaris Installation and Oracle Solaris Live Upgrade Requirements for ZFS Support. For example, the bold syntax in the following example is not acceptable:
install_type initial_install cluster SUNWCall pool rpool all auto auto mirror c0t0d0 c0t1d0 bootenv installbe bename newBE
The bold syntax in the following example is acceptable:
install_type initial_install cluster SUNWCall pool rpool all auto auto mirror c0t0d0s0 c0t1d0s0 bootenv installbe bename newBE