FreeBSD manual

download PDF document: zfs-create.8.pdf

ZFS-CREATE(8) FreeBSD System Manager's Manual ZFS-CREATE(8)
NAME zfs-create - create ZFS dataset
SYNOPSIS zfs create [-Pnpuv] [-o property=value]<?> filesystem zfs create [-ps] [-b blocksize] [-o property=value]<?> -V size volume
DESCRIPTION zfs create [-Pnpuv] [-o property=value]<?> filesystem Creates a new ZFS file system. The file system is automatically mounted according to the mountpoint property inherited from the parent, unless the -u option is used.
-o property=value Sets the specified property as if the command zfs set property=value was invoked at the same time the dataset was created. Any editable ZFS property can also be set at creation time. Multiple -o options can be specified. An error results if the same property is specified in multiple -o options.
-p Creates all the non-existing parent datasets. Datasets created in this manner are automatically mounted according to the mountpoint property inherited from their parent. Any property specified on the command line using the -o option is ignored. If the target filesystem already exists, the operation completes successfully.
-n Do a dry-run ("No-op") creation. No datasets will be created. This is useful in conjunction with the -v or -P flags to validate properties that are passed via -o options and those implied by other options. The actual dataset creation can still fail due to insufficient privileges or available capacity.
-P Print machine-parsable verbose information about the created dataset. Each line of output contains a key and one or two values, all separated by tabs. The create_ancestors and create keys have filesystem as their only value. The create_ancestors key only appears if the -p option is used. The property key has two values, a property name that property's value. The property key may appear zero or more times, once for each property that will be set local to filesystem due to the use of the -o option.
-u Do not mount the newly created file system.
-v Print verbose information about the created dataset.
zfs create [-ps] [-b blocksize] [-o property=value]<?> -V size volume Creates a volume of the given size. The volume is exported as a block device in /dev/zvol/path, where path is the name of the volume in the ZFS namespace. The size represents the logical size as exported by the device. By default, a reservation of equal size is created.
size is automatically rounded up to the nearest multiple of the blocksize.
-b blocksize Equivalent to -o volblocksize=blocksize. If this option is specified in conjunction with -o volblocksize, the resulting is specified in multiple -o options.
-p Creates all the non-existing parent datasets. Datasets created in this manner are automatically mounted according to the mountpoint property inherited from their parent. Any property specified on the command line using the -o option is ignored. If the target filesystem already exists, the operation completes successfully.
-s Creates a sparse volume with no reservation. See volsize in the Native Properties section of zfsprops(7) for more information about sparse volumes.
-n Do a dry-run ("No-op") creation. No datasets will be created. This is useful in conjunction with the -v or -P flags to validate properties that are passed via -o options and those implied by other options. The actual dataset creation can still fail due to insufficient privileges or available capacity.
-P Print machine-parsable verbose information about the created dataset. Each line of output contains a key and one or two values, all separated by tabs. The create_ancestors and create keys have volume as their only value. The create_ancestors key only appears if the -p option is used. The property key has two values, a property name that property's value. The property key may appear zero or more times, once for each property that will be set local to volume due to the use of the -b or -o options, as well as refreservation if the volume is not sparse.
-v Print verbose information about the created dataset.
ZFS for Swap Swapping to a ZFS volume is prone to deadlock and not recommended. See OpenZFS FAQ.
Swapping to a file on a ZFS filesystem is not supported.
EXAMPLES Example 1: Creating a ZFS File System Hierarchy The following commands create a file system named pool/home and a file system named pool/home/bob. The mount point /export/home is set for the parent file system, and is automatically inherited by the child file system. # zfs create pool/home # zfs set mountpoint=/export/home pool/home # zfs create pool/home/bob
Example 2: Promoting a ZFS Clone The following commands illustrate how to test out changes to a file system, and then replace the original file system with the changed one, using clones, clone promotion, and renaming: # zfs create pool/project/production populate /pool/project/production with data # zfs snapshot pool/project/production@today # zfs clone pool/project/production@today pool/project/beta make changes to /pool/project/beta and test them # zfs promote pool/project/beta # zfs rename pool/project/production pool/project/legacy # zfs rename pool/project/beta pool/project/production once the legacy version is no longer needed, it can be destroyed