Eliminación de vg y lv después de eliminar la unidad física

Eliminación de vg y lv después de eliminar la unidad física

Tuvimos un error en un disco en un servidor y lo reemplazamos antes de retirar 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 que falta la unidad. Entonces tenemos un VG (vg04) con dos LV que se han quedado huérfanos y que necesitamos eliminar del sistema.

El problema es que cada vez que ejecutamos cualquier comando LVM obtenemos estos errores de "error de lectura":

# 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, sólo queremos eliminarlos.

Como puedes ver hemos probado todas las sugerencias hechas, hasta ahora sin suerte.

La salida de 'lvm dumpconfig' se puede comprobar enhttp://pastebin.com/MHiBzrLJ

Respuesta1

La solución fue ejecutar dmsetup, en este caso los dos comandos

dmsetup remove vg04-vz
dmsetup remove vg04-swap

Antes de hacer esto, verifiqué con el comando 'dmsetup info' que el 'recuento de aperturas' para ambos LV era cero.

ADVERTENCIA:dmsetup puede causar serios estragos en sus discos, por lo que cualquiera que utilice esta información en el futuro asegúrese de leer la página de manual.

Respuesta2

Experimenté algo similar después de quitar un disco de VMware /dev/sdb.

Utilícelo lsscsipara determinar qué dispositivo se está utilizando (es posible que necesite instalar el programa) y luego ejecute lsscsi:

# lsscsi
[1:0:0:0]    cd/dvd  NECVMWar VMware IDE CDR10 1.00  /dev/sr0
[2:0:0:0]    disk    VMware   Virtual disk     1.0   /dev/sda
[2:0:1:0]    disk    VMware   Virtual disk     1.0   /dev/sdb <== the removed physical disk
[2:0:2:0]    disk    VMware   Virtual disk     1.0   /dev/sdc

Ahora escriba el archivo eliminado redirigiéndolo 1.

# echo 1 > '/sys/class/scsi_device/2:0:1:0/device/delete'

El dispositivo desaparece inmediatamente.

Respuesta3

vgchange -an /dev/vg04

Si aún tiene volúmenes lógicos activos, es posible que deba

lvchange -a n /dev/vg04/swap
lvchange -a n dev/vg04/vz

etc.

información relacionada