JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Oracle Solaris 11.1 Administration: ZFS File Systems     Oracle Solaris 11.1 Information Library
search filter icon
search icon

Document Information

Preface

1.  Oracle Solaris ZFS File System (Introduction)

What's New in ZFS?

Improved ZFS Pool Device Messages

ZFS File Sharing Improvements

Shared var File System

Boot Support for EFI (GPT) Labeled Disks

ZFS Command Usage Enhancements

ZFS Snapshot Enhancements

ZFS Manual Page Change (zfs.1m)

Improved aclmode Property

Identifying Pool Devices By Physical Location

ZFS Shadow Migration

ZFS File System Encryption

ZFS Send Stream Enhancements

ZFS Snapshot Differences (zfs diff)

ZFS Storage Pool Recovery and Performance Enhancements

Tuning ZFS Synchronous Behavior

Improved ZFS Pool Messages

ZFS ACL Interoperability Enhancements

Splitting a Mirrored ZFS Storage Pool (zpool split)

ZFS iSCSI Changes

New ZFS System Process

ZFS Deduplication Property

What Is Oracle Solaris ZFS?

ZFS Pooled Storage

Transactional Semantics

Checksums and Self-Healing Data

Unparalleled Scalability

ZFS Snapshots

Simplified Administration

ZFS Terminology

ZFS Component Naming Requirements

Oracle Solaris ZFS and Traditional File System Differences

ZFS File System Granularity

ZFS Disk Space Accounting

Out of Space Behavior

Mounting ZFS File Systems

Traditional Volume Management

Solaris ACL Model Based on NFSv4

2.  Getting Started With Oracle Solaris ZFS

3.  Managing Oracle Solaris ZFS Storage Pools

4.  Managing ZFS Root Pool Components

5.  Managing Oracle Solaris ZFS File Systems

6.  Working With Oracle Solaris ZFS Snapshots and Clones

7.  Using ACLs and Attributes to Protect Oracle Solaris ZFS Files

8.  Oracle Solaris ZFS Delegated Administration

9.  Oracle Solaris ZFS Advanced Topics

10.  Oracle Solaris ZFS Troubleshooting and Pool Recovery

11.  Archiving Snapshots and Root Pool Recovery

12.  Recommended Oracle Solaris ZFS Practices

A.  Oracle Solaris ZFS Version Descriptions

Index

What's New in ZFS?

This section summarizes new features in the ZFS file system.

Improved ZFS Pool Device Messages

Oracle Solaris 11.1: The zpool status command has been enhanced to provide more detailed information about device failures. The zpool status output in this example identifies a pool device (c0t5000C500335F907Fd0) that is UNAVAIL due to persistent errors and it should be replaced.

# zpool status -v pond
  pool: pond
 state: DEGRADED
status: One or more devices are unavailable in response to persistent errors.
        Sufficient replicas exist for the pool to continue functioning in a
        degraded state.
action: Determine if the device needs to be replaced, and clear the errors
        using 'zpool clear' or 'fmadm repaired', or replace the device
        with 'zpool replace'.
  scan: scrub repaired 0 in 0h0m with 0 errors on Wed Jun 20 15:38:08 2012
config:

        NAME                       STATE     READ WRITE CKSUM
        pond                       DEGRADED     0     0     0
          mirror-0                 DEGRADED     0     0     0
            c0t5000C500335F95E3d0  ONLINE       0     0     0
            c0t5000C500335F907Fd0  UNAVAIL      0     0     0
          mirror-1                 ONLINE       0     0     0
            c0t5000C500335BD117d0  ONLINE       0     0     0
            c0t5000C500335DC60Fd0  ONLINE       0     0     0

device details:

        c0t5000C500335F907Fd0    UNAVAIL          cannot open
        status: ZFS detected errors on this device.
                The device was missing.
           see: http://support.oracle.com/msg/ZFS-8000-LR for recovery


errors: No known data errors

ZFS File Sharing Improvements

Oracle Solaris 11.1: Sharing ZFS file systems has improved with the following primary enhancements:

