lvol – Configure LVM logical volumes

Synopsis

  • This module creates, removes or resizes logical volumes.

Parameters

Parameter Choices/Defaults Comments
active
boolean
added in 2.2
    Choices:
  • no
  • yes ←
Whether the volume is activate and visible to the host.
force
boolean
added in 1.5
    Choices:
  • no ←
  • yes
Shrink or remove operations of volumes requires this switch. Ensures that that filesystems get never corrupted/destroyed by mistake.
lv
-
The name of the logical volume.
opts
-
added in 2.0
Free-form options to be passed to the lvcreate command.
pvs
-
added in 2.2
Comma separated list of physical volumes (e.g. /dev/sda,/dev/sdb).
resizefs
boolean
added in 2.5
    Choices:
  • no ←
  • yes
Resize the underlying filesystem together with the logical volume.
shrink
boolean
added in 2.2
    Choices:
  • no
  • yes ←
Shrink if current size is higher than size requested.
size
-
The size of the logical volume, according to lvcreate(8) --size, by default in megabytes or optionally with one of [bBsSkKmMgGtTpPeE] units; or according to lvcreate(8) --extents as a percentage of [VG|PVS|FREE]; Float values must begin with a digit. Resizing using percentage values was not supported prior to 2.1.
snapshot
-
added in 2.1
The name of the snapshot volume
state
-
    Choices:
  • absent
  • present ←
Control if the logical volume exists. If present and the volume does not already exist then the size option is required.
thinpool
-
added in 2.5
The thin pool volume name. When you want to create a thin provisioned volume, specify a thin pool volume name.
vg
-
The volume group this logical volume is part of.

Notes

Note

  • You must specify lv (when managing the state of logical volumes) or thinpool (when managing a thin provisioned volume).

Examples

- name: Create a logical volume of 512m
  lvol:
    vg: firefly
    lv: test
    size: 512

- name: Create a logical volume of 512m with disks /dev/sda and /dev/sdb
  lvol:
    vg: firefly
    lv: test
    size: 512
    pvs: /dev/sda,/dev/sdb

- name: Create cache pool logical volume
  lvol:
    vg: firefly
    lv: lvcache
    size: 512m
    opts: --type cache-pool

- name: Create a logical volume of 512g.
  lvol:
    vg: firefly
    lv: test
    size: 512g

- name: Create a logical volume the size of all remaining space in the volume group
  lvol:
    vg: firefly
    lv: test
    size: 100%FREE

- name: Create a logical volume with special options
  lvol:
    vg: firefly
    lv: test
    size: 512g
    opts: -r 16

- name: Extend the logical volume to 1024m.
  lvol:
    vg: firefly
    lv: test
    size: 1024

- name: Extend the logical volume to consume all remaining space in the volume group
  lvol:
    vg: firefly
    lv: test
    size: +100%FREE

- name: Extend the logical volume to take all remaining space of the PVs and resize the underlying filesystem
  lvol:
    vg: firefly
    lv: test
    size: 100%PVS
    resizefs: true

- name: Resize the logical volume to % of VG
  lvol:
    vg: firefly
    lv: test
    size: 80%VG
    force: yes

- name: Reduce the logical volume to 512m
  lvol:
    vg: firefly
    lv: test
    size: 512
    force: yes

- name: Set the logical volume to 512m and do not try to shrink if size is lower than current one
  lvol:
    vg: firefly
    lv: test
    size: 512
    shrink: no

- name: Remove the logical volume.
  lvol:
    vg: firefly
    lv: test
    state: absent
    force: yes

- name: Create a snapshot volume of the test logical volume.
  lvol:
    vg: firefly
    lv: test
    snapshot: snap1
    size: 100m

- name: Deactivate a logical volume
  lvol:
    vg: firefly
    lv: test
    active: false

- name: Create a deactivated logical volume
  lvol:
    vg: firefly
    lv: test
    size: 512g
    active: false

- name: Create a thin pool of 512g
  lvol:
    vg: firefly
    thinpool: testpool
    size: 512g

- name: Create a thin volume of 128g
  lvol:
    vg: firefly
    lv: test
    thinpool: testpool
    size: 128g

Status

Authors

  • Jeroen Hoekx (@jhoekx)
  • Alexander Bulimov (@abulimov)

Hint

If you notice any issues in this documentation you can edit this document to improve it.