web-dev-qa-db-fra.com

Suppression de vg et lv après la suppression du disque physique

Nous avons eu une défaillance de disque sur un serveur et l'avons remplacé avant de retirer le lecteur de LVM.

Le serveur dispose de 4 disques physiques (PV), chacun avec son propre groupe de volumes (VG). Chaque VG a 2 volumes logiques ou plus (LV). Maintenant LVM se plaint du disque manquant. Nous avons donc un VG (vg04) avec deux LV qui sont devenus orphelins que nous devons éliminer du système.

Le problème est que chaque fois que nous exécutons une commande LVM, nous obtenons ces erreurs de lecture qui ont échoué:

# 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

Les VG et LV manquants ne sont pas importants, nous voulons juste les supprimer.

Comme vous pouvez le voir, nous avons essayé toutes les suggestions faites jusqu'à présent sans succès.

La sortie de 'lvm dumpconfig' peut être vérifiée sur http://Pastebin.com/MHiBzrLJ

32
RCD

La solution était d'exécuter dmsetup, dans ce cas les deux commandes

dmsetup remove vg04-vz
dmsetup remove vg04-swap

Avant de faire cela, j'ai vérifié avec la commande "dmsetup info" que le "nombre ouvert" pour les deux LV était nul.

AVERTISSEMENT: dmsetup peut faire des ravages sérieux sur vos disques. Si vous utilisez ces informations à l'avenir, assurez-vous de lire la page de manuel.

46
RCD

J'ai rencontré des problèmes similaires après avoir supprimé un disque VMware /dev/sdb.

Utilisez lsscsi pour déterminer quel périphérique est utilisé (vous devrez peut-être installer le programme), puis exécutez 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

Maintenant, écrivez le fichier de suppression avec

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

L'appareil est immédiatement parti.

9
Effendi

vgchange -a n/dev/vg04

Si vous avez encore des volumes logiques actifs, vous devrez peut-être

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

etc.

2
Rob Shinn