This command creates a new volume with defined parameters. If a **device** is
provided it will be used to create the volume, hence it will be added into the
**pool** prior to volume creation (See :ref:`Add command section
<add-command>`). More than one device can be used to create a volume.

If the **device** is already being used in a different pool, then **ssm** will
ask you whether you want to remove it from the original pool. If you decline,
or the removal fails, then the **volume** creation fails if the *SIZE* was not
provided. On the other hand, if the *SIZE* is provided and some devices can
not be added to the **pool**, the volume creation might still succeed if there
is enough space in the **pool**.

In addition to specifying size of the volume directly, percentage can be
specified as well. Specify **--size 70%** to indicate the volume size to be
70% of total pool size. Additionally, percentage of the used, or free pool
space can be specified as well using keywords FREE, or USED respectively.

The *POOL* name can be specified as well. If the pool exists, a new volume
will be created from that pool (optionally adding **device** into the pool).
However if the *POOL* does not exist, then **ssm** will attempt to create a
new pool with the provided **device**, and then create a new volume from this
pool. If the **--backend** argument is omitted, the default **ssm** backend
will be used. The default backend is *lvm*.

**ssm** also supports creating a RAID configuration, however some back-ends
might not support all RAID levels, or may not even support RAID at all. In
this case, volume creation will fail.

If a **mount** point is provided, **ssm** will attempt to mount the volume
after it is created. However it will fail if mountable file system is not
present on the volume.

If the backend allows it (currently only supported with **lvm** backend), 
**ssm** can be used to create **thinly provisioned volumes** by specifying
**--virtual-size** option. This will automatically create a **thin pool** of
a given size provided with **--size** option and **thin volume** of a given
size provided with **--virtual-size** option and name provided with **--name**
option. Virtual size can be much bigger than available space in the **pool**.
