खुली तार्किक मात्रा नहीं निकाल सकते


20

जब मैं एक तार्किक आयतन निकालने की कोशिश करता हूं तो मुझे संदेश मिलता है

#lvremove /dev/my-volumes/volume-1 
Can't remove open logical volume "volume-1"

#lvchange -an -v /dev/my-volumes/volume-1 
Using logical volume(s) on command line
/dev/dm-1: read failed after 0 of 4096 at 0: Input/output error
Deactivating logical volume "volume-1"
Found volume group "my-volumes"
LV my-volumes/volume-1 in use: not deactivating

#lvremove -vf /dev/my-volumes/volume-1 
Using logical volume(s) on command line
/dev/dm-1: read failed after 0 of 4096 at 0: Input/output error
Can't remove open logical volume "volume-1"

#lvs
/dev/dm-1: read failed after 0 of 4096 at 0: Input/output error
LV              VG           Attr   LSize   Origin Snap%  Move Log Copy%  Convert
volume-1        my-volumes   -wi-ao  50.00g  

मैं इस वॉल्यूम को हटाने के लिए कैसे बाध्य कर सकता हूं?

धन्यवाद, एवरेट

जवाबों:


13

तार्किक आयतन में क्या होता है? क्या यह एक फाइलसिस्टम है (मैंने गलती से विभाजन लिखा है)? क्या इसे लगाया जा सकता है? उस स्तिथि में:

umount /dev/my-volumes/volume-1

क्या इसका कोई सक्रिय स्नैपशॉट है?

संपादित करें: कोशिश lvchange -an -v /dev/my-volumes/volume-1और lvremove -vf /dev/my-volumes/volume-1

संपादन 2: कृपया 'lvs' पोस्ट करें।

संपादित 3: कुछ अन्य समस्याग्रस्त मात्रा के साथ यह प्रयास करें। यह सबसे साफ विकल्प नहीं है, लेकिन इस साइट के अनुसार यह काम कर सकता है, और यह वैसे भी रिबूट करने की तुलना में कम समस्याग्रस्त है।

dmsetup remove my--volumes-volume--number
lvremove /dev/my-volumes/volume-number

इसमें कुछ भी शामिल नहीं है। यह विभाजन नहीं है। यह घुड़सवार नहीं है (अब नहीं है)। कोई सक्रिय स्नैपशॉट नहीं।
एवरेट टॉस

खैर, आपने इसके लिए क्या इस्तेमाल किया? यह हमें एक संकेत दे सकता है कि क्या गलत हो सकता है।
एडुआर्डो इवानेक

आपके द्वारा अनुरोध की गई जानकारी को प्रश्न में जोड़ा गया। इसका इस्तेमाल OpenStack Compute (उर्फ Nova) के लिए वॉल्यूम के रूप में किया जा रहा था। मैंने वास्तव में परमाणु जाकर और मशीन को रिबूट करके और फिर एक lremremove करके इसे हटाने में कामयाब रहा। मैं चाहता था की तुलना में अधिक कठोर रास्ता। मेरे पास अभी भी कुछ अन्य वॉल्यूम हैं जो मेरे चारों ओर लटके हुए हैं जिन्हें मैं रिबूट किए बिना छुटकारा पाना चाहूंगा ताकि आपकी सहायता के लिए कोई भी मदद की सराहना की जा सके।
एवरेट टोज़

मैंने आपके लिए कुछ अन्य समस्याग्रस्त वॉल्यूम के साथ प्रयास करने के लिए कुछ जोड़ा है।
एडुआर्डो इवानेक

इसे आजमाया। कोई भाग्य नहीं। मैंने wiki.davidjb.com/ (इसलिए "/ dev / dm-1: read विफल ..." मेरे कुछ आउटपुट में) से सब कुछ आज़माया, लेकिन यह भी काम नहीं किया।
एवरेट टोज़

9

यदि आप तार्किक वॉल्यूम को अनमाउंट या lvremove करने में असमर्थ हैं, तो सत्यापित करें कि LV रखने की कोई प्रक्रिया नहीं है

लॉजिकल वॉल्यूम के लिए प्रमुख / छोटी संख्या का पता लगाएँ जिसे आप हटाने की कोशिश कर रहे हैं जैसे: vol0

