]> git.proxmox.com Git - pve-docs.git/blobdiff - pvesm.adoc
totp: fix copy/paste mistake
[pve-docs.git] / pvesm.adoc
index c2be9fedb58de28e66455bf40cc7e1cc079181ed..7ae4063309654a86251dc55fd7d400683eee4501 100644 (file)
@@ -65,33 +65,38 @@ data to different nodes.
 
 
 .Available storage types
-[width="100%",cols="<d,1*m,4*d",options="header"]
+[width="100%",cols="<2d,1*m,4*d",options="header"]
 |===========================================================
-|Description    |PVE type    |Level |Shared|Snapshots|Stable
-|ZFS (local)    |zfspool     |file  |no    |yes      |yes
-|Directory      |dir         |file  |no    |no^1^    |yes
-|NFS            |nfs         |file  |yes   |no^1^    |yes
-|CIFS           |cifs        |file  |yes   |no^1^    |yes
-|GlusterFS      |glusterfs   |file  |yes   |no^1^    |yes
-|CephFS         |cephfs      |file  |yes   |yes      |yes
-|LVM            |lvm         |block |no^2^ |no       |yes
-|LVM-thin       |lvmthin     |block |no    |yes      |yes
-|iSCSI/kernel   |iscsi       |block |yes   |no       |yes
-|iSCSI/libiscsi |iscsidirect |block |yes   |no       |yes
-|Ceph/RBD       |rbd         |block |yes   |yes      |yes
-|ZFS over iSCSI |zfs         |block |yes   |yes      |yes
-|=========================================================
-
-^1^: On file based storages, snapshots are possible with the 'qcow2' format.
-
-^2^: It is possible to use LVM on top of an iSCSI storage. That way
-you get a `shared` LVM storage.
+|Description    |Plugin type |Level  |Shared|Snapshots|Stable
+|ZFS (local)    |zfspool     |both^1^|no    |yes      |yes
+|Directory      |dir         |file   |no    |no^2^    |yes
+|BTRFS          |btrfs       |file   |no    |yes      |technology preview
+|NFS            |nfs         |file   |yes   |no^2^    |yes
+|CIFS           |cifs        |file   |yes   |no^2^    |yes
+|Proxmox Backup |pbs         |both   |yes   |n/a      |yes
+|GlusterFS      |glusterfs   |file   |yes   |no^2^    |yes
+|CephFS         |cephfs      |file   |yes   |yes      |yes
+|LVM            |lvm         |block  |no^3^ |no       |yes
+|LVM-thin       |lvmthin     |block  |no    |yes      |yes
+|iSCSI/kernel   |iscsi       |block  |yes   |no       |yes
+|iSCSI/libiscsi |iscsidirect |block  |yes   |no       |yes
+|Ceph/RBD       |rbd         |block  |yes   |yes      |yes
+|ZFS over iSCSI |zfs         |block  |yes   |yes      |yes
+|===========================================================
+
+^1^: Disk images for VMs are stored in ZFS volume (zvol) datasets, which provide
+block device functionality.
+
+^2^: On file based storages, snapshots are possible with the 'qcow2' format.
+
+^3^: It is possible to use LVM on top of an iSCSI or FC-based storage.
+That way you get a `shared` LVM storage
 
 
 Thin Provisioning
 ~~~~~~~~~~~~~~~~~
 
-A number of storages, and the Qemu image format `qcow2`, support 'thin
+A number of storages, and the QEMU image format `qcow2`, support 'thin
 provisioning'.  With thin provisioning activated, only the blocks that
 the guest system actually use will be written to the storage.
 
@@ -139,12 +144,13 @@ Each storage pool has a `<type>`, and is uniquely identified by its
 <type>: <STORAGE_ID>
        <property> <value>
        <property> <value>
+       <property>
        ...
 ----
 
 The `<type>: <STORAGE_ID>` line starts the pool definition, which is then
-followed by a list of properties. Most properties have values and some of
-them come with a reasonable default. In that case you can omit the value.
+followed by a list of properties. Most properties require a value. Some have
+reasonable defaults, in which case you can omit the value.
 
 To be more specific, take a look at the default storage configuration
 after installation. It contains one special local storage pool named
@@ -171,6 +177,12 @@ zfspool: local-zfs
        content images,rootdir
 ----
 
