भौतिक ड्राइव को हटाने के बाद vg और lv को हटाना


32

हमारे पास सर्वर में एक डिस्क विफल थी और LVM से ड्राइव को हटाने से पहले इसे बदल दिया गया था।

सर्वर में 4 भौतिक ड्राइव (पीवी) हैं, प्रत्येक का अपना वॉल्यूम समूह (वीजी) है। प्रत्येक वीजी के पास 2 या अधिक तार्किक वॉल्यूम (LV के) हैं अब LVM गुम ड्राइव के बारे में शिकायत कर रहा है। इसलिए हमारे पास दो LV के साथ एक VG (vg04) हैं जो सिस्टम से बाहर निकलने की आवश्यकता की तुलना में अनाथ हो गए हैं।

समस्या यह है कि हर बार जब हम कोई LVM कमांड चलाते हैं तो हमें ये 'रीड फेल' त्रुटियां मिलती हैं:

# 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

लापता वीजी और एलवी महत्वपूर्ण नहीं हैं, हम उन्हें निकालना चाहते हैं।

जैसा कि आप देख सकते हैं कि हमने भाग्य के बिना, अब तक किए गए सभी सुझावों की कोशिश की है।

से 'एलवीएम dumpconfig' पर जाँच की जा सकती आउटपुट http://pastebin.com/MHiBzrLJ

जवाबों:


46

समाधान dmsetup चलाने के लिए किया गया था, इस मामले में दो आदेश

dmsetup remove vg04-vz
dmsetup remove vg04-swap

ऐसा करने से पहले, मैंने 'dmsetup जानकारी' कमांड के साथ जाँच की कि LV के दोनों के लिए 'ओपन काउंट' शून्य है।

चेतावनी: dmsetup आपके डिस्क के साथ गंभीर कहर बरपा सकता है इसलिए भविष्य में इस जानकारी का उपयोग करने वाला कोई भी व्यक्ति कृपया सुनिश्चित करें कि आपने मैन पेज पढ़ा है।


3
यही चाल चली। यह बहुत बुरा है LVM इस तरह की एक बुरी तरह से अमूर्त है, लेकिन मुझे लगता है कि यह उतना ही अच्छा है जितना इसे मिलता है।
नवीन

1
उस चेतावनी के साथ अच्छा कॉल। अगर मैं सही ढंग से समझूं, तो इसी तरह नामित remove_all --force --deferred --retryहर एलवीएम प्रबंधित ड्राइव को पहुंच के भीतर उड़ा देगा। यह टर्मिनेटर की तरह कोशिश करता रहेगा और हार नहीं मानेगा। मैं सुपर उत्सुक हूँ कि क्यों इस तरह एक फुटगन वारंट किया गया था।
डैन रोस

वहाँ भी (और / या प्रतिशोध अगर डिवाइस आपको व्यस्त पूरी रात रखा) एक ही उपकरण "चरम पूर्वाग्रह के साथ समाप्त" है: # dmsetup --force --retry --deferred remove <YOURVG>-<YOURLV>यह विशेष रूप से सच है, अगर उदाहरण के लिए एक iSCSI युक्ति लटक रहा था और उसे अपने साथ हटाया# iscsiadm -m node -U all -T <FQDN>
AdamKalisz

9

मैंने एक VMware डिस्क को हटाने के बाद समान अनुभव किया /dev/sdb

का प्रयोग करें lsscsiनिर्धारित करने के लिए जो उपकरण का इस्तेमाल किया जा रहा है (आप प्रोग्राम स्थापित करने की आवश्यकता हो सकती है) तो चलाने 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

अब डिलीट फाइल के साथ लिखें

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

डिवाइस तुरंत चला गया है।


1
धन्यवाद!! यह पूरी तरह से मेरे लिए "/ dev / sdb: 0 पर 4096 के 0 के बाद विफल: इनपुट / आउटपुट त्रुटि" के बाद dmsetup के माध्यम से एक बासी vg1-xyz को हटाने के बाद विफल हो गया।
बिल्ली पैंट

1
केवल यह मेरे लिए काम करता है। आपने मेरा दिन बना दिया।
ओडिसज़ापक

2

vgchange -an / dev / vg04

यदि आपके पास तार्किक वॉल्यूम अभी भी सक्रिय है तो आपको करना पड़ सकता है

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

आदि।


2
Unfortunatlely जो इसे या तो ठीक नहीं करता है, यह सिर्फ एक ही त्रुटि को फेंक देता है:
RCD

मेरे सिस्टम पर lvchange -a n <VGNAME>काम करता है perfekt!
ज़ोज़ारू
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.