The file sharing improvements are associated with pool version 34.

For more information, see Sharing and Unsharing ZFS File Systems.

Shared var File System

Oracle Solaris 11.1: Installing Oracle Solaris 11.1 automatically creates a rpool/VARSHARE file system that is mounted at /var/share. The purpose of this file system is to share file systems across boot environments so that the amount of space that is needed in the /var directory for all BEs is reduced. For example:

# ls /var/share
audit  cores  crash  mail

Symbolic links are automatically created from /var to the /var/share components listed above for compatibility purposes. This file system generally requires no administration except to ensure that /var components do not fill the root file system.

If an Oracle Solaris 11 system is updated to the Oracle Solaris 11.1 release, it might take some time to migrate data from the original /var directory to the /var/share directory.

Boot Support for EFI (GPT) Labeled Disks

Oracle Solaris 11.1: This release installs an EFI (GPT) disk label on a ZFS root pool disk for an x86 based system, in most cases. For example:

# zpool status rpool
  pool: rpool
 state: ONLINE
  scan: none requested
config:

    NAME      STATE     READ WRITE CKSUM
    rpool     ONLINE       0     0     0
      c2t0d0  ONLINE       0     0     0

errors: No known data errors

ZFS Command Usage Enhancements

Oracle Solaris 11: The zfs and zpool command have a help subcommand that you can use to provide more information about the zfs and zpool subcommands and their supported options. For example:

# zfs help
The following commands are supported:
allow       clone       create      destroy     diff        get         
groupspace  help        hold        holds       inherit     list        
mount       promote     receive     release     rename      rollback    
send        set         share       snapshot    unallow     unmount     
unshare     upgrade     userspace   
For more info, run: zfs help <command>
# zfs help create
usage:
        create [-p] [-o property=value] ... <filesystem>
        create [-ps] [-b blocksize] [-o property=value] ... -V <size> <volume>
# zpool help
The following commands are supported:
add      attach   clear    create   destroy  detach   export   get      
help     history  import   iostat   list     offline  online   remove   
replace  scrub    set      split    status   upgrade  
For more info, run: zpool help <command>
# zpool help attach
usage:
        attach [-f] <pool> <device> <new-device>

For more information, see zfs(1M) and zpool(1M).

ZFS Snapshot Enhancements

Oracle Solaris 11: This release includes the following ZFS snapshot enhancements:

For more information about creating ZFS snapshots, see Chapter 6, Working With Oracle Solaris ZFS Snapshots and Clones.

ZFS Manual Page Change (zfs.1m)

Oracle Solaris 11: The zfs.1m manual page has been revised so that core ZFS file system features remain in the zfs.1m page, but delegated administration, encryption, and share syntax and examples are covered in the following pages:

Improved aclmode Property

Oracle Solaris 11: The aclmode property modifies Access Control List (ACL) behavior whenever ACL permissions on a file are modified during a chmod operation. The aclmode property has been reintroduced with the following property values:

For more information, see Example 7-14.

Identifying Pool Devices By Physical Location

Oracle Solaris 11: In this Solaris release, use the zpool status -l command to display physical disk location information for pool devices that is available from the /dev/chassis directory. This directory contains chassis, receptacle, and occupant values for the devices on your system.

In addition, you can use the fmadm add-alias command to include a disk alias name that helps you identify the physical location of disks in your environment. For example:

# fmadm add-alias SUN-Storage-J4400.0912QAJ001 SUN-Storage-J4400.rack22

For example:

% zpool status -l export
  pool: export
 state: ONLINE
  scan: resilvered 492G in 8h22m with 0 errors on Wed Aug  1 17:22:11 2012
