vdevprops
—
native and user-defined properties of ZFS vdevs
Properties are divided into two types, native properties and user-defined (or
“user”) properties. Native properties either export internal
statistics or control ZFS behavior. In addition, native properties are either
editable or read-only. User properties have no effect on ZFS behavior, but you
can use them to annotate vdevs in a way that is meaningful in your
environment. For more information about user properties, see the
User Properties section,
below.
Every vdev has a set of properties that export statistics about the vdev as well
as control various behaviors. Properties are NOT inherited from top-level
vdevs.
The values of numeric properties can be specified using human-readable suffixes
(for example,
k,
KB,
M,
Gb, and so forth,
up to
Z for zettabyte). The following are all
valid (and equal) specifications:
1536M
,
1.5g
,
1.50GB
.
The values of non-numeric properties are case sensitive and must be lowercase.
The following native properties consist of read-only statistics about the vdev.
These properties can not be changed.
- capacity
- Percentage of vdev space used
- state
- state of this vdev such as online, faulted, or offline
- guid
- globally unique id of this vdev
- asize
- The allocable size of this vdev
- psize
- The physical size of this vdev
- ashift
- The physical sector size of this vdev expressed as the power of two
- size
- The total size of this vdev
- free
- The amount of remaining free space on this vdev
- allocated
- The amount of allocated space on this vdev
- expandsize
- How much this vdev can expand by
- fragmentation
- Percent of fragmentation in this vdev
- parity
- The level of parity for this vdev
- devid
- The device id for this vdev
- physpath
- The physical path to the device
- encpath
- The enclosure path to the device
- fru
- Field Replacable Unit, usually a model number
- parent
- Parent of this vdev
- children
- Comma separated list of children of this vdev
- numchildren
- The number of children belonging to this vdev
- read_errors,
write_errors,
checksum_errors,
initialize_errors
- The number of errors of each type encountered by this vdev
- null_ops,
read_ops,
write_ops,
free_ops,
claim_ops,
trim_ops
- The number of I/O operations of each type performed by this vdev
- null_bytes,
read_bytes,
write_bytes,
free_bytes,
claim_bytes,
trim_bytes
- The cumulative size of all operations of each type performed by this
vdev
- removing
- If this device is currently being removed from the pool
The following native properties can be used to change the behavior of a ZFS
dataset.
- comment
- A text comment up to 8192 characters long
- bootsize
- The amount of space to reserve for the EFI system partition
- path
- The path to the device for this vdev
- allocating
- If this device should perform new allocations, used to disable a device
when it is scheduled for later removal. See
zpool-remove(8).
In addition to the standard native properties, ZFS supports arbitrary user
properties. User properties have no effect on ZFS behavior, but applications
or administrators can use them to annotate vdevs.
User property names must contain a colon
(“
:”) character to distinguish them
from native properties. They may contain lowercase letters, numbers, and the
following punctuation characters: colon
(“
:”), dash
(“
-”), period
(“
.”), and underscore
(“
_”). The expected convention is
that the property name is divided into two portions such as
module:
property,
but this namespace is not enforced by ZFS. User property names can be at most
256 characters, and cannot begin with a dash
(“
-”).
When making programmatic use of user properties, it is strongly suggested to use
a reversed DNS domain name for the
module
component of property names to reduce the chance that two
independently-developed packages use the same property name for different
purposes.
The values of user properties are arbitrary strings and are never validated. Use
the
zpool
set
command with a blank value to clear a
user property. Property values are limited to 8192 bytes.
zpoolprops(7),
zpool-set(8)