lvol – Configure LVM logical volumes

From Get docs
Ansible/docs/2.7/modules/lvol module


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

  • no
  • yes

Whether the volume is activate and visible to the host.

force

boolean

added in 1.5

  • 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

  • no

  • yes

Resize the underlying filesystem together with the logical volume.

shrink

boolean

added in 2.2

  • 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

-

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


© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/modules/lvol_module.html