CÓMO RECUPERAR LOS METADATOS DE UN VOLUMEN en GNU/Linux

En está entrada vamos a ver como podemos intentar recuperar los datos de un PV y VG cuando estos han sido eliminados. 

En primer lugar debemos ver  /etc/lvm/archive/ que existe un backup el vg del VG el cual queremos recuperar

 ls -lrta /etc/lvm/archive/vgdata*
-rw------- 1 root root  894 Jun 19 15:52 /etc/lvm/archive/vgdata_00000-2098555027.vg
-rw------- 1 root root  912 Jun 19 15:52 /etc/lvm/archive/vgdata_00001-1414329116.vg
-rw------- 1 root root 1316 Jul 19 14:46 /etc/lvm/archive/vgdata_00002-2056399010.vg
-rw------- 1 root root 1360 Jul 19 14:48 /etc/lvm/archive/vgdata_00003-886028465.vg
-rw------- 1 root root 1403 Dec  4 08:55 /etc/lvm/archive/vgdata_00004-1449933138.vg
-rw------- 1 root root 1340 Dec 11 16:27 /etc/lvm/archive/vgdata_00005-1138050280.vg
-rw------- 1 root root  889 Dec 11 16:27 /etc/lvm/archive/vgdata_00006-1941356731.vg
-rw------- 1 root root  872 Dec 12 09:52 /etc/lvm/archive/vgdata_00007-915952696.vg
-rw------- 1 root root 1306 Dec 12 11:15 /etc/lvm/archive/vgdata_00009-1637811290.vg
-rw------- 1 root root  872 Dec 12 11:15 /etc/lvm/archive/vgdata_00008-216045630.vg

Vamos a recuperar el vgdata_00004-1449933138.vg que es del 4 de Diciembre, antes de borrar el pv.

Buscamos el ID del disco que necesitamos recuperar con este comando:

vgcfgrestore --list vgdata   

  File:         /etc/lvm/archive/vgdata_00000-2098555027.vg
  Couldn't find device with uuid ASc32f-pbuG-7rgH-OHkx-5E3Q-p7b7-Z7fDPR.
  VG name:      vgdata
  Description:  Created *before* executing 'vgcreate vgdata /dev/sdd'
  Backup Time:  Tue Jun 19 15:52:09 2018 

Restauramos el PV usando el ID obtenido y el backup antes de borrarlo:

pvcreate --uuid "ASc32f-pbuG-7rgH-OHkx-5E3Q-p7b7-Z7fDPR" --restorefile /etc/lvm/archive/vgdata_00005-1138050280.vg /dev/sdd 

Vemos que se ha recuperado el pv pero no tiene vg asociado:

lvs -a -o +devices
  LV             VG             Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert Devices
								-wi-ao---- 300.00g                                                     /dev/sdd(0)
  lv_home        vg_system      -wi-ao----   5.49g                                                     /dev/sda2(0)
  lv_root        vg_system      -wi-ao----  20.00g                                                     /dev/sda2(1406)
  lv_swap        vg_system      -wi-ao----   4.00g                                                     /dev/sda2(6526)
  lv_tmp         vg_system      -wi-ao----   4.00g                                                     /dev/sda2(7550)
  lv_usr         vg_system      -wi-ao----  16.00g                                                     /dev/sda2(8574)
  lv_var         vg_system      -wi-ao----  10.00g                                                     /dev/sda2(12670)

Una vez llegado a este punto, tenemos que recuperar el VG, para ello vamos a emplear el mismo backup

vgcfgrestore vgdata -f /etc/lvm/archive/vgdata_00004-1449933138.vg

Comprobamos que ya tenemos VG asociado 

 lvs -a -o +devices
		 vg_software    -wi-ao---- 300.00g                                                     /dev/sdd(0)
  lv_home        vg_system      -wi-ao----   5.49g                                                     /dev/sda2(0)
  lv_root        vg_system      -wi-ao----  20.00g                                                     /dev/sda2(1406)
  lv_swap        vg_system      -wi-ao----   4.00g                                                     /dev/sda2(6526)
  lv_tmp         vg_system      -wi-ao----   4.00g                                                     /dev/sda2(7550)
  lv_usr         vg_system      -wi-ao----  16.00g                                                     /dev/sda2(8574)
  lv_var         vg_system      -wi-ao----  10.00g                                                     /dev/sda2(12670)

Listamos los LV y vemos que se encuentra inactivo 

lvscan
  inactive          '/dev/vgdata/lv_data' [300.00 GiB] inherit
  ACTIVE            '/dev/vg_system/lv_home' [5.49 GiB] inherit
  ACTIVE            '/dev/vg_system/lv_root' [20.00 GiB] inherit
  ACTIVE            '/dev/vg_system/lv_swap' [4.00 GiB] inherit
  ACTIVE            '/dev/vg_system/lv_tmp' [4.00 GiB] inherit
  ACTIVE            '/dev/vg_system/lv_usr' [16.00 GiB] inherit
  ACTIVE            '/dev/vg_system/lv_var' [10.00 GiB] inherit

Activamos el LV asociado al VG 

lvchange -a y /dev/vgdata/lv_data

Comprobamos el sistema de archivos del volumen mediante el comando parted. Como podemos ver en mi caso se trata de un ext4

 parted /dev/mapper/vgdata-lv_data print
Model: Linux device-mapper (linear) (dm)
Disk /dev/mapper/vgdata-lv_data: 322GB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Disk Flags:

Number  Start  End    Size   File system  Flags
 1      0.00B  322GB  322GB  ext4

Lanzamos el chequeo para comprobar y solucionar posibles errores en los bloques

fsck.ext4  /dev/mapper/vgdata-lv_data -y

Una vez haya finalizado, intentamos montar el volumen

mount /dev/mapper/vgdata-lv_data /data

:wq!

Deja una respuesta

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