Resulta que hay una carpeta con copias de seguridad de la información de los LVMs por si pasa algo como esto en /etc/lvm/backup y /etc/lvm/archive. Si somos capaces de tener esos archivos (bien porque se ha roto sin haber reinstalado o bien porque tenemos una copia) es relativamente sencillo:
pvcreate --uuid "XXXXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXXX" --restorefile /etc/lvm/archive/vg01_0000X-XXXXXXXXX.vg /dev/sdd1
Eligiendo el archivo correspondiente a nuestra partición a recuperar que sea más reciente.
Ahora bien, como yo he reinstalado el sistema, esa carpeta la perdí. Rebuscando información para ver como recuperar la información para poder hacer ese archivo a mano, encontré en los foros de ubuntu una ayuda (no tengo ahora mismo el enlace pero si alguna vez lo lees, ¡gracias!). Con el comando string podemos ver un volcado en texto plano de algunos datos del disco. En mi caso, no se si siempre es así, los datos correspondientes al LVM me aparecían al principio y por desgracia no estaban completos, aunque tuve suerte ya que lo que necesitaba sí estaba.
En mi caso tenía una VG llamado vg1 con dos LVMs: "backup" y "data". En este caso la que me importaba recuperar era backup. En mi caso esta es la info (editada) que conseguí recuperar:
LABELONE
LVM2 001bIgag30QmYiGlP3Z3yB4WdBP0983IAKnG
LVM2 x[5A%r0N*>
vg1 {
id = "XXXXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXXX"
seqno = 4
format = "lvm2"
status = ["RESIZEABLE", "READ", "WRITE"]
flags = []
extent_size = 8192
max_lv = 0
max_pv = 0
metadata_copies = 0
physical_volumes {
pv0 {
id = "YYYYYY-YYYY-YYYY-YYYY-YYYY-YYYY-YYYYYY"
device = "/dev/sdd1"
status = ["ALLOCATABLE"]
flags = []
dev_size = 7814035087
pe_start = 2048
pe_count = 953861
logical_volumes {
backup {
id = "ZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZ"
status = ["READ", "WRITE", "VISIBLE"]
flags = []
creation_host = "localhost"
creation_time = 1463086567
segment_count = 1
segment1 {
start_extent = 0
extent_count = 681575
type = "striped"
stripe_count = 1
stripes = [
"pv0", 262144
Así que me generé un fichero en /etc/lvm/archive con esos datos:
contents = "Text Format Volume Group"
version = 1
description = "Created *before* executing 'lvconvert --type thin-pool pve/data'"
creation_host = "localhost" # Linux sd16 4.10.15-1-pve #1 SMP PVE 4.10.15-15 (Fri, 23 Jun 2017 08:57:55 +0200) x86_64
creation_time = 1499844119 # Wed Jul 12 09:21:59 2017
vg1 {
id = "XXXXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXXX"
seqno = 4
format = "lvm2" # informational
status = ["RESIZEABLE", "READ", "WRITE"]
flags = []
extent_size = 8192 # 4 Megabytes
max_lv = 0
max_pv = 0
metadata_copies = 0
physical_volumes {
pv0 {
id = "YYYYYY-YYYY-YYYY-YYYY-YYYY-YYYY-YYYYYY"
device = "/dev/sdd1" # Hint only
status = ["ALLOCATABLE"]
flags = []
dev_size = 7814035087 # 893.626 Gigabytes
pe_start = 2048
pe_count = 953861 # 893.625 Gigabytes
}
}
logical_volumes {
backup {
id = "ZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZ"
status = ["READ", "WRITE", "VISIBLE"]
flags = []
creation_time = 1463086567 # 2017-07-12 08:10:32 +0200
creation_host = "localhost"
segment_count = 1
segment1 {
start_extent = 0
extent_count = 681575 # 15 Gigabytes
type = "striped"
stripe_count = 1 # linear
stripes = [
"pv0", 262144
]
}
}
}
}
Una vez hechora podemos ejecutar:
pvcreate --uuid "XXXXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXXX" --restorefile /etc/lvm/archive/vg01_0000X-XXXXXXXXX.vg /dev/sdd1
Y restaurar y activar el VG:
vgcfgrestore -f /etc/lvm/archive/vg01_0000X-XXXXXXXXX.vg vg1
vgchange -ay vg1
Que ya me dejó en mi caso el LV backup disponible para restaurar, ¡Yay!