# lvol – Configure LVM logical volumes

- Synopsis

- Parameters

- Notes

- Examples

- Status

## Synopsis

- This module creates, removes or resizes logical volumes.

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---

active
boolean

Choices:
- no
- yes ←

Whether the volume is activate and visible to the host.

force
boolean

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 - |  | Free-form options to be passed to the lvcreate command.
pvs - |  | 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

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 - |  | 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

- This module is not guaranteed to have a backwards compatible interface. [preview]

- This module is maintained by the Ansible Community. [community]

### Authors

- Jeroen Hoekx (@jhoekx)

- Alexander Bulimov (@abulimov)

Hint

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