Un LVM snapshot crea una «imagen» de cualquier volumen lógico que tengamos. Esta «imagen» es como si tuviera todos los datos del volumen lógico cuando se creó el snapshot. NOTA: los snapshots no están destinados a ser usados directamente como backups, porque repercuten negativamente en el rendimiento del disco (cada modificación en el LV, tiene que actualizarse el snapshots)
Esto es bueno para hacer backups de, por ejemplo, una máquina virtualizada con KVM y que use como disco (block) un volumen lógico dentro de la máquina host. Lo que se hace es crear el LVM snapshot (que tarda un par de segundos como mucho) y ya se tiene una «instantánea» de la máquina virtualizada con KVM lista para poder hacer backup.
Para comprimir usaremos pigz, que es una modificación de gzip pero que aprovecha todos los cores/threads de la máquina para comprimir más rápido. Hice pruebas y donde gzip tardaba unos 15 minutos, pigz lo hacía en unos 4 minutos.
Comando para crear un snapshot Debian-snapshot, de un volumen lógico debian y de tamaño máximo de cambio con respecto al volumen original de 1GB:
lvcreate --snapshot -L1G -nDebian-snapshot /dev/vg0/debian
Se puede comprobar que está bien creado con lvs
Ahora, con el snapshot creado, lo comprimimos con pigz:
</dev/vg0/Debian-snapshot pigz -c > /path/to/backup/debian.gz
Ahora ya tenemos el archivo comprimido y podemos hacer con él lo que queramos: cifrarlo con gnupg, enviarlo a un equipo remoto, etc.
Finalmente, hay que borrar el snapshot para que no perjudique al rendimiento del disco:
lvremove -f /dev/vg0/Debian-snapshot