मैं LVM विभाजन का आकार कैसे बदल सकता हूँ? (अर्थात: भौतिक आयतन)


89

मैं नए मुक्त स्थान में एक नया विभाजन बनाने के लिए अपने दूसरे (LVM) विभाजन को सिकोड़ना चाहता हूं। मैं ऐसा करने के लिए लाइव सीडी का उपयोग कर रहा हूं, क्योंकि मुझे पता है कि मैं इस विभाजन का आकार बदल नहीं सकता / ले जा सकता हूं जबकि यह उपयोग में है। जब मैंने लाइव सीडी में GParted खोला, तो मुझे एहसास हुआ कि मैं विभाजन को आकार नहीं दे सकता, क्योंकि जब मैं इसे राइट-क्लिक करता हूं, तो विकल्प "resize / move" अक्षम होता है।

मैंने इसे "आलसी" करने के लिए इसे अनमाउंट करने की कोशिश की, umount -l /dev/sda2लेकिन यह काम नहीं किया।

GParted से एक स्क्रीनशॉट:

GParted स्क्रीनशॉट

जवाबों:


49

Google पर बहुत सारे परिणाम प्रतीत होते हैं जहाँ लोगों को समान समस्याएं थीं। एक उदाहरण:

यह प्रयास करने से पहले अपने सभी महत्वपूर्ण डेटा का बैकअप लें। हमेशा यह मानें कि विभाजन का आकार बदलने पर आप अपना सारा डेटा खो सकते हैं।

डावटॉस के बिना LVM को सिकोड़ें

यह फ़ोरम थ्रेड निम्न प्रक्रिया का सुझाव देता है, इस उदाहरण में हम 10G से 9G तक एक विभाजन को सिकोड़ते हैं:

सबसे पहले, हम अनमाउंट करते हैं।

sudo umount /dev/vg_blah/lv_blah

फ़ाइल सिस्टम की जाँच करें।

sudo e2fsck -f /dev/vg_blah/lv_blah

फ़ाइल सिस्टम और तार्किक वॉल्यूम का आकार बदलें। एक कदम में ऐसा करने से गलतियों से बचा जा सकता है जो डटलॉस का कारण बनता है। (नोट lvreduce पैरामीटर 2 ^ 30 बाइट्स और 10 ^ 9 बाइट्स के रूप में -Lव्याख्या Gकरता है g।)

sudo lvreduce --resizefs -L 9G /dev/vg_blah/lv_blah

(वैकल्पिक) यदि वांछित है (यदि आपके पास अब अप्रयुक्त ड्राइव है) तो वॉल्यूम समूह से एक भौतिक ड्राइव निकालें।

sudo vgreduce vg_blah /dev/sdxy

सारा श्रेय ब्रायनमगेसी को जाता है ।

नोट: यदि आप डिस्क के अंत में एक और lv है, तो मैं vgreduceविफल हो cannot resize to xxxxx extents as later ones are allocatedजाऊंगा - मेरे पास एक स्वैप lv था, जिसे मैंने हटा दिया था। देखें कि उबंटू LVM तार्किक और भौतिक संस्करणों को कैसे सिकोड़ें? उस स्थिति पर मदद के लिए।


1
e2fsck -f /dev/vg_blah/lv_blahरिटर्न: "e2fsck: डिवाइस या संसाधन व्यस्त जबकि खोलने की कोशिश कर / dev / sda2 फ़ाइल घुड़सवार या किसी अन्य प्रोग्राम द्वारा विशेष रूप से खोला?" resize2fs ... के साथ एक ही,
Idan Yadgar

12
उत्तर गायब है कि भौतिक वॉल्यूम का आकार कैसे बदलें। इसके अलावा, मैं अत्यधिक दो आकार बदलने के चरणों को एक साथ जोड़ने की सलाह देता हूं lvreduce -r
17

4
इसके अलावा, आप को एहसास है कि जरूरत 1Gके लिए lvreduce, 1000000000 बाइट्स, जबकि resize2fsयह एक gibibyte है। यदि आप 1 gibibyte पास करना चाहते हैं lvreduce, तो 1gइसके बजाय उपयोग करें ।
17

1
आप उपयोग नहीं करते vgreduce; वह वॉल्यूम समूह से एक pv निकालने के लिए है ।
psusi

2
मुझे संदेह है कि lvreduceअंतर मोड में G = gibibyte का उपयोग करता है। यह निश्चित रूप से निरपेक्ष मोड में होता है। इसके मैन पेज खराब लिखे गए हैं और यह नहीं समझाते हैं कि इनकी इकाइयों का क्या मतलब है, जिसे मैं आपराधिक लापरवाही पर सीमा के रूप में मानता हूं।
उरहिकिदुर

