Realizar Snapshots con LVM

LVM nos permite realizar instantáneas o snapshot de los Volúmenes Lógicos (LV), esta funcionalidad nos permitirá guardar el estado actual de un LV y revertir cambios al estado anterior en caso de necesitarlo.

Hay que tener la precaución que la instantánea no se quede sin espacio, de ser así la instantánea quedaría inservible. Es buena política monitorizarla para ampliarla en el caso de necesitarlo, la forma de ampliarla es como si de un LV se tratase. También tenemos la opción de hacer que crezca automáticamente modificado los siguiente parámetros en /etc/lvm/lvm.conf.

snapshot_autoextend_threshold = 100
snapshot_autoextend_percent = 20

Para crear la instantánea utilizamos el comando lvcreate con el parámetro “-s”, el formato sería el siguiente:

lvcreate –L [tamaño] –s –n [nombre_instantanea] [volumen]

Como ejemplo crearemos una instantánea del Volumen Lógico lvol_01 que se encuentra en el Grupo de Volumen llamado Volumen01

# lvcreate –L 100M –s –n lvol01_snapshot /dev/Volumen01/lvol_01

lvm

Con el comando lvs podremos ver que hemos creado el snapshot:

# lvs

lvm

A partir de ahora tenemos una foto (snapshot) de los archivos que pertenecían al lvol_01

 

Volver al estado anterior al snapshot

En el caso que queramos volver al estado de antes de crear el snapshot y deshacer los cambios realizado desde el mismo:

 # lvconvert --merge /dev/Volumen01/lvol_01_snapshot

lvm

Y reiniciamos el Sistema, para evitar el reinicio podemos desmontar la unidad y desactivarla antes de proceder a realizar el merge. Para desactivar el volumen

# lvchange -an /dev/Volumen/lvol_01

Para activar el volumen:

# lvchange -ay /dev/Volumen/lvol_01

 

Validar los datos del snapshot y borrarlo

Para mantener los datos anteriores y posteriores al snapshot en el volumen lvol_01 y además eliminar el shapshot lvol_01_snapshot ejecutaremos:

# lvremove /dev/Volumen01/lvol_01_snapshot

lvm