Removendo vg e lv após a remoção da unidade física

Removendo vg e lv após a remoção da unidade física

Tivemos uma falha de disco em um servidor e o substituímos antes de remover a unidade do LVM.

O servidor possui 4 unidades físicas (PVs), cada uma com seu próprio grupo de volumes (VG). Cada VG possui 2 ou mais volumes lógicos (LV). Agora o LVM está reclamando da falta da unidade. Portanto, temos um VG (vg04) com dois LVs que ficaram órfãos e que precisamos eliminar do sistema.

O problema é que toda vez que executamos qualquer comando LVM, obtemos estes erros de 'falha na leitura':

# 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

Os VG e LV ausentes não são importantes, só queremos removê-los.

Como você pode ver, tentamos todas as sugestões apresentadas, até agora sem sorte.

A saída de 'lvm dumpconfig' pode ser verificada emhttp://pastebin.com/MHiBzrLJ

Responder1

A solução foi rodar dmsetup, neste caso os dois comandos

dmsetup remove vg04-vz
dmsetup remove vg04-swap

Antes de fazer isso, verifiquei com o comando 'dmsetup info' se a 'contagem aberta' para ambos os LVs era zero.

AVISO:dmsetup pode causar sérios estragos em seus discos, portanto, qualquer pessoa que usar essas informações no futuro, certifique-se de ler a página de manual.

Responder2

Eu experimentei algo semelhante depois de remover um disco VMware /dev/sdb.

Use lsscsipara determinar qual dispositivo está sendo usado (pode ser necessário instalar o programa) e execute 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

Agora escreva o arquivo excluído redirecionando 1para ele.

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

O dispositivo desapareceu imediatamente.

Responder3

vgchange -an /dev/vg04

Se você tiver volumes lógicos ainda ativos, talvez seja necessário

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

etc.

informação relacionada