45

आप GUI टूल के साथ तार्किक वॉल्यूम को बहुत आसानी से सिकोड़ / विस्तारित कर सकते हैं system-config-lvm:। क्योंकि system-config-lvmपहले से इंस्टॉल नहीं आता है, एक बार लाइव-सीडी से बूट करने के बाद, आपको इसे इंस्टॉल करना होगा:

sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
sudo apt-get update
sudo apt-get install system-config-lvm

इसे स्थापित करने के बाद, प्रोग्राम को चलाएं, बाएं पैनल में जिस लॉजिकल वॉल्यूम को बदलना चाहते हैं उसे चुनें, 'एडिट प्रॉपर्टीज' पर क्लिक करें।

मुख्य लॉजिकल वॉल्यूम प्रबंधन कार्यक्रम जीयूआई

अब आप अपनी इच्छानुसार मापदंडों में बदलाव करें!

लॉजिकल वॉल्यूम विंडो संपादित करें

इसके बारे system-config-lvmमें एक अच्छी बात यह है कि यह आपको आगे जाने की अनुमति नहीं देगा यदि नया विभाजन आकार आपके सभी मौजूदा डेटा की तुलना में छोटा है (मैंने अभी यह कोशिश की है और अपने लिए देखा है)।

संदर्भ:

  1. कैसे-कैसे गीक ट्यूटोरियल (यह छवियों का मूल है)।
  2. कार्यक्रम के लिए रेड हैट की पूरी गाइड

2
जीयूआई निश्चित रूप से जाने का रास्ता है, हालांकि आपको इसे लाइव सीडी से चलाने की आवश्यकता होगी।
माइक

10
क्यों है system-config-lvmकी तुलना में जोखिम भरी lvresizeया lvresize -r?
थूफ़ीर

1
आप भी आजमा सकते blivet-जीयूआई ( GitHub , उबंटू पीपीए ), अगली पीढ़ी विभाजन प्रबंधक कि एलवीएम ड्राइव संभालती है।
बैन

5
इस बात से सावधान रहें कि सिस्टम-कॉन्फिग-एलवीएम (गलत) 'गीगाबाइट' शब्द के प्रयोग के बावजूद, पॉवर -8000 यूनिट्स का उपयोग करता है। यह वास्तव में पसंद करना चाहिए palimpsest(उर्फ डिस्क उपयोगिता) और अस्पष्ट बाइट्स में इसका अर्थ निर्दिष्ट करें।
उरहिकिदुर

4
17.10 और 18.04 को @Suncatcher आपको Xenial रिपॉजिटरी को जोड़ना होगा। sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu xenial universe"
m93a

24

नोट : आपको लाइव सीडी का उपयोग करके लगभग सभी कमांड को चलाना चाहिए। कभी-कभी, यह आपको विभाजन को अनमाउंट करने के लिए चाहता है जो पहले से ही / (इस मामले में, आप इसे अनमाउंट नहीं कर सकते) पर मुहिम शुरू करते हैं।

ये सभी LVM या LVM2 विभाजन के आकार के लिए आवश्यक चरण हैं:

sudo lvresize --verbose --resizefs -L -150G /dev/mapper/ubuntu

sudo pvresize --setphysicalvolumesize {some-space} /dev/sda5

यदि दूसरी कमांड कुछ इस तरह का उत्पादन करती है:

/dev/sda5: cannot resize to xxxxx extents as later ones are allocated.

फिर, आपको LVM के अंत में अनलॉक्ड स्थान को पुनर्व्यवस्थित करना होगा। इसका मतलब है रूट और swap_1 विभाजन के बाद। इसलिए, प्रारंभ में, आपको नीचे दिए गए आदेश का उपयोग करके भौतिक मात्रा की जानकारी की जांच करने की आवश्यकता है:

sudo pvs -v --segments /dev/sda5

यह आउटपुट की तरह दिखाएगा:

/dev/sda5 ubuntu lvm2 a-- 698.04g 150g   0 xxx root 0 linear /dev/sda:0-rrr
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx sss 0 free                          
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g zzz ttt swap 0 linear /dev/sda5:yyy-www

Yyy-www पर ध्यान दें । बाहरी विखंडन को हटाने के लिए निम्नलिखित कमांड का उपयोग करें:

sudo pvmove --alloc anywhere /dev/sda5:yyy-www

अब, हम देखते हैं कि यह कैसे जाता है:

sudo pvs -v --segments /dev/sda5

