GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo crear una instantánea de volúmenes delgados LVM usando el comando snapper

Snapper es una utilidad de línea de comandos en Linux que se utiliza para crear y administrar instantáneas de volúmenes delgados LVM. Puede crear, eliminar y comparar instantáneas y revertir los cambios realizados entre instantáneas. Snapper también permite la fácil creación y administración de instantáneas para Btrfs.

Instalando pargo

Use el comando yum para instalar el paquete de software snapper.

# yum install snapper
...
Transaction Summary ============================================================= 
Install 1 Package (+3 Dependent packages)
Total download size: 499 k Installed size: 1.5 M
Is this ok [y/d/N]: y
...
Complete!

Utilice el comando rpm –ql para ver los archivos proporcionados por el paquete snapper.

# rpm –ql snapper
/etc/cron.daily/snapper 
/etc/cron.hourly/snapper 
/etc/dbus-1/system.d/org.opensus.Snapper.conf 
/etc/logrotate.d/snapper
/usr/bin/snapper
/usr/sbin/snapperd /usr/share/dbus-1/system-services/org.opensus.Snapper.service 
...
Tenga en cuenta los dos archivos cron snapper.
– De forma predeterminada, snapper configura un cron.hourly trabajo para crear instantáneas en .snapshots subdirectorio del volumen y un cron.daily trabajo para limpiar instantáneas antiguas.
– Puede editar el archivo de configuración para deshabilitar o cambiar este comportamiento.

1. Creación de un volumen lógico de aprovisionamiento fino

Utilice el comando lvcreate para crear un volumen de aprovisionamiento delgado denominado thinvol1. Tenga en cuenta que este volumen debe montarse antes de crear la instantánea con el comando snapper.

# vgs
VG      #PV #LV  #SN  Attr     VSize      VFree
myvolg  1    0    0   wz--n-   1020.00m   1020.00m

Crea una piscina delgada:

# lvcreate –v –L 100m –T myvolg/mythinpool 
...
  Logical volume “mythinpool” created

Crear un volumen con aprovisionamiento ligero:

# lvcreate –v –V 200m –T myvolg/mythinpool –n thinvol1 
...
  Logical volume “thinvol1” created

Cree un sistema de archivos en el volumen delgado.

# mkfs.ext4 /dev/myvolg/thinvol1
...
Writing superblocks and filesystem accounting information: done

Monte el sistema de archivos:

# mkdir /myvol1
# mount /dev/myvolg/thinvol1 /myvol1

2. Creando el archivo de configuración del pargo

Para crear una instantánea con snapper, se requiere un archivo de configuración para el volumen delgado LVM o el subvolumen Btrfs. Los volúmenes LVM y Btrfs también deben tener un sistema de archivos montado. Utilice el comando create-config para crear el archivo de configuración. El siguiente ejemplo crea un archivo de configuración denominado myvol_snap para un sistema de archivos LVM ext4 montado en /myvol1:

# snapper –c myvol1_snap create-config –f "lvm(ext4)" /myvol1

– Este comando agrega una entrada a /etc/sysconfig/snapper.
– Este comando crea el archivo de configuración /etc/snapper/configs/myvol1_snap.
– Este comando crea un directorio .snapshots en /myvol1 directorio.

# cat /etc/sysconfig/snapper 
... 
SNAPPER_CONFIGS=”myvol1_snap”
# cat /etc/snapper/configs/myvol1_snap ...
# subvolume to snapshot SUBVOLUME=”/myvol1”
# filesystem type
FSTYPE=”lvm(ext4)”
...
# start comparing pre- and post-snapshot in background after... BACKGROUND_COMPARISON=”yes”
# run daily number cleanup
NUMBER_CLEANUP=”yes”
...
# create hourly snapshots
TIMELINE_CREATE=”yes”
# cleanup hourly snapshots after some time
TIMELINE_CLEANUP=”yes”
...
# cleanup empty pre-post-pairs
EMPTY_PRE_POST_CLEANUP=”yes”
...

Las instantáneas del sistema de archivos /myvol1 se almacenan en el subdirectorio .snapshots.

# ls –la /myvol1
...
drwxr-x--- ... .snapshots
...

Tipos de instantáneas