# dmsetup info -c | grep vol0

5 वें कॉलम पर ध्यान दें, जो इंगित करता है कि क्या एक वॉल्यूम "खुला", और 2 और 3 कॉलम हैं, जो क्रमशः प्रमुख और मामूली आईडी हैं।

उपरोक्त खोज की गई प्रमुख और छोटी आईडी पर खोज करके इस मात्रा से जुड़ी कोई भी प्रक्रिया खोजें:

# lsof | grep "major,minor"

शट डाउन करना या किसी भी प्रक्रिया को मारना अभी तक वॉल्यूम को एक्सेस करना जारी रखने और हटाने के लिए जारी है।

तब lvremove प्रयास करें


मेरे मामले में कोई मदद नहीं की। lsof, fuser कोई उपयोग नहीं दिखाता है। dmsetup का कहना है कि डिवाइस व्यस्त है। डिवाइस अनमाउंट है (किसी भी समय माउंट किया जा सकता है)। केवल एक हार्डवेयर रिबूट मदद करता है: /
जॉन

5

आपके पास शायद आईईटी या टीजीटी चल रहा है (जो इस बात पर निर्भर करता है कि आपका iscsi_helperमूल्य /etc/nova/nova.conf में क्या है, iet के लिए डिफॉल्ट), और सेवा में एक खुली फाइलहैंडल है। आप जाँच कर सकते हैं कि कौन सा ऐसा कुछ कर रहा है (मेरे मामले में यह tgt है)

# fuser /dev/nova-volumes/volume-00000001
/dev/dm-5:           19155

# lsof | grep /dev/dm-5
tgtd      19155            root   12u      BLK              252,5         0t0    2531554 /dev/dm-5

यदि यह iet है, तो सेवा को रोकें:

service iscsitarget stop

यदि यह tgt है, तो सेवा को बंद करके करें:

service tgt stop

फिर आपको अपने वॉल्यूम को हटाने में सक्षम होना चाहिए।


इसने मेरे लिए ओपनस्टैक
juanluisrp

5

मैं इसी तरह की स्थिति में आ गया, लेकिन LV को हटाना अवरुद्ध हो गया, क्योंकि मैं माउंट-बाइ बाँध का उपयोग कर रहा था।

नीचे दिए गए लेख ने बहुत मदद की, LV की प्रमुख / छोटी संख्याओं के साथ lsof का उपयोग करते हुए, मेरे मामले smbd में LV को खोलने की प्रक्रिया को दिखाया गया।

बस बस बिल्ली से / proc / mounts | grep LV_name ने मुझे यह निष्कर्ष निकालने के लिए प्रेरित किया, कि क्यों lvremove या dmsetup हटाने से इनकार कर दिया गया है कि अनमाउंट किए गए LV से छुटकारा पाएं।

http://kb.eclipseinc.com/kb/why-cant-i-remove-a-linux-logical-volume/


2

LXC कंटेनरों को उनके विन्यास के माध्यम से फाइल सिस्टम का उपयोग करने के लिए बंद करें: lxc.mount.entry


1

यदि आप हटाने में असमर्थ हैं lvm, तो कृपया इन चरणों का पालन करें:

  1. विभाजन को अनमाउंट करें:

    # umount / देव / sda8

    (उदाहरण। मैंने विभाजन को माउंट किया है /dev/sda8)

  2. lvmऐसे निकालने की कोशिश करें:

    # lvremove / dev / vgname / lvname

यदि आपको " लिनक्स में खुली तार्किक मात्रा को हटा नहीं सकता " जैसी त्रुटि मिलती है , तो नीचे दिए गए आदेशों के माध्यम से LVM को निष्क्रिय करने का प्रयास करें और फिर इसे हटा दें:

 # lvchange -an  /dev/vgname/lvname

 # lvremove /dev/vgname/lvname

अगर आपको किसी मुद्दे का सामना करना है तो हमें बताएं।


0

मुझे एक LV के साथ यह समस्या थी जो एक iSCSI डिवाइस पर 3 पीवी से आता है (बहुपथ के साथ)।

