From 9801e1c3b0541bad4b0c913c1d3c3b37a1e77b1a Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Sat, 30 Apr 2016 10:01:08 +0200 Subject: [PATCH] add lvm thin pool --- pve-storage-lvmthin.adoc | 77 ++++++++++++++++++++++++++++++++++++++++ pvesm.adoc | 18 ++++++---- 2 files changed, 89 insertions(+), 6 deletions(-) create mode 100644 pve-storage-lvmthin.adoc diff --git a/pve-storage-lvmthin.adoc b/pve-storage-lvmthin.adoc new file mode 100644 index 0000000..10af909 --- /dev/null +++ b/pve-storage-lvmthin.adoc @@ -0,0 +1,77 @@ +LVM thin Backend +---------------- + +Storage pool type: `lvmthin` + +LVM normally allocates blocks when you create a volume. LVM thin pools +instead allocates blocks when they are written. This behaviour is +called thin-provisioning, because volumes can be much larger than +physically available space. + +You can use the normal LVM command line tools to manage and create LVM +thin pools (see 'man lvmthin' for details). Assuming you already have +a LVM volume group called `pve`, the following commands create a new +LVM thin pool (size 100G) called `data`: + +---- +lvcreate -L 100G -n data pve +lvconvert --type thin-pool pve/data +---- + + +Configuration +~~~~~~~~~~~~~ + +The LVM thin backend supports the common storage properties `content`, `nodes`, +`disable`, and the following LVM specific properties: + +`vgname`:: + +LVM volume group name. This must point to an existing volume group. + +`thinpool`:: + +The name of the LVM thin pool. + + +.Configuration Example ('/etc/pve/storage.cfg') +---- +lvmthin: local-lvm + thinpool data + vgname pve + content rootdir,images +---- + + +File naming conventions +~~~~~~~~~~~~~~~~~~~~~~~ + +The backend use basically the same naming conventions as the ZFS pool +backend. + + vm-- // normal VM images + + +Storage Features +~~~~~~~~~~~~~~~~ + +LVM thin is a block storage, but fully supports snapshots and clones +efficiently. New volumes are automatically initialized with zero. + +It must be mentioned that LVM thin pools cannot be shared across +multiple nodes, so you can only use them as local storage. + +.Storage features for backend `lvmthin` +[width="100%",cols="m,m,3*d",options="header"] +|============================================================================== +|Content types |Image formats |Shared |Snapshots |Clones +|images rootdir |raw |no |yes |yes +|============================================================================== + +Examples +~~~~~~~~ + +List available LVM thin pools on volume group `pve`: + + # pvesm lvmthinscan pve + diff --git a/pvesm.adoc b/pvesm.adoc index 90ae850..922e954 100644 --- a/pvesm.adoc +++ b/pvesm.adoc @@ -71,7 +71,7 @@ snapshots and clones. |NFS |nfs |file |yes |no |yes |GlusterFS |glusterfs |file |yes |no |yes |LVM |lvm |block |no |no |yes -|LVM-thin |lvmthin |block |no |yes |beta +|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 @@ -118,12 +118,16 @@ followed by a list of properties. Most properties have values, but some of them come with reasonable default. In that case you can omit the value. .Default storage configuration ('/etc/pve/storage.cfg') -==== - dir: local +---- +dir: local path /var/lib/vz - content backup,iso,vztmpl,images,rootdir - maxfiles 3 -==== + content iso,vztmpl,backup + +lvmthin: local-lvm + thinpool data + vgname pve + content rootdir,images +---- Common Storage Properties ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -316,6 +320,8 @@ include::pve-storage-zfspool.adoc[] include::pve-storage-lvm.adoc[] +include::pve-storage-lvmthin.adoc[] + include::pve-storage-iscsi.adoc[] include::pve-storage-iscsidirect.adoc[] -- 2.39.2