Hay tres tipos de instantáneas que puede crear usando snapper:
pre: Úselo para registrar el estado de un volumen antes de una modificación. Las instantáneas previas siempre deben tener una instantánea posterior correspondiente.
publicación: Úselo para registrar el estado de un volumen después de una modificación.
único: Estas instantáneas no tienen una relación especial con otras instantáneas.

3. Creando instantánea

Cree algún archivo de prueba en el directorio /myvol1.

# echo "This is a test file" > /myvol1/test_file

Use snapper create -t ​​pre para crear una instantánea previa del volumen definido por myvol1_snap archivo de configuración. Incluya la opción –p para mostrar el número de la instantánea que se está creando. (En este ejemplo, el número de instantánea previa es 1)

# snapper –c myvol1_snap create –t pre –p
1

Las instantáneas se almacenan por número de instantánea en el subdirectorio .snapshots del volumen. Ver el contenido del directorio /myvol1/.snapshots.

# ls –l /myvol1/.snapshots 
...
drwxr-xr-x ... 1

Ver el contenido del directorio /myvol1/.snapshots/1.

# ls –l /myvol1/.snapshots/1 
...
-rw-------    ...     info.xml 
drwxr-x---    ...     snapshot

Ahora modifique el contenido del directorio /myvol1 eliminando test_file.

# rm /myvol1/test_file

Utilice snapper create -t ​​post para crear una instantánea posterior del volumen definido por el archivo de configuración myvol1_snap. Incluya la opción –pre-num 1 para asociar esta instantánea posterior con la instantánea previa 1. Incluya la opción –p para mostrar el número de la instantánea que se está creando.

# snapper –c myvol1_snap create –t post --pre-num 1 –p 
2

Vería un nuevo nombre de directorio 2 creado en el directorio .snapshots.

# ls –l /myvol1/.snapshots/2 
...
-rw------- ... filelist-1.txt 
-rw------- ... info.xml 
drwxr-x--- ... snapshot

La lista de archivos-1.txt contiene el archivo que se eliminó después de la instantánea previa y antes de la instantánea posterior.

# cat /myvol1/.snapshots/2/filelist-1.txt 
-..... /test_file

Comparación de instantáneas previas y posteriores

Utilice el comando snapper status para mostrar los archivos y directorios que se agregaron, eliminaron o modificaron entre la instantánea previa 1 y la instantánea posterior 2.

# snapper –c myvol1_snap status 1..2
-..... /test_file

Utilice el comando snapper diff para mostrar las diferencias entre el contenido de los archivos en la instantánea previa 1 y la instantánea posterior 2.

# snapper –c myvol1_snap diff 1..2
Binary files /myvol1/.snapshots/1/snapshot/test_file and /myvol1/.snapshots/2/snapshot/test_file differ

Use el comando snapper list para enumerar las instantáneas que existen para el volumen definido por el archivo de configuración myvol1_snap.

# snapper –c myvol1_snap list
Type  | # | Pre # | Date | User | Cleanup |Description| Userdata
------+---+-------+------+------+---------+------------+--------
single| 0 |       | ...  | root |         |  Current  |
pre   | 1 |       | ...  | root |         |	      |
post  | 2 |   1   | ...  | root |         |           |

revertir los cambios de post snapshot a pre shanshot

Para deshacer los cambios de la instantánea posterior a la instantánea previa, es decir, para restaurar el archivo de prueba, use el deshacer cambio del complemento comando.

# snapper –c myvol1_snap undochange 1..2 
create:1 modify:0 delete:0

Verificar

# ls /myvol1
lost+found
test_file


Linux
  1. Cómo crear una base de datos en MySQL usando la línea de comandos

  2. Cómo crear una unidad USB de arranque usando el comando dd

  3. Cómo crear un script de un comando de Linux

  4. Cómo crear un volumen físico en Linux usando LVM

  5. ¿Es así como funcionan las instantáneas de LVM?

Cómo crear un enlace simbólico en Linux usando el comando Ln

Cómo crear un archivo en Linux usando el comando Cat

Cómo crear un alias en Linux

Cómo crear un archivo en Linux usando Terminal

Cómo crear y restaurar instantáneas de máquinas virtuales en VirtualBox

Cómo crear una partición usando el comando "partid"