config:

 NAME                                                             STATE  READ WRITE CKSUM
   export                                                         ONLINE    0     0     0
     mirror-0                                                     ONLINE    0     0     0
       /dev/chassis/SUN-Storage-J4400.rack22/SCSI_Device__2/disk  ONLINE    0     0     0
       /dev/chassis/SUN-Storage-J4400.rack22/SCSI_Device__3/disk  ONLINE    0     0     0
     mirror-1                                                     ONLINE    0     0     0
       /dev/chassis/SUN-Storage-J4400.rack22/SCSI_Device__4/disk  ONLINE    0     0     0
       /dev/chassis/SUN-Storage-J4400.rack22/SCSI_Device__5/disk  ONLINE    0     0     0
     mirror-2                                                     ONLINE    0     0     0
       /dev/chassis/SUN-Storage-J4400.rack22/SCSI_Device__6/disk  ONLINE    0     0     0
       /dev/chassis/SUN-Storage-J4400.rack22/SCSI_Device__7/disk  ONLINE    0     0     0
     mirror-3                                                     ONLINE    0     0     0
       /dev/chassis/SUN-Storage-J4400.rack22/SCSI_Device__8/disk  ONLINE    0     0     0
       /dev/chassis/SUN-Storage-J4400.rack22/SCSI_Device__9/disk  ONLINE    0     0     0
     mirror-4                                                     ONLINE    0     0     0
       /dev/chassis/SUN-Storage-J4400.rack22/SCSI_Device__10/disk ONLINE    0     0     0
       /dev/chassis/SUN-Storage-J4400.rack22/SCSI_Device__11/disk ONLINE    0     0     0
     spares
       /dev/chassis/SUN-Storage-J4400.rack22/SCSI_Device__0/disk  AVAIL   
       /dev/chassis/SUN-Storage-J4400.rack22/SCSI_Device__1/disk  AVAIL   

errors: No known data errors

The zpool iostat command has also been updated to provide physical location information for a pool's devices.

In addition, the diskinfo, format, and prtconf commands also provide physical disk location information. For more information, see diskinfo(1M).

ZFS Shadow Migration

Oracle Solaris 11: In this release, you can migrate data from an old file system to a new file system while simultaneously allowing access and modification of the new file system during the migration process.

Setting the shadow property on a new ZFS file system triggers the migration of the older data. The shadow property can be set to migrate data from the local system or a remote system with either of the following values:

file:///path
nfs://host:path

For more information, see Migrating ZFS File Systems.

ZFS File System Encryption

Oracle Solaris 11: In this release, you can encrypt a ZFS file system.

For example, the tank/cindy file system is created with the encryption property enabled. The default encryption policy is to prompt for a passphrase, which must be a minimum of 8 characters in length.

# zfs create -o encryption=on tank/cindy
Enter passphrase for 'tank/cindy': xxx
Enter again: xxx

An encryption policy is set when a ZFS file system is created. A file system's encryption policy is inherited by descendent file systems and cannot be removed.

For more information, see Encrypting ZFS File Systems.

ZFS Send Stream Enhancements

Oracle Solaris 11: In this release, you can set file system properties that are sent and received in a snapshot stream. These enhancements provide flexibility in applying file system properties in a send stream to the receiving file system or in determining whether the local file system properties, such as the mountpoint property value, should be ignored when received.

For more information, see Applying Different Property Values to a ZFS Snapshot Stream.

ZFS Snapshot Differences (zfs diff)

Oracle Solaris 11: In this release, you can determine ZFS snapshot differences by using the zfs diff command.

For example, assume that the following two snapshots are created:

$ ls /tank/cindy
fileA
$ zfs snapshot tank/cindy@0913
$ ls /tank/cindy
fileA  fileB
$ zfs snapshot tank/cindy@0914

For example, to identify the differences between two snapshots, use syntax similar to the following:

$ zfs diff tank/cindy@0913 tank/cindy@0914
M       /tank/cindy/
+       /tank/cindy/fileB

In the output, the M indicates that the directory has been modified. The + indicates that fileB exists in the later snapshot.

For more information, see Identifying ZFS Snapshot Differences (zfs diff).

ZFS Storage Pool Recovery and Performance Enhancements

Oracle Solaris 11: In this release, the following new ZFS storage pool features are provided:

Tuning ZFS Synchronous Behavior

Oracle Solaris 11: In this release, you can determine a ZFS file system's synchronous behavior by using the sync property.