+CAUTION: It is problematic to have multiple storage configurations pointing to
+the exact same underlying storage. Such an _aliased_ storage configuration can
+lead to two different volume IDs ('volid') pointing to the exact same disk
+image. {pve} expects that the images' volume IDs point to, are unique. Choosing
+different content types for _aliased_ storage configurations can be fine, but
+is not recommended.
 
 Common Storage Properties
 ~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -192,7 +204,7 @@ this property to select what this storage is used for.
 
 images:::
 
-KVM-Qemu VM images.
+QEMU/KVM VM images.
 
 rootdir:::
 
@@ -216,7 +228,10 @@ Snippet files, for example guest hook scripts
 
 shared::
 
-Mark storage as shared.
+Indicate that this is a single storage with the same contents on all nodes (or
+all listed in the 'nodes' option). It will not make the contents of a local
+storage automatically accessible to other nodes, it just marks an already shared
+storage as such!
 
 disable::
 
@@ -224,12 +239,24 @@ You can use this flag to disable the storage completely.
 
 maxfiles::
 
-Maximum number of backup files per VM. Use `0` for unlimited.
+Deprecated, please use `prune-backups` instead. Maximum number of backup files
+per VM. Use `0` for unlimited.
+
+prune-backups::
+
+Retention options for backups. For details, see
+xref:vzdump_retention[Backup Retention].
 
 format::
 
 Default image format (`raw|qcow2|vmdk`)
 
+preallocation::
+
+Preallocation mode (`off|metadata|falloc|full`) for `raw` and `qcow2` images on
+file-based storages. The default is `metadata`, which is treated like `off` for
+`raw` images. When using network storages in combination with large `qcow2`
+images, using `off` can help to avoid timeouts.
 
 WARNING: It is not advisable to use the same storage pool on different
 {pve} clusters. Some storage operation need exclusive access to the
@@ -271,7 +298,7 @@ When you remove a VM or Container, the system also removes all
 associated volumes which are owned by that VM or Container.
 
 
-Using the Command Line Interface
+Using the Command-line Interface
 --------------------------------
 
 It is recommended to familiarize yourself with the concept behind storage
@@ -280,7 +307,7 @@ of those low level operations on the command line. Normally,
 allocation and removal of volumes is done by the VM and Container
 management tools.
 
-Nevertheless, there is a command line tool called `pvesm` (``{pve}
+Nevertheless, there is a command-line tool called `pvesm` (``{pve}
 Storage Manager''), which is able to perform common storage management
 tasks.
 
@@ -346,16 +373,24 @@ List volumes allocated by VMID
 
 List iso images
 
- pvesm list <STORAGE_ID> --iso
+ pvesm list <STORAGE_ID> --content iso
 
 List container templates
 
- pvesm list <STORAGE_ID> --vztmpl
+ pvesm list <STORAGE_ID> --content vztmpl
 
 Show file system path for a volume
 
  pvesm path <VOLUME_ID>
 
+Exporting the volume `local:103/vm-103-disk-0.qcow2` to the file `target`.
+This is mostly used internally with `pvesm import`.
+The stream format qcow2+size is different to the qcow2 format.
+Consequently, the exported file cannot simply be attached to a VM.
+This also holds for the other formats.
+
+ pvesm export local:103/vm-103-disk-0.qcow2 qcow2+size target --with-snapshots 1
+
 ifdef::wiki[]
 
 See Also
@@ -377,13 +412,15 @@ See Also
 
 * link:/wiki/Storage:_CIFS[Storage: CIFS]
 
+* link:/wiki/Storage:_Proxmox_Backup_Server[Storage: Proxmox Backup Server]
+
 * link:/wiki/Storage:_RBD[Storage: RBD]
 
 * link:/wiki/Storage:_CephFS[Storage: CephFS]
 
 * link:/wiki/Storage:_ZFS[Storage: ZFS]
 
-* link:/wiki/Storage:_ZFS_over_iSCSI[Storage: ZFS over iSCSI]
+* link:/wiki/Storage:_ZFS_over_ISCSI[Storage: ZFS over ISCSI]
 
 endif::wiki[]
 
@@ -397,6 +434,8 @@ include::pve-storage-nfs.adoc[]
 
 include::pve-storage-cifs.adoc[]
 
+include::pve-storage-pbs.adoc[]
+
 include::pve-storage-glusterfs.adoc[]
 
 include::pve-storage-zfspool.adoc[]
@@ -413,6 +452,9 @@ include::pve-storage-rbd.adoc[]
 
 include::pve-storage-cephfs.adoc[]
 
+include::pve-storage-btrfs.adoc[]
+
+include::pve-storage-zfs.adoc[]
 
 
 ifdef::manvolnum[]