En corto
| |
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
| Comando | Qué te dice |
|---|---|
pvs | WARNING: 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_status | Atributo 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 lvm | Qué 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:
| |
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:
| |
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:
| |
El arreglo es el que dice el mensaje, con el pool inactivo:
| |
--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”)
| |
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:
| |
Después de activar
Un apagón rompe sistemas de archivos con más frecuencia que LVM. Antes de montar en escritura:
| |
Y si el resultado da miedo, monta ro, copia, y repara después.
Trampas
partialno 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 --removemissingantes de copiar. Es lo último, no lo primero. /etc/lvm/backupy/etc/lvm/archivevalen 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.