LVM hace una copia de seguridad de sus metadatos en /etc/lvm/backup
y /etc/lvm/archive
. En la parte superior de cada archivo, le indicará la hora / datos cuando se generó el archivo, por lo que es probable que tenga una copia de los metadatos anteriores tal como estaba antes de eliminar el LV. Creo que la copia de seguridad es automática cada vez que cambian los metadatos.
Lo siguiente puede ser peligroso y destructivo, así que tenga mucho cuidado y, si es posible, tenga una copia de seguridad completa.
El comando para restaurar estas copias de seguridad de metadatos de grupos de volúmenes es vgcfgrestore
. Asegúrese de hacer una copia actual de la configuración de trabajo existente usando el vgcfgbackup
comando con el indicador -f para especificar un archivo diferente para la salida para que no altere ningún archivo que esté en / etc / lvm / backup o / etc / lvm / carpetas de archivo. 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 recrear el LV recientemente eliminado. Tener una copia de seguridad completa de sus datos probablemente tampoco sea una mala idea. También puede considerar ponerse en contacto con su proveedor de Linux para obtener soporte / orientación si tiene un contrato de soporte antes de continuar, ya que nunca tuve que hacerlo yo mismo.
Buena suerte.
"¿Podría ser más específico acerca de encontrar EFROM y ETO en el archivo de respaldo? : 06 "
Ok, seré muy específico ... con la forma más simple de recuperar un volumen lógico.
Ejemplo:
1 - ¡He eliminado mi volumen lógico!
2 - Lo primero que debe hacer es buscar el archivo en /etc/lvm/archive/vg1_(xxxxx).vg. ¡Puedo hacer eso, solo mirando la fecha en que eliminé el volumen lógico!
3- ¡Lo encontré!
Fecha en que hice el lvremove !!! ... fue hace unos minutos ...
4 - ¡Veamos el archivo!
5 - ¡Haz una prueba antes de recuperarla!
6 - Ok, ahora repite la línea de comando, sin el (--test)
7 - ¡Compruébalo!
8 - Si la lógica no estaba activa, ¡hazlo!
Es todo
¡Espero que esto pueda ayudar a otras personas que buscan esta solución!
fuente
Lo más fácil de recuperar de lvremove (suponiendo que no haya escrito en la medida en que residía el LV) es:
Simplemente encuentre la copia de seguridad de sus metadatos en / etc / lvm / archive y descubra
a) en qué extensión residía el LV (EFROM, ETO)
b) en qué PV residía su LV y cuál se extiende en ese PV que estaba usando (PFROM, PTO)
Después de tener esta información, crea un nuevo LV del mismo tamaño exactamente en el mismo PV que se extiende sin borrar los primeros 8kB del LV:
fuente
(Como respondió Thermoman anteriormente), la forma más fácil de recrear un volumen LVM eliminado es crearlo con lvcreate sin poner a cero y asegurarse de que esté en la misma posición en el disco. (El comando de la respuesta de Thermoman no funcionó).
Verifique el tamaño y la posición del volumen lógico eliminado tal como estaban antes de la eliminación leyendo los archivos en / etc / lvm / archive. El tamaño del volumen está en
extent_count
elsegment1
(o la suma desegment*/extent_count
los valores si tuviera varias extensiones). La posición está en lastripes
sección después del alias de volumen físico (por ejemplopv0
).Por ejemplo, la sección de volumen podría verse así:
El tamaño de este
example
volumen era 1024 y estaba ubicado en / dev / somedisk a partir de la extensión 30720.Calcule la última extensión como inicio + tamaño -1 = 30720 + 1024 - 1 = 31743. Para recrear ese problema de volumen siguiente:
fuente
Tuve una situación similar. Tenía todos los PV que contenían los LV deseados, pero mi VG mostraba falta de PV y 0 LV. Me recuperé haciendo lo siguiente:
pvs
para recopilar UUID para todas las unidades.physical_volumes
sección, configure lasdevice =
líneas para que coincidan con el dispositivo / UUID actual que informapvs
, borre las"MISSING"
marcas y elimine laspvN
secciones que realmente faltaban.logical_volumes
sección, elimine cualquier listado que tenga franjas en laspvN
secciones que ya no existían.Eso fue todo, luego corrí
vgcfgrestore --test vg -f /root/dangerously_edited.vg
--test
opción.Logré mi situación particular extendiendo el VG con PV sdg y sdh. Luego creé un nuevo LV, especificando
/dev/sdg /dev/sdh
en la línea de comando para que supiera que el nuevo LV estaba en esas unidades. Luego moví solo esas unidades a una nueva máquina. La vieja máquina estaba muy molesta por las unidades faltantes, y cuando las quité por la fuerza, también eliminó TODOS los LV. Gorrón.La próxima vez, por supuesto, crearé un nuevo VG para evitar este problema.
fuente