The snapshot_create
role is used to control the creation for a defined set of LVM snapshot volumes.
In addition, it can optionally save the Grub configuration and image files under /boot and configure settings to enable the LVM snapshot autoextend capability.
The role will verify free space and should fail if there is not enough or if any snapshots already exist for the given snapshot_create_set_name
.
The role is designed to support the automation of RHEL in-place upgrades, but can also be used to reduce the risk of more mundane system maintenance activities.
When set to true
the role will only verify there is enough free space for the specified snapshots and not create them.
Default false
The variable snapshot_create_set_name
is used to identify the list of volumes to be operated upon.
The role will use the following naming convention when creating the snapshots:
<Origin LV name>_<snapshot_create_set_name>
Boolean to specify that the role should preserve the Grub configuration and image files under /boot required for booting the default kernel.
The files are preserved in a compressed tar archive at /root/boot-backup-<snapshot_create_set_name>.tgz
. Default is false
.
Warning
When automating RHEL in-place upgrades, do not perform a Grub to Grub2 migration as part of your upgrade playbook. It will invalidate your boot backup and cause a subsequent
revert
action to fail. For example, if you are using theupgrade
role from theinfra.leapp
collection, do not setupdate_grub_to_grub_2
totrue
. Grub to Grub2 migration should only be performed after theremove
action has been performed to delete the snapshots and boot backup.
Configure the given snapshot_create_autoextend_threshold
setting in lvm.conf before creating snapshots.
Configure the given snapshot_create_snapshot_autoextend_percent
setting in lvm.conf before creating snapshots.
This is the list of logical volumes for which snapshots are to be created and the size requirements for those snapshots. The volumes list is only required when the role is run with the check or create action.
The volume group of the origin logical volume for which a snapshot will be created.
The origin logical volume for which a snapshot will be created.
The size of the logical volume according to the definition of the
size
parameter of the community.general.lvol
module.
To create thin provisioned snapshot of a thin provisioned volume, omit the size
parameter or set it to 0
Perform space check and fail of there will not be enough space for all the snapshots in the set. If there is sufficient space, proceed to create snapshots for the listed logical volumes. Each snapshot will be sized to 20% of the origin volume size. Snapshot autoextend settings are configured to enable free space in the volume group to be allocated to any snapshot that may exceed 70% usage in the future. Files under /boot will be preserved.
- hosts: all
roles:
- name: snapshot_create
snapshot_create_set_name: ripu
snapshot_create_snapshot_autoextend_threshold: 70
snapshot_create_snapshot_autoextend_percent: 20
snapshot_create_boot_backup: true
snapshot_create_volumes:
- vg: rootvg
lv: root
size: 2G
- vg: rootvg
lv: var
size: 2G