(408) 943-4100               V   Commercial Support Toggle between Light and Dark mode

Zvols

  3 minute read.

Last Modified 2021-09-27 13:40 EDT

A ZFS Volume (zvol) is a dataset that represents a block device. TrueNAS requires a zvol when configuring iSCSI Shares.

To create a zvol in a pool, go to Storage and click   on a pool or dataset, then select Add Zvol.

Zvol Creation Options

ZvolsCreateSCALE

To create a zvol with default options, enter a name and size for the zvol and click Save.

SettingDescription
Zvol nameEnter a short name for the zvol. Using a zvol name longer than 63-characters can prevent accessing zvols as devices. For example, a zvol with a 70-character filename or path cannot be used as an iSCSI extent. This setting is mandatory.
CommentsEnter any notes about this zvol.
Size for this zvolSpecify size and value. Units like t, TiB, and G can be used. The size of the zvol can be increased later, but cannot be reduced. If the size is more than 80% of the available capacity, the creation will fail with an “out of space” error unless Force size is also enabled.
Force sizeBy default, the system will not create a zvol if that operation brings the pool to over 80% capacity. While NOT recommended, enabling this option will force the creation of the zvol.
SyncSets the data write synchronization. Inherit gets the sync settings from the parent dataset. Standard uses the sync settings requested by the client software. Always waits for data writes to complete. Disabled never waits for writes to complete.
Compression levelCompress data to save space. Refer to Compression for a description of the available algorithms.
ZFS DeduplicationDo not change this setting unless instructed to do so by your iXsystems support engineer.
SparseUsed to provide thin provisioning. Use with caution as writes will fail when the pool is low on space.
Read-onlySet to prevent the zvol from being modified.
Inherit (Encryption Options)Enabling causes the zvol to use the encryption properties of the root dataset.
SettingDescription
Block sizeThe default is Inherit, other options include, 4KiB, 8KiB, 16KiB, 32KiB, 64KiB, 128KiB

TrueNAS automatically recommends a space-efficient block size for new zvols. This table shows the minimum recommended volume block size values. Use the Block size drop-down to change the value.

ConfigurationNumber of DrivesOptimal Block Size
MirrorN/A16k
Raidz-1316k
Raidz-14/532k
Raidz-16/7/8/964k
Raidz-110+128k
Raidz-2416k
Raidz-25/632k
Raidz-27/8/9/1064k
Raidz-211+128k
Raidz-3516k
Raidz-36/732k
Raidz-38/9/10/1164k
Raidz-312+128k

Depending on their workload, zvols can require additional tuning for optimal performance. See the OpenZFS handbook workload tuning chapter for more information.

Managing Zvols

To see zvol options, click next to the desired zvol in Storage:

  • Delete Zvol removes the zvol from TrueNAS. Deleting a zvol also deletes all of that zvol’s snapshots.
    Deleting zvols can result in unrecoverable data loss! Be sure that any critical data is moved off the zvol or is otherwise obsolete.
  • Edit Zvol opens the zvol creation form for changing the previously saved settings. Users cannot change the name.
  • Create Snapshot takes a single current point-in-time image of the zvol and saves it to Snapshots. TrueNAS will suggest a Name and offer the Recursive option.

If you clone a zvol from an existing snapshot, TrueNAS will offer the Promote Dataset option. After promoting a clone, the original volume becomes a clone of the promoted clone. Promoting a clone allows users to delete the volume that created the clone. Otherwise, you cannot delete a clone while the original volume exists.

When a zvol is the child of an encrypted dataset, TrueNAS offers additional Encryption Actions.