In the following example, 5-Gbyte ZFS volume, tank/vol, is created:
# zfs create -V 5gb tank/vol
When you create a volume, a reservation is automatically set to the initial size of the volume. The reservation size continues to equal the size of the volume so that unexpected behavior doesn't occur. For example, if the size of the volume shrinks, data corruption might occur. You must be careful when changing the size of the volume.
In addition, if you create a snapshot of a volume that changes in size, you might introduce file system inconsistencies if you attempt to rollback the snapshot or create a clone from the snapshot.
For information about file system properties that can be applied to volumes, see Table 5-1.
If you are using a Solaris system with zones installed, you cannot create or clone a ZFS volume in a non-global zone. Any attempt to create or clone a volume from within a non-global zone will fail. For information about using ZFS volumes in a global zone, see Adding ZFS Volumes to a Non-Global Zone.
Using a ZFS Volume as a Swap or Dump Device
In the following example, the 5-Gbyte tank/vol volume is added as a swap device.
# swap -a /dev/zvol/dsk/tank/vol # swap -l swapfile dev swaplo blocks free /dev/dsk/c0t0d0s1 32,33 16 1048688 1048688 /dev/zvol/dsk/tank/vol 254,1 16 10485744 10485744
Using a ZFS volume as a dump device is not supported. Use the dumpadm command to set up a dump device.
Using a ZFS Volume as a Solaris iSCSI Target
Solaris iSCSI targets and initiators are supported in the Solaris release.
In addition, you can easily create a ZFS volume as a iSCSI target by setting the shareiscsi property on the volume. For example:
# zfs create -V 2g tank/volumes/v2 # zfs set shareiscsi=on tank/volumes/v2 # iscsitadm list target Target: tank/volumes/v2 iSCSI Name: iqn.1986-03.com.sun:02:984fe301-c412-ccc1-cc80-cf9a72aa062a Connections: 0
After the iSCSI target is created, set up the iSCSI initiator. For more information about Solaris iSCSI targets and initiators, see Chapter 14, Configuring Solaris iSCSI Targets and Initiators (Tasks), in System Administration Guide: Devices and File Systems.
Note - Solaris iSCSI targets can also be created and managed with iscsitadm command. If you set the shareiscsi property on a ZFS volume, do not use the iscsitadm command to also create the same target device. Otherwise, you will end up with duplicate target information for the same device.
A ZFS volume as an iSCSI target is managed just like another ZFS dataset. However, the rename, export, and import operations work a little differently for iSCSI targets.
All iSCSI target configuration information is stored within the dataset. Like an NFS shared file system, an iSCSI target that is imported on a different system is shared appropriately.