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!