JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Oracle Solaris ZFS Administration Guide     Oracle Solaris 10 1/13 Information Library
search filter icon
search icon

Document Information

Preface

1.  Oracle Solaris ZFS File System (Introduction)

What's New in ZFS?

ZFS Command Usage Enhancements

ZFS Snapshot Enhancements

Improved aclmode Property

Oracle Solaris ZFS Installation Features

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)

New ZFS System Process

ZFS Device Replacement Enhancements

ZFS and Flash Installation Support

Zone Migration in a ZFS Environment

ZFS Installation and Boot Support

ZFS Web-Based Management

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.  Installing and Booting an Oracle Solaris ZFS Root File System

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

ZFS Command Usage Enhancements

Oracle Solaris 10 1/13: 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 10 1/13: 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.

Improved aclmode Property

Oracle Solaris 10 1/13: 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-13.

Oracle Solaris ZFS Installation Features

Oracle Solaris 10 8/11: In this release, the following new installation features are available:

ZFS Send Stream Enhancements

Oracle Solaris 10 8/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 10 8/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 10 8/11: In this release, the following new ZFS storage pool features are provided:

Tuning ZFS Synchronous Behavior

Solaris 10 8/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 10 8/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
Wed Nov 14 15:44:34 MST 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.
  scan: resilver in progress since Wed Nov 14 15:44:34 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 10 8/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 10 9/10: 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.

New ZFS System Process

Oracle Solaris 10 9/10: 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 Device Replacement Enhancements

Oracle Solaris 10 9/10: In this release, a system event or sysevent is provided when the disks in a pool are replaced with larger disks. ZFS has been enhanced to recognize these events and adjusts the pool based on the new size of the disk, depending on the setting of the autoexpand property. You can use the autoexpand pool property to enable or disable automatic pool expansion when a larger disk replaces a smaller disk.

These enhancements enable you to increase the pool size without having to export and import pool or reboot the system.

For example, automatic LUN expansion is enabled on the tank pool.

# zpool set autoexpand=on tank

Or, you can create the pool with the autoexpand property enabled.

# zpool create -o autoexpand=on tank c1t13d0

The autoexpand property is disabled by default so you can decide whether you want the pool size expanded when a larger disk replaces a smaller disk.

The pool size can also be expanded by using the zpool online -e command. For example:

# zpool online -e tank c1t6d0

Or, you can reset the autoexpand property after a larger disk is attached or made available by using the zpool replace command. For example, the following pool is created with one 8-GB disk (c0t0d0). The 8-GB disk is replaced with a 16-GB disk (c1t13d0), but the pool size is not expanded until the autoexpand property is enabled.

# zpool create pool c0t0d0
# zpool list
NAME   SIZE   ALLOC  FREE    CAP   HEALTH  ALTROOT
pool   8.44G  76.5K  8.44G     0%  ONLINE  -
# zpool replace pool c0t0d0 c1t13d0
# zpool list
NAME   SIZE   ALLOC  FREE    CAP   HEALTH  ALTROOT
pool   8.44G  91.5K  8.44G     0%  ONLINE  -
# zpool set autoexpand=on pool
# zpool list
NAME   SIZE   ALLOC  FREE    CAP   HEALTH  ALTROOT
pool   16.8G   91.5K  16.8G    0%  ONLINE  -

Another way to expand the disk without enabling the autoexpand property, is to use the zpool online -e command even though the device is already online. For example:

# zpool create tank c0t0d0
# zpool list tank
NAME   SIZE   ALLOC  FREE    CAP   HEALTH  ALTROOT
tank   8.44G  76.5K  8.44G     0%  ONLINE  -
# zpool replace tank c0t0d0 c1t13d0
# zpool list tank
NAME   SIZE   ALLOC  FREE    CAP   HEALTH  ALTROOT
tank   8.44G  91.5K  8.44G     0%  ONLINE  -
# zpool online -e tank c1t13d0
# zpool list tank
NAME   SIZE   ALLOC  FREE    CAP   HEALTH  ALTROOT
tank   16.8G    90K  16.8G     0%  ONLINE  -

Additional device replacement enhancements in this release include the following:

For more information about replacing devices, see Replacing Devices in a Storage Pool.

ZFS and Flash Installation Support

Solaris 10 10/09: In this release, you can set up a JumpStart profile to identify a flash archive of a ZFS root pool. For more information, see Installing a ZFS Root File System (Oracle Solaris Flash Archive Installation).

Zone Migration in a ZFS Environment

Solaris 10 5/09: This release extends support for migrating zones in a ZFS environment with Oracle Solaris Live Upgrade. For more information, see Using Oracle Solaris Live Upgrade to Migrate or Upgrade a System With Zones (at Least Solaris 10 5/09).

For a list of known issues with this release, see the Solaris 10 5/09 release notes.

ZFS Installation and Boot Support

Solaris 10 10/08: This release enables you to install and boot a ZFS root file system. You can use the initial installation option or the JumpStart feature to install a ZFS root file system. Or, you can use Oracle Solaris Live Upgrade to migrate a UFS root file system to a ZFS root file system. ZFS support for swap and dump devices is also provided. For more information, see Chapter 4, Installing and Booting an Oracle Solaris ZFS Root File System.

For a list of known issues with this release, see the Solaris 10 10/08 release notes.

ZFS Web-Based Management

Solaris 10 6/06 Release: A web-based ZFS management tool, the ZFS Administration console, enables you to perform the following administrative tasks:

You can access the ZFS Administration console through a secure web browser at:

https://system-name:6789/zfs

If you type the appropriate URL and are unable to reach the ZFS Administration console, the server might not be started. To start the server, run the following command:

# /usr/sbin/smcwebserver start

If you want the server to run automatically when the system boots, run the following command:

# /usr/sbin/smcwebserver enable

Note - You cannot use the Solaris Management Console (smc) to manage ZFS storage pools or file systems.