3 include::attributes.txt[]
7 :title: Storage: LVM Thin
10 Storage pool type: `lvmthin`
12 LVM normally allocates blocks when you create a volume. LVM thin pools
13 instead allocates blocks when they are written. This behaviour is
14 called thin-provisioning, because volumes can be much larger than
15 physically available space.
17 You can use the normal LVM command line tools to manage and create LVM
18 thin pools (see `man lvmthin` for details). Assuming you already have
19 a LVM volume group called `pve`, the following commands create a new
20 LVM thin pool (size 100G) called `data`:
23 lvcreate -L 100G -n data pve
24 lvconvert --type thin-pool pve/data
31 The LVM thin backend supports the common storage properties `content`, `nodes`,
32 `disable`, and the following LVM specific properties:
36 LVM volume group name. This must point to an existing volume group.
40 The name of the LVM thin pool.
43 .Configuration Example (`/etc/pve/storage.cfg`)
48 content rootdir,images
52 File naming conventions
53 ~~~~~~~~~~~~~~~~~~~~~~~
55 The backend use basically the same naming conventions as the ZFS pool
58 vm-<VMID>-<NAME> // normal VM images
64 LVM thin is a block storage, but fully supports snapshots and clones
65 efficiently. New volumes are automatically initialized with zero.
67 It must be mentioned that LVM thin pools cannot be shared across
68 multiple nodes, so you can only use them as local storage.
70 .Storage features for backend `lvmthin`
71 [width="100%",cols="m,m,3*d",options="header"]
72 |==============================================================================
73 |Content types |Image formats |Shared |Snapshots |Clones
74 |images rootdir |raw |no |yes |yes
75 |==============================================================================
80 List available LVM thin pools on volume group `pve`:
82 # pvesm lvmthinscan pve
89 * link:/wiki/Storage[Storage]