Managing ZFS Storage Pool Properties
You can use the
zpool get command to display pool property information. For
example:
# zpool get all zeepool
NAME PROPERTY VALUE SOURCE
zeepool allocated 6.29G -
zeepool altroot - default
zeepool autoexpand off default
zeepool autoreplace off default
zeepool bootfs - default
zeepool cachefile - default
zeepool capacity 1% -
zeepool dedupditto 0 default
zeepool dedupratio 1.00x -
zeepool delegation on default
zeepool failmode wait default
zeepool free 550G -
zeepool guid 7543986419840620672 -
zeepool health ONLINE -
zeepool listshares off default
zeepool listsnapshots off default
zeepool readonly off -
zeepool size 556G -
zeepool version 34 default
Storage
pool properties can be set with the zpool set command. For
example:
# zpool set autoreplace=on zeepool
# zpool get autoreplace zeepool
NAME PROPERTY VALUE SOURCE
zeepool autoreplace on local
If
you attempt to set a pool property on a pool that is 100% full, you will see a message similar to
the
following:
# zpool set autoreplace=on tank
cannot set property for 'tank': out of space
For
information on preventing pool space capacity problems, see Chapter 11, Recommended Oracle Solaris ZFS Practices.
Table 3-1 ZFS Pool Property Descriptions
|
|
|
|
allocated
|
String
|
N/A
|
Read-only value
that identifies the amount of storage space within the pool that has been physically
allocated.
|
altroot
|
String
|
off
|
Identifies an
alternate root directory. If set, this directory is prepended to any mount points within the pool.
This property can be used when you are examining an unknown pool, if the mount points cannot be
trusted, or in an alternate boot environment, where the typical paths are not valid.
|
autoreplace
|
Boolean
|
off
|
Controls automatic device replacement. If set to off, device replacement
must be initiated by using the zpool
replace command. If set to on, any new device found in the
same physical location as a device that previously belonged to the pool is automatically formatted
and replaced. The property
abbreviation is replace.
|
bootfs
|
Boolean
|
N/A
|
Identifies the
default bootable file system for the root pool. This property is typically set by the installation
programs.
|
cachefile
|
String
|
N/A
|
Controls where
pool configuration information is cached. All pools in the cache are automatically imported when the
system boots. However, installation and clustering environments might require this information to be
cached in a different location so that pools are not automatically imported. You can set this
property to cache pool configuration information in a different location. This information can be
imported later by using the zpool import
–c command. For most ZFS configurations, this property is not used.
|
capacity
|
Number
|
N/A
|
Read-only value
that identifies the percentage of pool space used.
The property abbreviation is cap.
|
dedupditto
|
String
|
N/A
|
Sets a
threshold, and if the reference count for a deduped block goes above the threshold, another ditto
copy of the block is stored automatically.
|
dedupratio
|
String
|
N/A
|
Read-only
deduplication ratio achieved for a pool, expressed as a multiplier.
|
delegation
|
Boolean
|
on
|
|
failmode
|
String
|
wait
|
Controls the
system behavior if a catastrophic pool failure occurs. This condition is typically a result of a
loss of connectivity to the underlying storage device or devices or a failure of all devices within
the pool. The behavior of such an event is determined by one of the following values:
-
wait – Blocks all I/O requests to the pool until device connectivity
is restored, and the errors are cleared by using the zpool clear command. In this
state, I/O operations to the pool are blocked, but read operations might succeed. A pool remains in
the wait state until the device issue is resolved.
-
continue – Returns an EIO error to any new write I/O requests, but
allows reads to any of the remaining healthy devices. Any write requests that have yet to be
committed to disk are blocked. After the device is reconnected or replaced, the errors must be
cleared with the zpool clear command.
-
panic – Prints a message to the console and generates a system crash
dump.
|
free
|
String
|
N/A
|
Read-only value that
identifies the number of blocks within the pool that are not allocated.
|
guid
|
String
|
N/A
|
Read-only property
that identifies the unique identifier for the pool.
|
health
|
String
|
N/A
|
Read-only property
that identifies the current health of the pool, as either ONLINE, DEGRADED, SUSPENDED, REMOVED, or
UNAVAIL.
|
listshares
|
String
|
off
|
Controls
whether share information in this pool is displayed with the zfs list command.
The default value is off.
|
listsnapshots
|
String
|
off
|
Controls
whether snapshot information that is associated with this pool is displayed with the zfs
list command. If this property is disabled, snapshot information can be displayed with the
zfs list
–t snapshot command.
|
readonly
|
Boolean
|
off
|
Identifies whether a pool can be modified. This property is only enabled when a pool is has
been imported in read-only mode. If enabled, any synchronous data that exists only in the intent log
will not be accessible until the pool is re-imported in read-write mode.
|
size
|
Number
|
N/A
|
Read-only property
that identifies the total size of the storage pool.
|
version
|
Number
|
N/A
|
Identifies the
current on-disk version of the pool. The preferred method of updating pools is with the
zpool upgrade command, although this property can be used when a specific version
is needed for backwards compatibility. This property can be set to any number between 1 and the
current version reported by the zpool upgrade
–v command.
|
|