mirror of
git://git.proxmox.com/git/pve-docs.git
synced 2025-01-06 13:17:48 +03:00
82f71eea81
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
112 lines
2.5 KiB
Plaintext
112 lines
2.5 KiB
Plaintext
[[storage_zfspool]]
|
|
Local ZFS Pool Backend
|
|
----------------------
|
|
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.
|
|
|
|
mountpoint::
|
|
|
|
The mount point of the ZFS pool/filesystem. Changing this does not
|
|
affect the `mountpoint` property of the dataset seen by `zfs`.
|
|
Defaults to `/<pool>`.
|
|
|
|
.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]
|
|
|
|
* link:/wiki/ZFS_on_Linux[ZFS on Linux]
|
|
|
|
endif::wiki[]
|