यह आउटपुट को दिखाएगा (परिवर्तनों को नोट करें):

/dev/sda5 ubuntu lvm2 a-- 698.04g 150g   0 xxx root 0 linear /dev/sda:0-rrr
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx ttt swap 0 linear /dev/sda5:xxx-sss
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g yyy www 0 free

उसके बाद, GParted का उपयोग करें और LVM को अधिकतम उपयोग किए जाने वाले क्षेत्र का आकार दें और बाकी असंबद्ध स्थान पर होगा। का आनंद लें...


16

मैं एक और GUI उपकरण की सिफारिश करूंगा - KVPM । यह GParted और सिस्टम-कॉन्फ़िगरेशन-lvm की कार्यक्षमता को जोड़ती है। इसके अलावा, यह लाइव (घुड़सवार) विभाजन पर कुछ संचालन की अनुमति देता है जो सिस्टम-कॉन्फिग-एलवीएम अनुमति नहीं देता है , हालांकि, सिकुड़ने के लिए वॉल्यूम को अनमाउंट करना पड़ता है।

यहाँ छवि विवरण दर्ज करें यहाँ छवि विवरण दर्ज करें

यह Ubuntu 12.04 के बाद से ब्रह्मांड भंडार में है, इसलिए बस करो sudo apt-get install kvpm

नोट: इसे रूट अधिकारों से शुरू करें sudo kvpm


यह ब्रह्मांड के भंडार में नहीं है:E: Unable to locate package kvpm
जेफ पकेट


यह मेरे लिए काम करता है, जहां "सिस्टम-कॉन्फिग-एलवीएम" किसी भी कनेक्टेड डिवाइस / ड्राइव / फाइल सिस्टम को लोड नहीं करता है। अतिरिक्त बोनस को डाउनलोड करने और अतिरिक्त रिपॉजिटरी के नहीं होने और मेरे उबंटू मशीन पर प्रीकंफिग होने के साथ। इसके अलावा, Gparted पर काम किया है क्योंकि फ़ाइल सिस्टम के बारे में त्रुटियों को बहुत कम किया जा रहा है। (मैं बैकअप उद्देश्यों के लिए 32GB से 8GB तक एक रेट्रोऑरेग्पी एसडी कार्ड का आकार बदल रहा हूं)
बायोटेनेरी

अच्छा लग रहा है, सोचा कि यह सभी अन्य कश्मीर निर्भरता के लिए एक अतिरिक्त ~ 100 एम हो सकता है, अगर आप पहले से ही केडीई का उपयोग नहीं कर रहे हैं
Xen2050

12

केवल Gparted (0.14) का नवीनतम संस्करण LVM भौतिक संस्करणों के आकार का समर्थन करता है। संस्करण जो Ubuntu 12.10 या 13.04 के साथ जहाज करता है, वह इसका समर्थन नहीं करता है।

एलवीएम भौतिक आयतन का आकार बदलने का तरीका यहां दिया गया है:

  1. यदि LVM भौतिक आयतन से जुड़े वॉल्यूम समूह के पास पर्याप्त असंबद्ध स्थान नहीं है, तो आपको तार्किक आयतन को घटाकर कुछ बनाना होगा। को देखो bigbadonk420 का जवाब है कि कैसे करना है पर निर्देश के लिए। यदि आप GUI पसंद करते हैं, तो आप कुछ चरणों के लिए GNOME डिस्क (उबंटू के साथ शामिल) का भी उपयोग कर सकते हैं।

  2. जला GParted की वेबसाइट से नवीनतम .iso छवि , और एक सीडी पर इसे जला या एक यूएसबी स्टिक पर डाल दिया। सीडी या यूएसबी स्टिक से बूट करें। वैकल्पिक रूप से, आप स्रोत से GParted के नवीनतम संस्करण को संकलित कर सकते हैं।

  3. LVM भौतिक वॉल्यूम का आकार बदलने के लिए GParted का उपयोग करें। GParted आपको LVM भौतिक आयतन को एक छोटे आकार में सिकोड़ने की अनुमति नहीं देता है जो असंबद्ध स्थान की अनुमति देता है।


धन्यवाद झिलमिलाहट। मैं 12.10 की उम्मीद कर रहा था कि हाल ही में पर्याप्त रूप से gparted का संस्करण होगा। आपके उत्तर ने मुझे सही दिशा में इशारा किया।
मार्टिज़न हेमेल्स

