En corto

1
2
3
4
5
6
vgscan
pvs; vgs; lvs -a -o +devices,lv_health_status     # ¿falta un PV? ¿qué LV no activa y por qué?

vgchange -ay                                       # intento normal
vgchange -ay --activationmode degraded             # LVs raid1/raid5/raid6 de LVM con un PV ausente
vgchange -ay --activationmode partial              # cualquier LV con PV ausente: SOLO para copiar datos, monta ro

Si el fallo es al arrancar (emergency shell porque / o /home no aparecen), los mismos comandos desde el prompt del initramfs, precedidos de lvm si no hay binarios sueltos (lvm vgchange -ay), y luego exit.

Qué mirar primero

ComandoQué te dice
pvsWARNING: Couldn't find device with uuid … o [unknown]: un PV no está. Disco muerto, controladora que no enumeró, cable, o un ID que cambió
lvs -a -o +devices,lv_health_statusAtributo p = partial; lv_health_status dice partial, refresh needed, needs check…
dmesg | grep -iE 'sd[a-z]|nvme|error'¿El disco volvió tras el apagón? ¿Da errores de lectura?
journalctl -b | grep -i lvmQué intentó la autoactivación al arrancar y por qué falló
ls /etc/lvm/archive/Copias de los metadatos anteriores a cada cambio; las necesitas si hay que restaurar

Los tres modos de activación (man vgchange): complete (por defecto) solo activa LVs con todos sus PV presentes; degraded activa LVs RAID de LVM a los que les falta una pata; partial activa cualquier LV aunque falten PV, rellenando lo que falta con errores o ceros, y solo sirve para recuperar.

Casos

1. Falta un PV

Arregla primero el hardware: reconecta, cambia de puerto, revisa la controladora. En cuanto pvs lo vea, vgchange -ay y listo.

Si el disco no vuelve y el LV era lineal sobre varios PV, lo que estaba en ese disco se perdió. Rescata el resto en solo lectura:

1
2
3
vgchange -ay --activationmode partial
mount -o ro /dev/vg01/datos /mnt/rescate
rsync -a /mnt/rescate/ /otro/sitio/

Y solo después de copiar, deja el VG limpio: vgreduce --removemissing --force vg01.

2. LVs RAID de LVM (raid1, raid5, raid6)

Con una pata ausente arrancan en modo degradado:

1
vgchange -ay --activationmode degraded

Después, reemplaza el PV: vgextend vg01 /dev/sdX con el disco nuevo y lvconvert --repair vg01/datos. Si el LV no se deja activar ni así (reload ioctl … failed, subvolúmenes _rimage_ activos pero el LV no), estás en el escenario donde el tooling de LVM RAID se queda corto; la restauración desde backup es la salida honesta. Para RAID con paridad, mdadm debajo de LVM da mejores herramientas de recuperación.

3. Thin pool

Los thin pools son los que más sufren un corte: al arrancar, thin_check encuentra la metadata inconsistente y LVM se niega:

1
Check of pool vg01/pool0 failed (status:1). Manual repair required!

El arreglo es el que dice el mensaje, con el pool inactivo:

1
2
lvconvert --repair vg01/pool0
vgchange -ay vg01

--repair reconstruye la metadata en un LV nuevo y deja la vieja como pool0_meta0; cuando compruebes que los volúmenes thin montan bien, lvremove vg01/pool0_meta0. Un thin pool con un PV ausente no se activa ni en modo degraded; ahí solo queda partial para copiar.

4. Metadatos rotos (PVs presentes, VG “incompleto” o “unknown”)

1
2
3
vgcfgrestore --list vg01                                # archivos en /etc/lvm/archive con fecha y motivo
vgcfgrestore -f /etc/lvm/archive/vg01_00042-1234567890.vg vg01
vgchange -ay vg01

Solo para metadatos: si lo que falta es un disco, restaurar la configuración no lo trae de vuelta.

5. El disco está, pero LVM lo ignora

En RHEL 9, Fedora y derivados LVM solo mira los dispositivos listados en /etc/lvm/devices/system.devices. Si el apagón hizo que un disco volviera con otro identificador (cambio de controladora, WWID distinto, disco clonado), LVM no lo considera aunque lsblk lo muestre:

1
2
3
4
lvmdevices                          # lista actual
lvmdevices --adddev /dev/sdc        # añadir el dispositivo
vgimportdevices -a                  # o importar todos los VG que encuentre
vgchange -ay

Después de activar

Un apagón rompe sistemas de archivos con más frecuencia que LVM. Antes de montar en escritura:

1
2
fsck -n /dev/vg01/datos        # ext4: solo mirar
xfs_repair -n /dev/vg01/datos  # xfs: solo mirar

Y si el resultado da miedo, monta ro, copia, y repara después.

Trampas

  • partial no arregla nada: lo que falta se lee como ceros o errores y cualquier escritura ahí se pierde. Monta en solo lectura y copia.
  • No hagas vgreduce --removemissing antes de copiar. Es lo último, no lo primero.
  • /etc/lvm/backup y /etc/lvm/archive valen oro y viven en el mismo disco que puede fallar. Cópialos fuera de la máquina de vez en cuando (vgcfgbackup -f /ruta/externa/%s.vg).
  • En VMs el “corte de luz” es un stop forzado; misma receta. Y si lo que no arranca es el propio GRUB con root en LVM, es otro problema.

Referencias: man 8 vgchange, man 7 lvmthin y man 8 lvmdevices.