LINUX

Cómo hacer una copia de seguridad de la configuración de LVM en Linux (vgcfgbackup y vgcfgrestore)

Copia de seguridad LVM

Debido a varias razones, un grupo de volúmenes puede dañarse después de la intervención involuntaria del usuario. LVM no se dará cuenta de esta situación a menos que la alternativa ya esté en el grupo de volúmenes y pueda permitir agregar la ruta alternativa a un grupo de volúmenes diferente. Dos de los comandos útiles proporcionados como parte de LVM son vgcfgbackup y vgcfgrestore. Estos comandos le permiten hacer una copia de seguridad de los metadatos de un grupo de volúmenes. Puede que esto no parezca mucho, pero hay algunos escenarios en los que tener una copia de seguridad de los metadatos del grupo de volúmenes puede ahorrar algo de tiempo y tal vez también la cordura.

De forma predeterminada, la copia de seguridad de los metadatos se almacena en el /etc/lvm/backup archivo y los archivos de metadatos se almacenan en el /etc/lvm/archive expediente. En la parte superior de cada archivo, le indicará la hora / los datos en que se generó el archivo, por lo que es probable que tenga una copia de los metadatos más antiguos como estaba antes de las operaciones irreversibles.

En muchos casos, la configuración de LVM se corrompe. Lvm también podría estar dañado en algunas fallas de disco y al reiniciar el sistema operativo no se inicia. Por eso es importante tener la copia de seguridad de la configuración de lvm.

Vea nuestra configuración de lvm a continuación:

# pvs
 PV VG Fmt Attr PSize PFree 
 /dev/sda2 centos lvm2 a-- 19.51g 40.00m
 /dev/sdb vg-01 lvm2 a-- 15.00g 13.30g
 /dev/sdc vg-01 lvm2 a-- 20.00g 19.30g

Información de nuestro grupo de volumen:

root@centos7-srv admin]# vgs
VG #PV #LV #SN Attr VSize VFree 
centos 1 2 0 wz--n- 19.51g 40.00m
vg-01 2 3 0 wz--n- 34.99g 32.59g

Ahora, información de volumen lógico:

# lvs
 LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
 root centos -wi-ao---- 17.47g 
 swap centos -wi-ao---- 2.00g 
 lv_linear vg-01 -wi-a----- 1.00g 
 lv_mirror vg-01 rwi-a-r--- 200.00m 100.00 
 lv_stripe vg-01 -wi-a----- 1.00g

1. vgcfgbackup

Siempre que realice actividades de lvm como lvcreate, remove, disk add … debe actualizarse en el respectivo archivo de configuración del grupo de volúmenes en /etc/lvm/ directorio. Si el disco falla, podemos restaurar la configuración de LVM en el disco usando este archivo de configuración de respaldo. El comando vgcfgbackup toma los metadatos de configuración del encabezado lvm del disco y los guarda en una ubicación de archivo predeterminada /etc/lvm/backup/vg_name. De forma predeterminada, vgcfgbackup se ejecuta automáticamente cada vez que el comando lvm cambia la configuración de lvm. Lee los detalles del encabezado LVM del área del sistema del disco y lo copia en el archivo. Este archivo le ayuda a restaurar la configuración en el disco recién agregado en lugar del disco antiguo que puede haberse dañado o fallado.

Tenga en cuenta que una copia de seguridad de metadatos no realiza una copia de seguridad de los datos del sistema y del usuario contenidos en los volúmenes lógicos. Se recomienda realizar esta copia de seguridad después de cada cambio de nivel de LVM. De forma predeterminada, todos los comandos LVM que alteran los detalles de LVM están diseñados para realizar esta copia de seguridad automáticamente, por lo que no es necesario ejecutar el comando manualmente.

# vgcfgbackup [-f path_newfilename ] vg_name
  • nombre_vg: el nombre de la ruta de un grupo de volúmenes
  • -f path_newfilename:  guarde la configuración usando el nuevo nombre de archivo especificado en la ruta especificada. Si -f se omite, el nombre de archivo predeterminado tiene la forma de /etc/lvm/backup/vg_name donde vg_name es el nombre base de vg_name. Si no especificó una nueva ruta, guardará el nuevo archivo en el directorio actual.

Ejemplo:

# vgcfgbackup /dev/vg-01
 Volume group "vg-01" successfully backed up.

Podemos ver el mensaje de que nuestra copia de seguridad es un éxito. Veamos la carpeta de respaldo

# ls -l /etc/lvm/backup/
total 8
-rw-------. 1 root root 1715 Apr 25 16:50 centos
-rw-------. 1 root root 4089 May 4 01:39 vg-01

El nombre de archivo predeterminado es similar al nombre de nuestro grupo de volúmenes. Ahora, veamos qué sucede cuando usamos -f opción

# vgcfgbackup -f vg-01_bak /dev/vg-01
 Volume group "vg-01" successfully backed up.

Es todo un acierto. Revisemos nuestro archivo vg-01_bak en el directorio de respaldo

# ls /etc/lvm/backup/
centos vg-01

Solo existe el archivo anterior. No vemos nuestro archivo. Ahora revisemos el directorio actual

# ls -l
total 56392
-rwxrwxrwx. 1 admin admin 1975 Apr 25 17:01 manifest.txt
-rwxrwxrwx. 1 admin admin 2287 Apr 25 17:01 run_upgrader.sh
-rw-------. 1 root root 4074 May 4 02:05 vg-01_bak