1
मुझे नवीनतम gparted मिला है, लेकिन यह मुझे विभाजन के आकार को बदलने की अनुमति नहीं देगा ... मेरे पास टाइप 2 के / dev / sda2 हैं और उसी के तहत, प्रकार lvm2 के / dev / sda5 हैं। लेकिन gparted दोनों के लिए कहता है कि न्यूनतम और अधिकतम आकार समान हैं, और इसलिए मुझे इसे बदलने की अनुमति नहीं है ... :(
पॉल

या pvresizeLVM2 सूट का उपयोग , सही?
203967

@Paul क्या आपने इसे हल किया? मेरे पास ठीक वैसी ही समस्या है: एस
कास्टेलांचो

@ Castiblanco मैंने इसे हल नहीं किया, मैंने पूरी चीजों को मिटा दिया और LVM के बिना पुनः इंस्टॉल किया। मेरे लिए, एक सबक सीखा: मानक डेस्कटॉप प्रतिष्ठानों के लिए LVM का उपयोग न करें।
पॉल

9

मुझे यह जवाब दुर्घटना से मिला, लेकिन इसने मेरे लिए कम से कम काम किया। मेरे मामले में रूट के बाद मेरे पास पहले से ही एक आरक्षित अनलॉकेटेड डिस्क स्थान था, इसलिए मैं उस हिस्से को छोड़ देता हूं कि आपको अधिक स्थान कैसे मिलता है और बस समझाएं कि मैंने इसे बूट किए बिना रूट पर कैसे उपयोग किया।

नोट: उपयोग करने के बजाय gparted, आप संभवतः उपयोग करने से बेहतर हैं system-config-lvm। अगली बार मैं उस एक का उपयोग करूंगा ... मेरा gparted संस्करण 0.18 था।

  1. पहले मैं gpartedरूट विभाजन का विस्तार करता था जितना मैं कर सकता था। मेरे आश्चर्य के लिए इसने केवल भौतिक आकारों को बढ़ाया और तार्किक भाग को कुछ नहीं किया। तो df -kकमांड ने कहा कि डिस्क अभी भी भरी हुई थी।
  2. lvresize -l +100%FREE /dev/ubuntu-vg/rootजहाँ तक हो सके तार्किक विभाजन का विस्तार करता है। विभिन्न तरीकों से जीबी या ब्लॉक की जांच और गणना करने की आवश्यकता नहीं है।
  3. resize2fs /dev/ubuntu-vg/root तब तीसरा चरण जो मैंने किया था: यह फ़ाइल सिस्टम को तार्किक विभाजन के आकार तक विस्तारित करता है।

अंतिम चरण को दूसरे में मिलाया जा सकता है:

lvresize -l +100%FREE --resizefs /dev/ubuntu-vg/root


यह आपको एक तार्किक आयतन को सिकोड़ने देता है, लेकिन ओपी का प्रश्न एक भौतिक आयतन को कम करने के बारे में है।
स्टीफन

आपने मेरी जान बचाई
क्वांग एचए

1

के अलावा @ bigbadonk420 के जवाब , इसके बजाय निम्न कार्य की:

resize2fs -p /dev/vg_blah/lv_blah 9G
lvreduce -L -1G /dev/vg_blah/lv_blah

करना:

lvreduce -r -L 9G /dev/vg_blah/lv_blah

ध्यान दें -rजो एक साथ फाइल सिस्टम को कम करता है और सुरक्षित है।


लेकिन वह भौतिक मात्रा को कम नहीं करता है ।
स्टीफन

0

वर्तमान में सबसे अधिक वोट किए गए उत्तर के बारे में चेतावनी : LVM विकल्प (14.04 भरोसेमंद तहर) के साथ अपनी ताज़ा डिफ़ॉल्ट स्थापना को नष्ट नहीं करने के लिए , 1) पूरे पृष्ठ को पढ़ें, 2) स्वैप 3 हटाएं) और संभवतः "तार्किक का आकार कम करें" के लिए आदेश को संशोधित करें। वॉल्यूम "इस तरह:

lvreduce -L -1g /dev/vg_blah/lv_blah

मैं दृढ़ता से सलाह देता हूं system-config-lvm


फिर से, ओपी एक भौतिक मात्रा कम करना चाहता है ।
स्टीफन

0

GParted का उपयोग करने के लिए, dev / sda2 पर राइट क्लिक करें (जिसे आप सिकोड़ना चाहते हैं)। 'निष्क्रिय करें' का चयन करें। अब आप अपने lvm विभाजन का आकार बदल सकेंगे।

अपडेट: @ काओ मिन तू समाधान बहुत बेहतर है। मैं आकार बदलने के बाद GParted के साथ कुछ मुद्दे थे

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