Go to main content

Transitioning From Oracle® Solaris 10 to Oracle Solaris 11.3

Exit Print View

Updated: December 2018
 
 

Preparing Disks for ZFS Storage Pools

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.

ZFS Root Pool Installation Improvements

    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>
    .
    .
    .

ZFS Root Pool Device Requirements

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.

ZFS Root Pool Disk and Boot Administration

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