Tuvimos un error de disco en un servidor y lo reemplazamos antes de quitar la unidad de LVM.
El servidor tiene 4 unidades físicas (PV), cada una con su propio grupo de volúmenes (VG). Cada VG tiene 2 o más volúmenes lógicos (LV). Ahora LVM se queja de la unidad que falta. Entonces, tenemos un VG (vg04) con dos LV que se han convertido en huérfanos de lo que necesitamos eliminar del sistema.
El problema es que cada vez que ejecutamos cualquier comando LVM obtenemos estos errores de 'lectura fallida':
# lvscan
/dev/vg04/swap: read failed after 0 of 4096 at 4294901760: Input/output error
/dev/vg04/swap: read failed after 0 of 4096 at 4294959104: Input/output error
/dev/vg04/swap: read failed after 0 of 4096 at 0: Input/output error
/dev/vg04/swap: read failed after 0 of 4096 at 4096: Input/output error
/dev/vg04/vz: read failed after 0 of 4096 at 995903864832: Input/output error
/dev/vg04/vz: read failed after 0 of 4096 at 995903922176: Input/output error
/dev/vg04/vz: read failed after 0 of 4096 at 0: Input/output error
/dev/vg04/vz: read failed after 0 of 4096 at 4096: Input/output error
# vgreduce vg04 --removemissing --force
/dev/vg04/swap: read failed after 0 of 4096 at 4294901760: Input/output error
/dev/vg04/swap: read failed after 0 of 4096 at 4294959104: Input/output error
/dev/vg04/swap: read failed after 0 of 4096 at 0: Input/output error
/dev/vg04/swap: read failed after 0 of 4096 at 4096: Input/output error
/dev/vg04/vz: read failed after 0 of 4096 at 995903864832: Input/output error
/dev/vg04/vz: read failed after 0 of 4096 at 995903922176: Input/output error
/dev/vg04/vz: read failed after 0 of 4096 at 0: Input/output error
/dev/vg04/vz: read failed after 0 of 4096 at 4096: Input/output error
Volume group "vg04" not found
# vgchange -a n /dev/vg04
/dev/vg04/swap: read failed after 0 of 4096 at 4294901760: Input/output error
/dev/vg04/swap: read failed after 0 of 4096 at 4294959104: Input/output error
/dev/vg04/swap: read failed after 0 of 4096 at 0: Input/output error
/dev/vg04/swap: read failed after 0 of 4096 at 4096: Input/output error
/dev/vg04/vz: read failed after 0 of 4096 at 995903864832: Input/output error
/dev/vg04/vz: read failed after 0 of 4096 at 995903922176: Input/output error
/dev/vg04/vz: read failed after 0 of 4096 at 0: Input/output error
/dev/vg04/vz: read failed after 0 of 4096 at 4096: Input/output error
Volume group "vg04" not found
# lvchange -a n /dev/vg04/vz
/dev/vg04/swap: read failed after 0 of 4096 at 4294901760: Input/output error
/dev/vg04/swap: read failed after 0 of 4096 at 4294959104: Input/output error
/dev/vg04/swap: read failed after 0 of 4096 at 0: Input/output error
/dev/vg04/swap: read failed after 0 of 4096 at 4096: Input/output error
/dev/vg04/vz: read failed after 0 of 4096 at 995903864832: Input/output error
/dev/vg04/vz: read failed after 0 of 4096 at 995903922176: Input/output error
/dev/vg04/vz: read failed after 0 of 4096 at 0: Input/output error
/dev/vg04/vz: read failed after 0 of 4096 at 4096: Input/output error
Volume group "vg04" not found
Skipping volume group vg04
Los VG y LV que faltan no son importantes, solo queremos eliminarlos.
Como puede ver, hemos probado todas las sugerencias hechas, hasta ahora sin suerte.
La salida de 'lvm dumpconfig' se puede verificar en http://pastebin.com/MHiBzrLJ
remove_all --force --deferred --retry
eliminaría todas las unidades administradas LVM a su alcance. Seguiría intentándolo y no se rendiría, como el Terminator. Tengo mucha curiosidad sobre por qué una pistola como esta estaba garantizada.# dmsetup --force --retry --deferred remove <YOURVG>-<YOURLV>
Esto es especialmente cierto si, por ejemplo, un dispositivo iscsi estaba colgado y lo quitó con# iscsiadm -m node -U all -T <FQDN>
Experimenté algo similar después de quitar un disco VMware
/dev/sdb
.Utilícelo
lsscsi
para determinar qué dispositivo se está utilizando (es posible que deba instalar el programa) y luego ejecutelsscsi
:Ahora escriba el archivo de eliminación con
El dispositivo se fue inmediatamente.
fuente
Si aún tiene volúmenes lógicos activos, es posible que deba
etc.
fuente
lvchange -a n <VGNAME>
funciona perfekt!