This file system enhancement is new in the Solaris 10 6/06 release.
This Solaris update release includes Solaris ZFS, a new 128-bit file system. Solaris ZFS provides simple administration, transactional semantics, end-to-end data integrity, and immense scalability. Solaris ZFS is not an incremental improvement to existing technology. Rather, Solaris ZFS is a fundamentally new approach to data management.
Solaris ZFS uses a pooled-storage model that completely eliminates the concept of volumes. Thus, Solaris ZFS eliminates the associated problems of partition management, provisioning, and growing file systems. Thousands of file systems can all draw from a common storage pool. Each system consumes only as much space as actually needed. The combined I/O bandwidth of all devices in the pool is available to all file systems at all times.
All operations are “copy-on-write” transactions, so the on-disk state is always valid. Every block has a checksum, so silent data corruption is impossible. In addition, the data is self-healing in replicated configurations. This feature means that if one copy is damaged, Solaris ZFS detects the damage and uses another copy to repair the damaged copy.
For system administrators, the greatest improvement of Solaris ZFS over traditional file systems is the ease of administration.
Solaris ZFS takes a single command to set up a mirrored storage pool and file system. For example:
# zpool create home mirror c0t1d0 c1t2d0
The preceding command creates a mirrored storage pool named home and a single file system named home. The file system is mounted at /home.
With Solaris ZFS, you can use whole disks instead of partitions to create the storage pool.
You can use the /home file system hierarchy to create any number of file systems beneath /home. For example:
# zfs create home/user1
In addition, Solaris ZFS provides the following administration features:
Backup and restore capabilities
Device management support
Persistent snapshots and cloning features
Quotas that can be set for file systems
RBAC-based access control
Storage pool space reservations for file systems
Support for Solaris systems that have zones installed
For more information, see the Solaris ZFS Administration Guide.
The Solaris 10 6/06 release includes the Solaris ZFS web-based management tool, which enables you to perform much of the administration that you can do with the ZFS command line interface. You can perform the following administrative tasks with the Solaris ZFS administration console:
Create a new storage pool
Add capacity to an existing pool
Move (export) a storage pool to another system
Import a previously exported storage pool to make the pool available on another system
View information about storage pools
Create a file system
Create a volume
Take a snapshot of a file system or a volume
Roll back a file system to a previous snapshot
You can access the Solaris ZFS administration console through a secure web browser at the following URL:
If you type the appropriate URL and are unable to reach Solaris 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
You cannot use the Solaris Management Console (smc) to manage ZFS storage pools or file systems.
The Solaris Zones partitioning technology supports Solaris ZFS components, such as adding Solaris ZFS file systems and storage pools into a zone.
For example, the file system resource type in the zonecfg command has been enhanced as follows:
zonecfg:myzone> add fs zonecfg:myzone:fs> set type=zfs zonecfg:myzone:fs> set dir=/export/share zonecfg:myzone:fs> set special=tank/home zonecfg:myzone:fs> end
This release supports the following Solaris installation tools:
Solaris custom JumpstartTM - You cannot include Solaris ZFS file systems in a Jumpstart profile. However, you can run the following scripts from a Solaris ZFS storage pool to set up an install server or an install client:
Solaris Live Upgrade - Preserves your original boot environment and carries over your Solaris ZFS storage pools into the new environment. Currently, Solaris ZFS cannot be used as a bootable root file system. Therefore, your existing Solaris ZFS file systems are not copied into the boot environment (BE).
Solaris Initial Install - Solaris ZFS file systems are not recognized during an initial installation. However, if you do not specify any of the disk devices that contain Solaris ZFS storage pools to be used for the installation, you should be able to recover your storage pools by using the zpool import command after the installation. For more information, see the zpool(1M) man page.
As with most reinstallation scenarios, you should back up your Solaris ZFS files before proceeding with the initial installation option.
Solaris Upgrade – Your Solaris ZFS file systems and storage pools are preserved.
Solaris ZFS implements a new ACL model. Previous versions of the Solaris OS only supported an ACL model that was primarily based on the POSIX ACL draft specification. The POSIX-draft based ACLs are used to protect UFS files. A new model that is based on the NFSv4 specification is used to protect Solaris ZFS files.
The new ACL model :
Is based on the NFSv4 specification and the new ACLs that are similar to NT-style ACLs
Provides a more granular set of access privileges
Uses the chmod and ls commands rather than the setfacl and getfacl commands to set and display ACLs
Provides richer inheritance semantics for designating how access privileges are applied from directory to subdirectories, and so on
The recently revised chmod(1) man page adds many new examples that demonstrate usage with Solaris ZFS. The acl(5) man page has an overview of the new ACL model. In addition, the Solaris ZFS Administration Guide provides extensive examples of using ACLs to protect ZFS files.