Creating ZFS storage pools in Oracle Solaris 11 is similar to creating pools in Oracle Solaris 10. The following sections provide summary information about preparing disks for a ZFS root pool and non-root pools.
Review the following general pool device configuration recommendations:
Create non-root pools by using whole disks, which are easier to manage than disk slices. For example, you can easily create a mirrored storage pool with four devices as follows:
# zpool create tank mirror c0t1d0 c0t2d0 mirror c1t1d0 c1t2d0
When ZFS storage pools are created with whole disks, the disks are labeled with an EFI label rather than an SMI label. You can identify an EFI label by the lack of cylinder information in the disk label as displayed in the format utility, as shown in the following example:
partition> print Current partition table (original): Total disk sectors available: 286478269 + 16384 (reserved sectors) Part Tag Flag First Sector Size Last Sector 0 usr wm 256 136.60GB 286478302 1 unassigned wm 0 0 0 2 unassigned wm 0 0 0 3 unassigned wm 0 0 0 4 unassigned wm 0 0 0 5 unassigned wm 0 0 0 6 unassigned wm 0 0 0 8 reserved wm 286478303 8.00MB 286494686
Whenever possible, create non-root pools with whole disks.
Oracle Solaris releases support advanced format disks in addition to traditional 512n disks. See Using Advanced Format Disks in Managing Devices in Oracle Solaris 11.3.
Review the following installation improvements for root pools:
Disk labeling changes – If the disk label or labels that are intended to contain the OS are unknown, the disks are automatically relabeled with the appropriate disk label.
SPARC based systems with GPT-aware firmware and most x86 based systems are installed with an EFI (GPT) label on the root pool disk or disks. See SPARC: GPT Labeled Disk Support in Oracle Solaris 11.3 Release Notes for further instructions.
In addition, the AI installer has improved the whole_disk keyword syntax so that if whole_disk is set to true, the disk's contents are replaced, even if it has existing partitions or slices.
AI installation of a mirrored root pool – Oracle Solaris 10 installation features enable you to create a mirrored root pool during installation. You can use AI manifest keyword syntax to create a mirrored root pool during an Oracle Solaris 11 automated installation. For example, the following syntax creates a mirrored root pool that uses whole disks:
<!DOCTYPE auto_install SYSTEM "file:///usr/share/install/ai.dtd.1"> . . . <target> <disk whole_disk="true" in_zpool="rpool" in_vdev="mirrored"> <disk_name name="c1t0d0" name_type="ctd"/> </disk> <disk whole_disk="true" in_zpool="rpool" in_vdev="mirrored"> <disk_name name="c2t0d0" name_type="ctd"/> </disk> <logical> <zpool name="rpool" is_root="true"> <vdev name="mirrored" redundancy="mirror"/> <!-- Subsequent <filesystem> entries instruct an installer to create following ZFS datasets: <root_pool>/export (mounted on /export) <root_pool>/export/home (mounted on /export/home) . . . </zpool> </logical> </target> . . .
In general, root pool devices are relabeled and the root pool is created when the system is installed.
Review the following additional information about ZFS root pool devices:
In Oracle Solaris 11, an SMI (VTOC) label is applied automatically to the root pool disk or disks during an installation on both SPARC and x86 based systems, as shown in the following example:
# zpool status rpool pool: rpool state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 c7t0d0s0 ONLINE 0 0 0
Starting with Oracle Solaris 11.2, an EFI label is applied automatically to the root pool disk or disks during installation on SPARC based systems with GPT-enabled firmware (See Firmware, Disk Labeling, and EEPROM Changes) and most x86 based systems. Otherwise, a VTOC disk label is installed on the root pool disk, as shown in the following example:
# zpool status rpool pool: rpool state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 c7t0d0 ONLINE 0 0 0
When you attach a disk to create a mirrored root pool, use the whole disk syntax as follows:
# zpool attach rpool c7t0d0 c7t2d0 Make sure to wait until resilver is done before rebooting.
The pool remains in a DEGRADED state until the new disk is resilvered, as shown in the following example:
# zpool status rpool pool: rpool state: DEGRADED status: One or more devices is currently being resilvered. The pool will continue to function in a degraded state. action: Wait for the resilver to complete. Run 'zpool status -v' to see device specific details. scan: resilver in progress since Thu Jan 24 08:15:13 2013 224M scanned out of 22.0G at 6.59M/s, 0h56m to go 221M resilvered, 0.99% done config: NAME STATE READ WRITE CKSUM rpool DEGRADED 0 0 0 mirror-0 DEGRADED 0 0 0 c7t0d0 ONLINE 0 0 0 c7t2d0 DEGRADED 0 0 0 (resilvering)
The pool must exist either on a disk slice or on disk slices that are mirrored. If you attempt to use an unsupported pool configuration during a beadm operation, a message similar to the following is displayed:
ERROR: ZFS pool name does not support boot environments
On an x86 based system, the disk must contain an Oracle Solaris fdisk partition. An Oracle Solaris fdisk partition is created automatically when an x86 based system is installed. See Using the fdisk Option in Managing Devices in Oracle Solaris 11.2.
For more information about managing ZFS root pools, see Chapter 6, Managing the ZFS Root Pool in Managing ZFS File Systems in Oracle Solaris 11.3.
The following ZFS root pool disk and boot administration summary pertains to systems running at least Oracle Solaris 11.1. If you are running Oracle Solaris 11 11/11, refer to the ZFS product documentation for information that pertains specifically to that release.
SPARC: OBP requires a root pool disk with an SMI (VTOC) label.
SPARC: If replacing a root pool disk with the zpool replace command, apply boot blocks manually as follows:
# bootadm install-bootloader
SPARC: Attaching a root pool disk with the zpool attach command to create a mirrored root pool requires the following the slice syntax:
# zpool attach rpool c0t5000CCA03C5A5314d0s0 c0t5000CCA03C5A5340d0s0
x86: GRUB 2 and the root pool disk has an EFI label in most cases.
x86: If replacing a root pool disk with the zpool replace command, apply the boot blocks manually as follows:
# bootadm install-bootloader
x86: Attaching a root pool disk with the zpool attach command to create a mirrored root pool requires the whole disk syntax, as shown in the following example:
# zpool attach rpool c0t5000CCA03C5A5314d0 c0t5000CCA03C5A5340d0