The default synchronous behavior is to write all synchronous file system transactions to the intent log and to flush all devices to ensure that the data is stable. Disabling the default synchronous behavior is not recommended. Applications that depend on synchronous support might be affected, and data loss could occur.

The sync property can be set before or after the file system is created. In either case, the property value takes effect immediately. For example:

# zfs set sync=always tank/neil

The zil_disable parameter is no longer available in Oracle Solaris releases that include the sync property.

For more information, see Table 5-1.

Improved ZFS Pool Messages

Oracle Solaris 11: In this release, you can use the -T option to provide an interval and count value for the zpool list and zpool status commands to display additional information.

In addition, more pool scrub and resilver information is provided by the zpool status command as follows:

The following syntax uses the interval and count option to display ongoing pool resilvering information. You can use the -T d value to display the information in standard date format or -T u to display the information in an internal format.

# zpool status -T d tank 3 2
Thu Jun 14 14:08:21 MDT 2012

  pool: tank
 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 Jun 14 14:08:05 2012
    2.96G scanned out of 4.19G at 189M/s, 0h0m to go
    1.48G resilvered, 70.60% done
config:

        NAME                       STATE     READ WRITE CKSUM
        tank                       DEGRADED     0     0     0
          mirror-0                 ONLINE       0     0     0
            c0t5000C500335F95E3d0  ONLINE       0     0     0
            c0t5000C500335F907Fd0  ONLINE       0     0     0
          mirror-1                 DEGRADED     0     0     0
            c0t5000C500335BD117d0  ONLINE       0     0     0
            c0t5000C500335DC60Fd0  DEGRADED     0     0     0  (resilvering)

errors: No known data errors

ZFS ACL Interoperability Enhancements

Oracle Solaris 11: In this release, the following ACL enhancements are provided:

For more information, see Chapter 7, Using ACLs and Attributes to Protect Oracle Solaris ZFS Files.

Splitting a Mirrored ZFS Storage Pool (zpool split)

Oracle Solaris 11: In this release, you can use the zpool split command to split a mirrored storage pool, which detaches a disk or disks in the original mirrored pool to create another identical pool.

For more information, see Creating a New Pool By Splitting a Mirrored ZFS Storage Pool.

ZFS iSCSI Changes

Oracle Solaris 11: In this release, the iSCSI target daemon is replaced by using the Common Multiprotocol SCSI Target (COMSTAR) target daemon. This change also means that the shareiscsi property that was used to share a ZFS volume as an iSCSI LUN is no longer available. Use the stmfadm command to configure and share a ZFS volume as an iSCSI LUN.

For more information, see Using a ZFS Volume as an iSCSI LUN.

New ZFS System Process

Oracle Solaris 11: In this release, each ZFS storage pool has an associated process, zpool-poolname. The threads in this process are the pool's I/O processing threads to handle I/O tasks, such as compression and checksum validation, that are associated with the pool. The purpose of this process is to provide visibility into each storage pool's CPU utilization.

Information about these running processes can be reviewed by using the ps and prstat commands. These processes are only available in the global zone. For more information, see SDC(7).

ZFS Deduplication Property

Oracle Solaris 11: In this release, you can use the deduplication (dedup) property to remove redundant data from your ZFS file systems. If a file system has the dedup property enabled, duplicate data blocks are removed synchronously. The result is that only unique data is stored, and common components are shared between files.

You can enable this property as follows:

# zfs set dedup=on tank/home

Although deduplication is set as a file system property, the scope is pool-wide. For example, you can identify the deduplication ratio as follows:

# zpool list tank
NAME  SIZE  ALLOC  FREE  CAP  DEDUP  HEALTH  ALTROOT
tank  556G  4.19G  552G   0%  1.00x  ONLINE  -

The zpool list output has been updated to support the deduplication property.

For more information about setting the deduplication property, see The dedup Property.

Do not enable the dedup property on file systems that reside on production systems until you review the following considerations:

For more information about these considerations, see The dedup Property.