5
0
mirror of git://git.proxmox.com/git/pve-docs.git synced 2025-01-08 21:17:52 +03:00
pve-docs/pve-storage-zfspool.adoc
2016-10-12 06:54:29 +02:00

104 lines
2.3 KiB
Plaintext

Local ZFS Pool Backend
----------------------
include::attributes.txt[]
ifdef::wiki[]
:pve-toplevel:
:title: Storage: ZFS
endif::wiki[]
Storage pool type: `zfspool`
This backend allows you to access local ZFS pools (or ZFS file systems
inside such pools).
Configuration
~~~~~~~~~~~~~
The backend supports the common storage properties `content`, `nodes`,
`disable`, and the following ZFS specific properties:
pool::
Select the ZFS pool/filesystem. All allocations are done within that
pool.
blocksize::
Set ZFS blocksize parameter.
sparse::
Use ZFS thin-provisioning. A sparse volume is a volume whose
reservation is not equal to the volume size.
.Configuration Example (`/etc/pve/storage.cfg`)
----
zfspool: vmdata
pool tank/vmdata
content rootdir,images
sparse
----
File naming conventions
~~~~~~~~~~~~~~~~~~~~~~~
The backend uses the following naming scheme for VM images:
vm-<VMID>-<NAME> // normal VM images
base-<VMID>-<NAME> // template VM image (read-only)
subvol-<VMID>-<NAME> // subvolumes (ZFS filesystem for containers)
`<VMID>`::
This specifies the owner VM.
`<NAME>`::
This can be an arbitrary name (`ascii`) without white space. The
backend uses `disk[N]` as default, where `[N]` is replaced by an
integer to make the name unique.
Storage Features
~~~~~~~~~~~~~~~~
ZFS is probably the most advanced storage type regarding snapshot and
cloning. The backend uses ZFS datasets for both VM images (format
`raw`) and container data (format `subvol`). ZFS properties are
inherited from the parent dataset, so you can simply set defaults
on the parent dataset.
.Storage features for backend `zfs`
[width="100%",cols="m,m,3*d",options="header"]
|==============================================================================
|Content types |Image formats |Shared |Snapshots |Clones
|images rootdir |raw subvol |no |yes |yes
|==============================================================================
Examples
~~~~~~~~
It is recommended to create an extra ZFS file system to store your VM images:
# zfs create tank/vmdata
To enable compression on that newly allocated file system:
# zfs set compression=on tank/vmdata
You can get a list of available ZFS filesystems with:
# pvesm zfsscan
ifdef::wiki[]
See Also
~~~~~~~~
* link:/wiki/Storage[Storage]
endif::wiki[]