LVM: Como recuperar un volumen eliminado por error.

Imagen de RazaMetaL

Tema: 

Ayer estaba jugando con un servidor en el cual instale LVM. Cuando recién lo instalé solo tenía dos discos y escogí utilizar LVM desde el instalador de Debian 5.02.

El servidor funcionó, instalé una y otra cosa y todo iba de maravillas. Cuando de repente, me trajeron 4 discos mas, así que manos a la obra, los instalé, leí el excelente [url=http://www.ecualug.org/2006/09/08/comos/centos/usando_lvm2_en_linux_centos]manual de Epe[/url] para entender como es que funciona y luego procedí a agregar los discos al único volúmen que tenía creado, pero cometí un grave error, que ejecuté el comando:

pvcreate /dev/sdb1

Donde sdb1 era uno de los dos discos duros que ya formaban parte del volúmen :(

Al hace vgscan obtenía esto:

mail:/etc/lvm/archive# vgscan
Reading all physical volumes. This may take a while...
Couldn't find device with uuid 'lgV0hS-vv3p-k06d-xk1C-5NT7-PBxI-kEXcF6'.
Couldn't find all physical volumes for volume group mail.
Couldn't find device with uuid 'lgV0hS-vv3p-k06d-xk1C-5NT7-PBxI-kEXcF6'.
Couldn't find all physical volumes for volume group mail.
Volume group "mail" not found

Esto significa que el volúmen mail ya no existía !!

Afortunadamente, encontré a Epe en la noche y a través del chat me dió las luces de como podría recuperar el volúmen. De esta conversación nació [url=http://twitter.com/NuestroServer/status/4639960315]esta frase[/url] :).

Esto es lo que hice para recuperar el volúmen:

1.- hacer un backup de lo importante, como el servidor tenía pocas horas de instalado no lo había hecho antes :)
2.- dentro de /etc/lvm podemos encontrar archive/ y backup/. Esta ultima ruta es muy importante porque mantiene un respaldo de los volúmenes para casos de desastre;
3.- Al hacer vgscan obtenía el uuid del disco que faltaba en el volúmen y por el cual este no arrancaba, dentro de /etc/lvm/backup/mail existía una entrada para el pv /dev/sdb1 con ese uuid
4.- Para recrear el volúmen conociendo el uuid se ejecuta:

pvcreate --uuid "lgV0hS-vv3p-k06d-xk1C-5NT7-PBxI-kEXcF6" --restorefile
/etc/lvm/backup/mail /dev/sdb1

5.- Eso restaurará el volúmen, lo podemos contatar con el comando vgdisplay:

VG Name mail
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 67,58 GB
PE Size 4,00 MB
Total PE 17301
Alloc PE / Size 8620 / 33,67 GB
Free PE / Size 8681 / 33,91 GB
VG UUID l56tSf-1JWP-hK8q-1eLa-G2Vj-YwAw-ER5hWK

Y listo, ya esta restaurado el volúmen :)

Ahora, para agregar los demás discos previamente particionados hice:

vgextend mail /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1

Y cambié el tamaño con:

resize2fs /dev/mapper/mail-root

Luego de eso, vgdisplay me muestra lo siguiente:

--- Volume group ---
VG Name mail
System ID
Format lvm2
Metadata Areas 5
Metadata Sequence No 6
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 6
Act PV 6
VG Size 203,22 GB
PE Size 4,00 MB
Total PE 52025
Alloc PE / Size 51884 / 202,67 GB
Free PE / Size 141 / 564,00 MB
VG UUID l56tSf-1JWP-hK8q-1eLa-G2Vj-YwAw-ER5hWK

Que fácil fué pasar de tener 32Gb a 200 :) pero que susto que me llevé.

Esta experiencia me hizo sacar tres conclusiones, puede resultar muy pero muy fácil perder la información por ingresar mal un comando, el backup es muy importante y, siempre es bueno tener a un guru conectado al mensajero instantáneo ;)

Comentarios

un pringao, nada hermano, un

Imagen de Epe

un pringao, nada hermano, un gusto ayudarte, siempre trato de colaborar cuando una desgracia así falta, nunca de dañar discos. siempre aportando, porque así crecemos.

pienso ahora mirandolo en perspectiva que con cambiarle el uuid por el que actualmnte el pv le habías puesto (al poner pvcreate le cambiaste el uuid) bastaba... en el lvm.conf o algo así.

Saludos
epe

EcuaLinux.com

+(593) 9 9924 6504

Servicios en Software Libre

No puedo montar una volumen con lvm2

Voy a tratar de explicar lo sucedido, todo esto con Debian Wheezy 64 bit:

1.- Tengo tres DD de 500 GB, de ellos tomé de /dev/sda1 para el raíz(/) y para los restantes creé cinco (5) volumenes lógicos en /dev/sda5:

a) /dev/srv/opt
b) /dev/srv/var
c) /dev/srv/tmp
d) /dev/srv/home
e) /dev/srv/usr

Mi problema se presentó con la partición Raíz (/) se dañó y no reconoce casi ningún comando, el disco está sonando y da error(16). Creé otra partición, reduciendo la /dev/sda1; y reinstale nuevamente un sistema en limpio. Cuando hago un lvscan, me indica que el dispositivo no puede ser encontrado y me muestra todos los volumen de lvm2 como inactive.

Necesito ayuda, ya que los volumenes var y home tengo data sin repaldar