कोई समाधान नहीं काम किया लेकिन एक सरल रिबूट ! ( इसे fstab में टिप्पणी करें , ताकि यह फिर से आरोहित न हो)

शायद जो किसी की मदद करे।


0

यह भी RHEL में nfslock सेवा द्वारा बंद किया जा सकता है, बस उस सेवा को बंद कर दें और आप जाने के लिए अच्छे हैं।


0

मुझे भी ऐसी ही समस्या का समाधान करना पड़ा था। मैंने जिस वीवी को हटाने की कोशिश की, वह वीएम ब्लॉक डिवाइस था, वॉल्यूमग्रुप को पकड़े हुए। इस वॉल्यूमग्रुप को lvm.conf में फ़िल्टर किया गया था, लेकिन कुछ देव मैपर आइटम पहले बनाए गए थे।

यह पता लगाने के लिए कि किसी उपकरण के द्वारा होल्ड किया गया है, इसके माइनर नंबर (253, ?? ) ll /dev/<vg>/<lv>को देखें../dm-??

फिर ls -la /sys/dev/block/253:??/holdersआपको -> ../../dm-xxआपके डिवाइस पर vg (उदा ) रिलेयिंग के लिंक देगा (एक pv के रूप में)

उन्हें निकालें dmsetup remove /dev/dm-xx(यह सुनिश्चित करें कि उन डीएम का उपयोग नहीं किया जाता है) तब आपको हटा देना चाहिए / देव // जो कहीं और "पीवी" नहीं है


Im मेरा मामला यह है, dmsetup remove /dev/dm-36लेकिन मुझे त्रुटि मिलती है device-mapper: remove ioctl on vg0-snap--tmp--vm06.docker--disk failed: – Device or resource busy – Command failed: serverfault.com/questions/926681/…
rubo77

0

आप अपने LV को DM डिवाइस से अनलिंक कर सकते हैं:

fuser -kuc / dev / my-नमूना-वॉल्यूम / वॉल्यूम-नमूना -1

/ देव / डीएम -21: 2400ce (रूट) 2739ce (रूट) 4793ce (रूट)

ls -l / dev / माय-सैंपल-वॉल्यूम / वॉल्यूम-सैंपल -1

lrwxrwxrwx 1 रूट रूट 8 अगस्त 15 02:53 / देव / मेरे-नमूना-वॉल्यूम / वॉल्यूम-नमूना -1 -> ../dm-21

अनलिंक / देव / मेरा-नमूना-वॉल्यूम / वॉल्यूम-नमूना -1

lvremove / dev / my-नमूना-वॉल्यूम / वॉल्यूम-नमूना -1


नमस्ते और स्वागत है। मुझे नहीं लगता कि lvremoveकाम करने जा रहा है unlink, क्या आप उस हिस्से को स्पष्ट कर सकते हैं? बस अपना उत्तर संपादित करें।
कुबंज़िक

यह काम करना चाहिए। मैंने इसका परीक्षण किया है। यह सिर्फ इसके सॉफ्टलिंक को अनलिंक करेगा। LV अभी भी मौजूद होना चाहिए और आप इसे lvremove के साथ हटा सकते हैं।
डेज़रो

0

मेरे मामले में मैं एक कंटेनर में cAdvisor चला रहा था , और यह किसी भी ब्लॉक डिवाइस को हटाने से रोकता है जो कि शुरू होने पर घुड़सवार थे। मेरा फिक्स था:

  1. LVM वॉल्यूम अनमाउंट करें
  2. CAdvisor कंटेनर को पुनरारंभ करें ( docker restart $CONTAINER_ID)
  3. फिर से हटाने का प्रयास

-1

मुझे भी तुम्हारी जैसी ही समस्या है। मैंने निम्नलिखित कमांड की कोशिश की और हल किया: स्वैप-ए

Lvremove ...


वह किसी को आँख बंद करके आपकी आज्ञा का नेतृत्व करने के लिए प्रेरित कर सकता है। केवल इंगित करने के लिए बेहतर है, अगर LV स्वैप के लिए उपयोग किया जाता है, तो पहले lv स्वैप करें, और केवल यही नहीं, सिर्फ -a
roothahn
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.