Entfernen von vg und lv, nachdem das physische Laufwerk entfernt wurde

Entfernen von vg und lv, nachdem das physische Laufwerk entfernt wurde

Bei uns ist die Festplatte eines Servers ausgefallen und wir haben sie ausgetauscht, bevor wir das Laufwerk aus LVM entfernt haben.

Der Server hat 4 physische Laufwerke (PVs), jedes mit seiner eigenen Volume-Gruppe (VG). Jede VG hat 2 oder mehr logische Volumes (LVs). Jetzt beschwert sich LVM über das fehlende Laufwerk. Wir haben also eine VG (vg04) mit zwei LVs, die zu Waisen geworden sind und die wir aus dem System löschen müssen.

Das Problem besteht darin, dass wir jedes Mal, wenn wir einen LVM-Befehl ausführen, die folgenden „Lesefehler“-Fehler erhalten:

# 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

Die fehlenden VG und LV‘s sind nicht wichtig, wir möchten sie einfach nur entfernen.

Wie Sie sehen, haben wir alle Vorschläge ausprobiert, bisher ohne Erfolg.

Die Ausgabe von 'lvm dumpconfig' kann überprüft werden unterhttp://pastebin.com/MHiBzrLJ

Antwort1

Die Lösung bestand darin, dmsetup auszuführen, in diesem Fall die beiden Befehle

dmsetup remove vg04-vz
dmsetup remove vg04-swap

Zuvor habe ich mit dem Befehl „dmsetup info“ überprüft, dass der „Open Count“ für beide LVs Null war.

WARNUNG:dmsetup kann auf Ihren Festplatten ernsthaften Schaden anrichten. Lesen Sie daher unbedingt die Manpage, wenn Sie diese Informationen in Zukunft verwenden.

Antwort2

Ich habe nach dem Entfernen einer VMware-Festplatte eine ähnliche Erfahrung gemacht /dev/sdb.

Verwenden Sie es lsscsi, um zu bestimmen, welches Gerät verwendet wird (möglicherweise müssen Sie das Programm installieren), und führen Sie dann Folgendes aus 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

Schreiben Sie nun die Löschdatei mit der Umleitung 1dorthin.

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

Das Gerät ist sofort weg.

Antwort3

vgchange -an /dev/vg04

Wenn Sie noch logische Volumes aktiv haben, müssen Sie möglicherweise

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

usw.

verwandte Informationen