Puede ver nuestro archivo en la última línea. Ahora intentemos el mismo comando pero especificaremos la carpeta de respaldo predeterminada.

# vgcfgbackup -f /etc/lvm/backup/vg-01_bak /dev/vg-01
 Volume group "vg-01" successfully backed up.

Ahora veamos.

# ls -l /etc/lvm/backup/
total 12
-rw-------. 1 root root 1715 Apr 25 16:50 centos
-rw-------. 1 root root 4089 May 4 01:39 vg-01
-rw-------. 1 root root 4090 May 4 02:26 vg-01_bak

2. vgcfgrestore

El comando vgcfgrestore restaura la configuración del grupo de volúmenes LVM desde el archivo a todos los volúmenes físicos en los grupos de volúmenes. No se puede realizar la restauración si el grupo de volumen está activado en modo compartido. Asegúrese de hacer una copia actual de la configuración de trabajo existente usando el comando vgcfgbackup con el -f para especificar un archivo diferente para la salida, de modo que no altere ningún archivo que esté en el /etc/lvm/backup o /etc/lvm/archive carpetas. Asegúrese de diferenciar la configuración actual con la configuración que desea restaurar para verificar que los únicos cambios que está a punto de aplicar son para revertir las operaciones erróneas.

vgcfgrestore [-f|--file <filename>] [-t|--test] [-v] vg_name
  • nombre_vg: el nombre del grupo de volumen correspondiente
  • -f filename: indica el nombre del archivo de copia de seguridad de metadatos LVM que especifica una copia de seguridad de metadatos o un archivo de almacenamiento que se utilizará para restaurar el nombre_vg
  • --test: se puede usar para verificar el error del comando que puede ocurrir
  • -v: para tener el detalle de lo que pasa actualmente

En el siguiente ejemplo, simularemos la eliminación de un volumen lógico e intentaremos restaurarlo.

NÓTESE BIEN: El siguiente ejemplo puede ser peligroso y destructivo así que tenga mucho cuidado y, si es posible, tenga una copia de seguridad completa. Asegúrate de probarlo en un entorno de prueba.

Paso 1: Eliminar un volumen lógico

# lvremove /dev/vg-01/lv_linear 
Do you really want to remove active logical volume lv_linear? [y/n]: y
 Logical volume "lv_linear" successfully removed

Controlar

# lvs
 LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
 root centos -wi-ao---- 17.47g 
 swap centos -wi-ao---- 2.00g 
 lv_mirror vg-01 rwi-a-r--- 200.00m 100.00 
 lv_stripe vg-01 -wi-a----- 1.00g

Paso 2: Ahora busque el archivo de almacenamiento en /etc/lvm/archive/vgname_(xxxxx).vg. Solo mira la fecha en la que has eliminado el volumen lógico. En nuestro caso es el último archivo de la lista.

# ls -l /etc/lvm/archive/
total 28
-rw-------. 1 root root 1716 Apr 25 16:50 centos_00000-34432512.vg
-rw-------. 1 root root 1562 May 1 16:02 vg-01_00002-1413920221.vg
-rw-------. 1 root root 2009 May 1 16:07 vg-01_00003-718049637.vg
-rw-------. 1 root root 4097 May 4 03:51 vg-01_00004-306926489.vg

Paso 3: Verifique el contenido del archivo para verificar la hora / datos cuando se generó el archivo y la descripción que indica la acción realizada antes

# head /etc/lvm/archive/vg-01_00004-306926489.vg 
# Generated by LVM2 version 2.02.130(2)-RHEL7 (2015-10-14): Thu May 4 03:51:35 2017

contents = "Text Format Volume Group"
version = 1

description = "Created *before* executing 'lvremove /dev/vg-01/lv_linear'"

creation_host = "centos7-srv" # Linux centos7-srv 3.10.0-514.16.1.el7.x86_64 #1
creation_time = 1493866295 # Thu May 4 03:51:35 2017

Puede ver la descripción que indica que el archivo se creó antes de ejecutar el comando lvremove.

Paso 4: Ahora recupéralo. Puede probar antes de recuperarse con --test opción

# vgcfgrestore vg-01 -v -f /etc/lvm/archive/vg-01_00004-306926489.vg 
 Found same device /dev/sdb with same pvid 3vXbKwkq63cBiydWgQfkd2aaBeYo6b5I
 Found same device /dev/sdc with same pvid E9wih1232IjADxwkSwRC9kVV3VPJbD5O
 Restored volume group vg-01

Paso 5: Ahora podemos comprobarlo

<# lvscan
 ACTIVE '/dev/centos/swap' [2.00 GiB] inherit
 ACTIVE '/dev/centos/root' [17.47 GiB] inherit
 inactive '/dev/vg-01/lv_linear' [1.00 GiB] inherit
 ACTIVE '/dev/vg-01/lv_stripe' [1.00 GiB] inherit
 ACTIVE '/dev/vg-01/lv_mirror' [200.00 MiB] inherit

Puede ver que nuestra lógica no está activa en la tercera línea. Lo activaremos y volveremos a comprobar

# lvchange -ay /dev/vg-01/lv_linear
# lvscan | grep lv_linear
 ACTIVE '/dev/vg-01/lv_linear' [1.00 GiB] inherit

Conclusión

Los comandos vgcfgbackup y vgcfgrestore son comandos útiles para usar cuando necesita restaurar metadatos de grupos de volúmenes. También puede usar vgcfgrestore para restaurar una versión anterior de los metadatos.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar