Fiziksel sürücü kaldırıldıktan sonra vg ve lv'nin kaldırılması


32

Bir sunucuda bir disk hatası oluştu ve sürücüyü LVM'den çıkarmadan önce değiştirdik.

Sunucu, her biri kendi ses grubuna (VG) sahip 4 fiziksel sürücüye (PV) sahiptir. Her VG'nin 2 veya daha fazla mantıksal hacmi vardır (LV'ler). Artık LVM, eksik sürücüden şikayet ediyor. Bu nedenle, sistemden silmemiz gerekenden öksüz kalan iki LV ile birlikte bir VG (vg04) sahibiz.

Sorun şu ki, herhangi bir LVM komutu çalıştırdığımızda şu 'okuma başarısız' hatalarını alıyoruz:

# 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

Kayıp VG ve LV'ler önemli değil, sadece onları kaldırmak istiyoruz.

Gördüğünüz gibi, bugüne kadar şanssız bir şekilde yapılan tüm önerileri denedik.

'Lvm dumpconfig' çıktısı http://pastebin.com/MHiBzrLJ adresinden kontrol edilebilir.

Yanıtlar:


46

Çözüm, dmsetup komutunu çalıştırmaktı, bu durumda iki komut

dmsetup remove vg04-vz
dmsetup remove vg04-swap

Bunu yapmadan önce, 'dmsetup info' komutunu kullanarak her iki LV'nin de 'açık sayımının' sıfır olduğunu kontrol ettim.

UYARI: dmsetup disklerinizle ciddi tahribata yol açabilir, bu nedenle gelecekte bu bilgiyi kullanan herkes lütfen man sayfasını okuduğunuzdan emin olun.


3
Hile yaptı. LVM'nin çok sızdıran bir soyutlama olması çok kötü, ama sanırım bu olabildiğince iyi.
Navin

1
Bu uyarı ile iyi çağrı. Doğru anlarsam, aynı şekilde adlandırılan remove_all --force --deferred --retryLVM tarafından yönetilen her sürücüyü erişilebilecek şekilde mahveder. Terminator gibi denemeye devam etmeyi bırakacaktı. Neden böyle bir tabancaya güvence verildiğini çok merak ediyorum.
Dan Ross,

"Aşırı önyargıyla sonlandırılan" tek bir cihaz da var (ve / veya intikam, eğer cihaz bütün gece sizi meşgul # dmsetup --force --retry --deferred remove <YOURVG>-<YOURLV># iscsiadm -m node -U all -T <FQDN>
tutsaydı

9

Bir VMware diskini çıkardıktan sonra da benzer şekilde yaşadım /dev/sdb.

lsscsiHangi cihazın kullanılmakta olduğunu belirlemek için kullanın (programı kurmanız gerekebilir) sonra çalıştırın 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

Şimdi sil dosyasını yaz

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

Cihaz hemen gitti.


1
Teşekkür ederim!! Dmsetup üzerinden eski bir vg1-xyz çıkarıldıktan sonra, "/ dev / sdb: read, 4096 / 0'da 0: Giriş / çıkış hatası" gibi hatalardan kurtulmak için mükemmel bir şekilde çalıştı.
kedi pantolonu

1
Sadece bu benim için çalışıyor. Günümü sen yaptın.
odiszapc

2

vgchange -an / dev / vg04

Hala aktif olan mantıksal birimleriniz varsa,

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

vb.


2
Maalesef bu sorunu çözmedi, sadece aynı hatayı atmaya devam ediyor:
RCD,

Sistemimde lvchange -a n <VGNAME>perfekt çalışıyor!
zzeroo
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.