एक ड्राइव के आकार के लिए दो अलग-अलग मूल्य क्यों हैं और उन्हें डिवाइस-मैपर और LVM के साथ कैसे सामंजस्य करना है?


13

मेरे पास USB के माध्यम से 1 टीबी ड्राइव जुड़ा हुआ है। इसमें संपूर्ण डिवाइस (बिना किसी विभाजन तालिका) को भरने वाले LVM भौतिक आयतन शामिल हैं । जब मैंने पूरे पीवी का उपयोग करके एक तार्किक आयतन का विस्तार करने की कोशिश की , तो डिवाइस-मैपर ने यह शिकायत करना शुरू कर दिया कि पीवी पर एलवीएम द्वारा आवंटित अनुभाग डिवाइस से बड़ा है। डिवाइस-मैपर से त्रुटि संदेश (जैसा कि दिखाया गया है dmesg) 1953320367 [dm] सेक्टरों के आकार की रिपोर्ट करता है:

device-mapper: table: 254:0: sdf too small for target: start=1821353984, len=132169728, dev_size=1953320367

लेकिन LVM ने 238467 भौतिक विस्तार के साथ एक PV बनाया , जो 1953521664 [lvm] सेक्टर (जो लगभग 100 एमबी अधिक है):

$ pvdisplay /dev/sdf
  --- Physical volume ---
  PV Name               /dev/sdf
  VG Name               apu-vg1
  PV Size               931.51 GiB / not usable 1.71 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              238467
  Free PE               100
  Allocated PE          238367
  PV UUID               LrKDDW-4dXz-kDgh-CK78-OWhY-4sCH-rKT0e4

अब अगर मैं hdparm -gIडिवाइस पर चलता हूं, तो मैं डिवाइस के आकार के लिए दो मान देख सकता हूं। ज्यामिति के तहत , डिवाइस के आकार के रूप में डिवाइस-मैपर द्वारा रिपोर्ट किया गया वही मान है। लेकिन LBA48 उपयोगकर्ता पता योग्य क्षेत्रों के अंतर्गत , मूल्य 1953525168 [lba] है, जो कि PV के PE के कम्बाइंड साइज से एक PE से भी कम है। इससे मुझे लगता है कि यह वह मूल्य है जो LVM देखता है:

$ hdparm -Ig /dev/sdf

/dev/sdf:
 geometry      = 121588/255/63, sectors = 1953320367, start = 0

ATA device, with non-removable media
          Model Number:       ST1000LM024 HN-M101MBB                  
          Serial Number:      S2RUJ9BC702524      
          Firmware Revision:  2AR10001
          Transport:          Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0
Standards:
          Used: unknown (minor revision code 0x0028) 
          Supported: 8 7 6 5 
          Likely used: 8
Configuration:
          Logical         max     current
          cylinders       16383   16383
          heads           16      16
          sectors/track   63      63
          --
          CHS current addressable sectors:   16514064
          LBA    user addressable sectors:  268435455
          LBA48  user addressable sectors: 1953525168
...

अब मेरे सवालों के लिए:

  • कर्नेल के विभिन्न भागों द्वारा उपयोग किए जाने वाले डिवाइस के आकार के लिए दो अलग-अलग मान क्यों हैं?
  • और, मैं इस स्थिति को कैसे संभालता / ठीक करता हूं ताकि LVM उन पीवी को नहीं बनाएगा जो डिवाइस-मैपर अंतरिक्ष से बड़े हैं / जो एक्सेस करने में सक्षम हैं / हैं?

जब आप विस्तार कर रहे हैं, तो सटीक कमांड क्या है? LVM हेड्स को आमतौर पर 2MB आवंटित किया जाता है जो आपकी विसंगति के आकार के आसपास होता है।
ब्राचली

7
द्वारा रिपोर्ट किया गया छोटा आकार hdparmसबसे बड़ी संख्या है जो 255 * 63 सेक्टरों से अधिक है और वास्तविक आकार से कम है। यह बाधा 30 वर्षीय BIOS इंटरफेस से सिलेंडर / हेड / सेक्टर प्रारूप के कारण है। नया LBA48 इंटरफ़ेस आपकी डिस्क के आकार को ठीक-ठीक बता सकता है। मुझे नहीं पता कि लिनक्स किसी भी चीज़ के लिए CHS आकार का उपयोग क्यों करता है।
गाइल्स का SO- बुराई से रोकना '

मैंने उन्हें आसानी से संदर्भित करने के लिए वर्गाकार कोष्ठकों में विभिन्न मानों को अंकित किया।
Feermermmel

1
@JoelDavis मैंने एक सादे का उपयोग करके वीजी को बढ़ाया vgextend <vg-name> /dev/sdf। LVM ठीक वही करता है जिसकी मुझे उम्मीद है। pvdisplayयहां तक ​​कि कहते हैं कि 1.71 MiB असामान्य हैं, जो बिल्कुल [lvm] और [lba] के बीच के अंतर का आकार है।
Feermermmel

2
@Fermermmel अतिरिक्त जानकारी प्रदान करने के लिए कृपया अपने प्रश्न को संपादित करें - टिप्पणियों का उपयोग न करें।
गंटबर्ट

जवाबों:


1

यहाँ मुख्य समस्या आपके Free PEमूल्य की है। ध्यान दें कि यह कैसे कहता है कि केवल 100 अतिरिक्त मुफ्त हैं? इसका मतलब है कि आप इसका विस्तार नहीं कर पाएंगे। यदि आप एक vgscan, pvscan, और फिर एक vgdisplay (भी vgs) करते हैं, तो आप शायद देखेंगे कि आपका डिवाइस पहले से ही vg (और संभवतः lv (s)) का भी हिस्सा है, यही वजह है कि extents मुक्त नहीं हैं।

क्या आप इससे आउटपुट प्रदान कर सकते हैं:

vgscan;pvscan;vgdisplay;vgs

आपको अपने अतिरिक्त के आकार के आधार पर अतिरिक्त 400 एमबी प्राप्त करने में सक्षम होना चाहिए और कितने मुफ्त हैं।


हां, पीवी के पास पहले से ही 238367 पीई है जो एक एलवी को आवंटित है। उन 100 का विस्तार मुफ्त है क्योंकि मैं एलवीएम को रेंज से बाहर होने वाले मैपिंग के बारे में शिकायत करने के बाद एलवी को सिकोड़ देता हूं। मेरी समस्या यह है कि LVM द्वारा बनाया गया PV वास्तव में भौतिक डिस्क से बड़ा है। प्रश्न में वह डिस्क अब सिस्टम का हिस्सा नहीं है इसलिए मैं आपके द्वारा अनुरोधित आउटपुट प्रदान नहीं कर सकता।
फ़्यूएर्मुरमेल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.